Start Here

reUZE Server provides an execution environment for COBOL applications that you have deployed from your Micro Focus COBOL development system. Your reUZE Server might include Enterprise Server, a scalable COBOL server that provides a managed execution environment for high volume transactional COBOL applications.

To run reUZE Server, you must have one or more reUZE Server licenses. These licenses allow you to deploy and run applications that you have developed using your Micro Focus COBOL development system. For more information see Deployment Licensing.

  • New Features
  • Product Information
  • Deployment Licensing


New Features

  • New Features in ServicePack 2 - June 2011
  • New Features in ServicePack 1 WrapPack 1 - November 2010
  • New Features in ServicePack 1 - August 2010
  • New Features in 6.0 WrapPack 2 - April 2010
  • New Features in 6.0 WrapPack 1 - February 2010
  • New Features in 6.0 - July 2009
Parent topic: Start Here


New Features in ServicePack 2 - June 2011

reUZE Developer 6.0 ServicePack 2 provides the following new features and updates:

  • CICS Web Interface
  • Enterprise Server
  • Mainframe Access Client
  • HCO for SQL Server (HCOSS)
  • Update to Server Enterprise Edition for .NET
Parent topic: New Features


CICS Web Interface

This release provides support for CICS™ as an HTTP client consuming HTTP content from Web servers. This enables you to write CICS™ applications that can:

  • Use a common protocol for business-to-business communications
  • Control hardware (like printers) or software using the HTTP protocol
  • Access HTTP applications that provide items of information (like share prices) and retrieve this information for use in the application.
Parent topic: New Features in ServicePack 2 - June 2011


Enterprise Server

The following enhancements are available:

Support for EXEC CICS INQUIRE REQID
Initial support for EXEC CICS INQUIRE REQID has been added to the CICS API.
EXEC CICS INQUIRE REQID improves the control over queued requests by providing a mechanism for an application to access information about queued requests such as START TRANSID(...). The command returns the INTERVAL value, the time remaining until the request expires.
JCL Support
This release provides new VSE features that make the migration to Enterprise Server easier and quicker with fewer changes to the original host JCL. The enhancements include:
  • Internal reader support for VSE JCL
  • Support for multiple logical files within a single in-stream dataset (VSE JCL)
  • User exit for POWER statements (VSE JCL)
  • Improved JESYSMSG layout for VSE
GDG
GDG scratch processing at step end is now available. This ensures GDG change keeps you in-line with the mainframe.
Historical Statistical Facility (HSF)
The Historical Statistical Facility (HFS) provides statistical information about the execution of Enterprise Server™ transactions. It enables system administrators to identify transactions that are not performing as expected and provides a means of quantifying the time taken for execution of a given transaction such as for accounting, charging or other purposes. It is now possible to productize the HSF data and generate timing statistics for the transactions.
Feature details:
  • An HSF record is created for tasks that have run and completed under Enterprise Server. An HFS record includes the following fields:
    Type
    The type of task where:
    • 1 = CICS
    • 2 = IMS
    • 3 = JCL
    • 4 = WEB SERVICE
    • 5 = CGI
    Task
    Task number
    Time
    Time at which the task started
    Tran
    Transaction ID/Program name
    User
    The user who initiated the task
    LU
    Logical Unit/Net Name
    Prog
    Program name (if CICS/IMS transaction)
    PID
    Process ID of the SEP which ran the task
    Latent
    Latency of the task - the delay measured in centiseconds between the time at which Enterprise Server receives the request and the time when the task starts running.
    Resp
    Response time - the time that the task actually ran for. Resp is measured in centiseconds and does not include the latency.
    API
    Total time spent in CICS API (EXEC CICS statements) for this task, measured in centiseconds.
    SQL
    Total time spent in SQL API (EXEC SQL statements) for this task, measured in centiseconds.
    File(n)
    The name of the file that is accessed. Can hold information about a maximum of five files.
    • Count(n) – the number of times filen was accessed.
    • Time(n) – the amount of time spent accessing filen, measured in centiseconds.
    TS(n)
    Note: This is valid only for CICS.
    Name of Temporary Storage Queue accessed. Can hold information about a maximum of five TSQs.
    • Count(n) – the number of times TSn was accessed.
    • Time(n) – the amount of time spent accessing TSn, measured in centiseconds.
  • It is possible to save records to a .csv file.
  • A limited number of records can be held in memory and viewed in ESMAC.
Batch backout support for IMS batch applications
This release includes a batch backout utility for IMS batch applications running in Enterprise Server which ensures an increased compatibility with mainframe IMS. The utility enables you to recover database changes made by IMS batch applications (DLI and DBB) to a point before a program was initiated or to a checkpoint.
Parent topic: New Features in ServicePack 2 - June 2011
Related information
GUID-4650B063-E65B-4454-AC88-27A0AF500C36


Mainframe Access Client

Elements of the Mainframe Access (MFA) client previously only available in Mainframe Express have been included in the server product’s mainframe access functionality. The Mainframe Access client enables the migration of source projects from the mainframe to Windows systems without requiring Mainframe Express to be installed.

Note: These client elements will be removed in a later product release.

Features Include:

  • Mainframe Drag and Drop
  • MFA Synchronisation and Control Monitor (also known as "Syncmon") – synchronizes selected source components between the mainframe hosted source and the Windows client.
  • Automatic Synchronise and Compile – automatically compiles modules after source code synchronisation.
  • Remote Job (JCL) Step Execution.
  • Mainframe Call Generator – enables remote execution of mainframe code.
  • SourceConnect – allows direct access to source hosted on mainframe.
  • DataConnect – allows COBOL file access to data files hosted on mainframe.
Parent topic: New Features in ServicePack 2 - June 2011


HCO for SQL Server (HCOSS)

HCOSS now supports virtually all of the most commonly used mainframe DB2 SQL that would otherwise require code changes when migrating to SQL Server, further reducing costs and risks when migrating DB2 applications to SQL Server.

This release provides the following improvements:
  • DECLARED global temporary tables
  • DYNAMICRULES BIND option for DSN utility
  • Result Set Processing for Stored Procedure invocations
  • Plan Name support in JCL
Parent topic: New Features in ServicePack 2 - June 2011
Related information
HCO for SQL Server (HCOSS)


Update to Server Enterprise Edition for .NET

Visual COBOL 2010 Enterprise Option delivers functionality for developing and maintaining managed code CICS applications, and for running these applications.

Micro Focus Visual COBOL Enterprise Option consists of:

  • The Server EE for .NET runtime environment that you use to run managed code CICS applications.
  • The Server EE for .NET MMC snap-in that you use to configure and administer your managed code CICS environment.
  • A component that allows you to use Microsoft Visual Studio 2010 to develop and maintain managed code CICS applications.

This release provides improvements in the following areas:

User Interface
  • Copy/Paste support has been added. Users can now select multiple nodes.
  • Non-administrators are now able to run the MMC UI.
  • The ability to create, edit and delete resource definition files residing in the cross-region database is now available.
  • Resource definitions in a started region can now be dynamically updated from the MMC UI.
  • Copy/Move functionality has been enhanced within the resource definition file editor. All resource definition types are now supported, and you can use drag and drop to copy or move selected items.
  • Files can now be deployed to the cross-region and/or custom database from the MMC UI. Previously this could only be achieved with the seedeploy command-line tool.
  • Regions can now be started and stopped on a remote machine. Previously regions could only be started and stopped on the same machine that the MMC UI, or seestart command-line tool, was running on. These operations are now delegated to an event monitor running on a remote machine.
  • Region startup, using either the MMC UI or the seestart command-line tool, now allows a properties file to be specified containing property name/value pairs that are used to replace pseudo-variables specified in the "deployment" or "locations" sections of a region startup file. Previously pseudo-variables were replaced by environment variables, but as region startup is now delegated to an event monitor on a local or remote machine, the environment variables that exist in an event monitor process is undefined.
  • Event monitors registered for a given database server instance can now be viewed from the MMC UI. Event monitors registered for machines that are no longer running, or are no longer visible on the network, can optionally be de-registered.
  • The ability to create, edit and delete region startup files residing in the cross-region database has been added.
Security
  • CICS applications can now run under the identity of the signed-on user. As the OS controls access to system resources, some application actions, such as direct (COBOL or system API) file access, will be restricted by the privileges of the signed-on user. This feature has been frequently requested by native Enterprise Server customers, but is currently infeasible in that product.
  • Support for CICS applications running under the identity of the signed-on user has been enhanced to allow single-signon for regions that have been scaled out across multiple machines. The following two mechanisms are provided to support this functionality: protocol transition (PT) and credential passing (CP).
  • Protocol transition uses a feature of Windows 2003 (and later) domains to create tokens for users without having their passwords. It's the default mode for event monitors in a scale-out environment. If all of your systems are joined to a Windows 2003 domain, and the event monitor process is running under a trusted account (the default SYSTEM account for Windows services is trusted in a standard installation), you can generally use PT mode without any further configuration.
  • In other environments, you can enable CP mode. CP mode is more complex and requires event monitors to retain and transmit user passwords, which is a possible security exposure. However, it can be used in non-domain configurations and other cases where PT mode is unavailable.
CICS
  • The verbosity level of messages written to the system consoled can now be configured. This provides similar functionality to the CICS MSGLVL system initialisation parameter found on the mainframe.
  • The following system programmer APIs are now supported or have been enhanced:
    • INQUIRE PROGRAM (enhanced support)
    • INQUIRE TRANSACTION (new)
    • SET PROGRAM (enhanced support)
    • SET TRANSACTION (new)
  • Supplied transactions:
    • CINS (new) - has the same functional level as native Enterprise Server
    • CPMT has been updated to the same functional level as native Enterprise Server
  • PPT entries are now used to determine whether BMS maps are resident or non-resident. Previously all maps were considered to be resident.
Deployment
  • Application binaries can now be deployed to the cross-region database.
  • Resource definition files can now be deployed to the cross-region database.
SCOM
This release provides a management pack that enables you to discover CICS and determine their current state (for example "stopped" or "started") as well as to monitor the active SEP pools and running transactions.
PowerShell
Cmdlets are provided to allow CICS regions to be started, stopped and monitored from within PowerShell scripts.
Other Improvements
  • CICS regions can be created on case-sensitive SQL Server instances.
  • A Windows Start menu item for launching the MMC UI is now available.
  • The app.config files for the system executables (such as seelistener and seemonitor) can now reside in an %APPDATA% location. This allows these files to be edited by non-administrators or if the product has been installed in a read-only location.
  • The SQL user exit interface has been enhanced to allow a single exit to support multiple regions.
  • seeupgrade utility introduced to allow the upgrading of region startup and resource definition files to the current product release level.
  • When an IIS application pool is recycled, the hosting w3wp process is now prevented from terminating until all running CICS transactions have completed. Previously, all running transactions were aborted. Any new transaction requests entering the system during an application pool recycle are routed to a new w3wp instance started by IIS.
  • tn3270 connections can now be configured with a "heartbeat" value to ensure that the connections are kept alive when inactive.

See the Server Enterprise Edition for .NET help for more.

Parent topic: New Features in ServicePack 2 - June 2011


New Features in ServicePack 1 WrapPack 1 - November 2010

reUZE Developer 6.0 ServicePack 1 WrapPack 1 provides the following new features and updates:

  • CICS Web Interface
  • Host Compatibility Option (HCO) for Microsoft SQL Server
  • JBoss Support
  • LDAP-based Enterprise Server Security
Parent topic: New Features


CICS Web Interface

The CICS Web Interface implementation has been enhanced by an extended CICS™ support which includes DOCUMENT and EXTRACT TCPIP CICS™ APIs. The support provided by the DOCUMENT API allows for the rapid development of Web-based CICS™ applications. The support provided by the EXTRACT TCPIP API allows TCP-aware applications to identify the IP address and host name of the client whose request is being processed.

Support as well as associated resources and infrastructure is provided for the following APIs:

  • CREATE DOCTEMPLATE
  • INQUIRE DOCTEMPLATE
  • DOCUMENT DELETE
  • DISCARD DOCTEMPLATE
  • DOCUMENT INSERT
  • DOCUMENT RETRIEVE
  • DOCUMENT SET
  • EXTRACT TCPIP CICS
Parent topic: New Features in ServicePack 1 WrapPack 1 - November 2010


Host Compatibility Option (HCO) for Microsoft SQL Server

HCOSS makes it simple to migrate both COBOL code and data from mainframe DB2 to SQL Server. In addition, HCOSS offers an assessment tool which tells you precisely where the problem areas of code migration are, and how HCOSS can fix these problems for you.

This release provides the following improvements:

  • Complete support for System.Data.SqlClient, the .NET Framework Data Provider for SQL Server 2008.
  • Usability enhancements to the Assessment Tool; various Data and Code Migration Tools.
  • Support for dynamic SQL.
  • Support for additional mainframe DB2 syntax which includes:
    • XMLCAST specification
    • Case expressions
    • Date/Time directive
    • OLAP (Online Analytical Processing) specifications
  • Assessment Tool clearly identifies problematic COBOL SQL code for migration effort.
  • HCOSS now caters for over 85% of the most commonly used mainframe DB2 SQL that would otherwise require code changes when migrating to SQL Server. In this way, HCOSS dramatically drives down costs and risks when migrating DB2 applications to Windows and SQL Server.
  • Earlier time to market to ensure cost savings can be realized when expected.
Parent topic: New Features in ServicePack 1 WrapPack 1 - November 2010


JBoss Support

Support for JBoss 5 has been added.

Parent topic: New Features in ServicePack 1 WrapPack 1 - November 2010


LDAP-based Enterprise Server Security

Several new features have been added for LDAP-based Enterprise Server security:

  • Options for recording the last user signon time.
  • Configurable password history and password change rejection if the password matches one in the history.
  • Automatic lockout after a configurable number of consecutive failed signons.
  • Minimum and maximum password lengths.

See the documentation for the MLDAP ESM Module for more information. Note that existing installations will need to update their LDAP schema to take advantage of these new features.

Parent topic: New Features in ServicePack 1 WrapPack 1 - November 2010


New Features in ServicePack 1 - August 2010

reUZE Developer 6.0 ServicePack 1 provides the following new features and updates:

  • CICS Web Interface
  • Host Compatibility Option (HCO) for Microsoft SQL Server
  • Enhancements in Management Packs for System Center Operations Manager (SCOM)
Parent topic: New Features


CICS Web Interface

The CICS Web Interface (CWI) is now provided. This is a collection of CICS services that enable a CICS region to act as an HTTP server. When CICS is an HTTP server, a Web client can send an HTTP request to CICS and receive a response. The response can be a static response created by CICS from an HTML file, or an application-generated response created dynamically by a user application program.

Parent topic: New Features in ServicePack 1 - August 2010


Host Compatibility Option (HCO) for Microsoft SQL Server

HCO provides the following improvements:

  • New assessment tool that clearly identifies problematic COBOL SQL code and helps you estimate the migration effort. The tool identifies the mainframe SQL that will work or will not work with SQL Server. In addition, the tool reports the mainframe DB/2 specific SQL that HCOSS supports against SQL Server.
  • New GUI Bind Tool that provides a simple, easy-to-use interface for binding SQL Server packages and plans.
Parent topic: New Features in ServicePack 1 - August 2010


Enhancements in Management Packs for System Center Operations Manager (SCOM)

The following management packs are included to integrate with Microsoft's System Center Operations Manager (SCOM):

  • MicroFocus.Server.Core.Library.mp 6.0.2.0
  • MicroFocus.Server.EnterpriseServer.ManagementPack.mp 6.0.6.0
  • MicroFocus.Server.EnterpriseServer.MTO.ManagementPack.mp 6.0.12.0
Monitoring enhancements include:
  • Time threshold for IMS transactions - IMS transactions can now be configured with a time threshold - locally in the transaction definition or at a system level in Transaction Manager configuration dialog. Whenever a transaction exceeds it threshold, a message is logged to the console. This indicates if a transaction is performing slower than expected and helps identify potential problems quickly.

    The following messages are monitored:

    • CASKC6005I (Transaction exceeded its threshold)
    • CASIP0026I (Transaction completed but exceeded its threshold)
  • IMS time threshold monitor - the SCOM management packs include a new monitor for detecting transactions that exceed their thresholds. This indicates if a transaction is performing slower than expected and helps identify potential problems quickly. An alert is raised in SCOM.
  • CICS, JES, and IMS instance names now reflect the region name.
  • The Transactions aggregate monitor changes from 'Internal' accessibility to 'Public'. This allows for the creation of additional child monitors using custom management packs.
Parent topic: New Features in ServicePack 1 - August 2010


New Features in 6.0 WrapPack 2 - April 2010

reUZE Developer 6.0 WrapPack 2 provides the following new features:

  • Enhancements in Management Packs for System Center Operations Manager
  • GDG Limit Change
  • Host Compatibility Option (HCO) for Microsoft SQL Server
  • Spool File Format Change
Parent topic: New Features


Enhancements in Management Packs for System Center Operations Manager

The following management packs are included to integrate reUZE Server with Microsoft's System Center Operations Manager (SCOM):

  • MicroFocus.Server.Core.Library.mp 6.0.2.0
  • MicroFocus.Server.EnterpriseServer.ManagementPack.mp 6.0.5.0
  • MicroFocus.Server.EnterpriseServer.MTO.ManagementPack.mp 6.0.5.0

Monitoring enhancements include:

  • The "Transactions" monitor now targets CICS rather than MicroFocus.Server.EnterpriseServer, and includes the "Transaction ABENDs" monitor, which checks for System, Timeout, and User transaction abends.
  • You can now configure PCT entries with an expected maximum duration. When a transaction exceeds its threshold, a console message will be logged."

    The management packs include a new "Transaction Thresholds" monitor which detects transactions that have exceeded their time threshold.

  • "JES Time Threshold" is a new monitor and checks for a job exceeding its TIME threshold.
  • The "Resources" monitor now also checks for file access errors.

In addition, a new SCOM Task enables you to open a browser in the ESMAC SEP view for a selected server. The Launch MFDS task has been renamed to View Enterprise Server Administration Page.

Parent topic: New Features in 6.0 WrapPack 2 - April 2010


GDG Limit Change

reUZE Server 6.0 WrapPack 2, and subsequent software releases change the GDG-LIMIT value for Generation Datasets.

After you install the WrapPack or new software releases that include this change, the GDG-LIMIT value conversion is handled automatically. The GDG-LIMIT values are changed over time from the old pic 99 format to the new comp field, as individual catalog records are accessed and updated.

However, if you revert to a previous release, the new-format System Catalog is not readable by the old version of the product. If you revert to a previous release, you can revert the System Catalog so that the system can use it.

To revert the catalog to GDG_LIMIT 99:

  1. Backup your system catalog.
  2. Run the catalog scan utility mfcatrvt with no parameters.

    This identifies all GDGs where the LIMIT is greater than 99, or has been cycled more than 99 times.

  3. Run the catalog revert utility mfcatrvt with the command line parameter REVERT.

    This changes the comp value of the GDG-LIMIT field back to the original PIC 99 representation. Note that the process also converts values greater than 99 back to 99.

When this process completes, the System catalog is readable in older versions of reUZE Server.

Parent topic: New Features in 6.0 WrapPack 2 - April 2010


Host Compatibility Option (HCO) for Microsoft SQL Server

HCO has been updated to make it easier to migrate data from DB2 to SQL Server and provides middleware technology to minimize the changes required to COBOL application code when re-hosting the applications. HCO removes much of the risk related to migrating batch or online COBOL/DB2 applications to Windows and SQL Server. It ensures earlier time to market to ensure cost savings can be realized when expected.

The following improvements are available:

  • New GUI tools to help assess the migration effort from Mainframe DB/2 to SQL Server, and ease specific database function mappings.
  • Better error processing support so that SQL Server mimics mainframe DB/2 behavior.
  • New HCO for SQL Server Visual Studio templates to ease SQL Server compilation and execution.
  • New DATE and TIME directives to support standard mainframe DB2 date/time formats with SQL Server.
  • Additional support for BIND utility with JCL.
  • Provided additional support for Mainframe DB/2 scalar functions and label duration processing.
Parent topic: New Features in 6.0 WrapPack 2 - April 2010


Spool File Format Change

reUZE Server 6.0 WrapPack 2, and subsequent software releases change the format of the spool record held in the MVS Spool file, mvsspl01.dat.

After you install the WrapPack or new software releases that include this change, the MVS Spool file conversion is handled automatically. The spool process:

  • Checks for the presence of an existing mvsspl01.dat file.
  • If found, automatically converts this file to a new-format mvsspl02.dat.
  • Renames the old mvsspl01.dat file to mvsspl01.R1.

The mvsspl02.dat spool file is used in all subsequent processing.

However, if you revert to a previous release, the new format MVS Spool file records are not readable by an old version of the product. If you revert to a previous release, you can revert the new-format spool file to the old format.

To revert the mvsspl02.dat to mvsspl01.dat:

  1. Backup the existing mvsspl02.dat file.
  2. Set the MFSYSCAT Environment variable to the location of the System Catalog.
  3. Run the MVS Spool convert utility MFSPLRVT.

    This utility reads the records in the new format MVS Spool file mvsspl02.dat, converts then to the old format, and writes them to mvsspl01.dat. When this process completes, mvsspl02.dat is renamed to mvsspl02.r2.

When this completes, the MVS Spool file is readable in older versions of reUZE Server.

Parent topic: New Features in 6.0 WrapPack 2 - April 2010


New Features in 6.0 WrapPack 1 - February 2010

reUZE Developer 6.0 WrapPack 1 provides the following new features:

  • Deployment License Reporting Improvements
  • Enterprise Server Integration within Visual Studio
  • Enhancements in Management Packs for System Center Operations Manager (SCOM)
  • Resources
Parent topic: New Features


Deployment License Reporting Improvements

A new command has been added that details individual installed licenses.

Parent topic: New Features in 6.0 WrapPack 1 - February 2010


Enterprise Server Integration within Visual Studio

  • The context menus of your Micro Focus Servers in Server Explorer now provide commands for starting, stopping and restarting the regions.
  • You can now submit JCL files to JCL configured enterprise servers using drag and drop feature to move the JCL files from the destination location (your project in Solution Explorer, or from outside of Visual Studio - for example, from Windows Explorer) onto the JCL configured server in Server Explorer.
Parent topic: New Features in 6.0 WrapPack 1 - February 2010


Enhancements in Management Packs for System Center Operations Manager (SCOM)

The following management packs are included to integrate with Microsoft's System Center Operations Manager (SCOM):

  • MicroFocus.Server.Core.Library.mp 6.0.2.0
  • MicroFocus.Server.EnterpriseServer.ManagementPack.mp 6.0.4.0
  • MicroFocus.Server.EnterpriseServer.MTO.ManagementPack.mp 6.0.4.0
Monitoring enhancements include:
  1. The frequency of discovery is now every hour.
  2. The "Availability" monitor for XA resources has been enhanced to also detect message CASXO0023S (Severe error detected in XA interface, RM interface disabled) .
Parent topic: New Features in 6.0 WrapPack 1 - February 2010


Resources

You can now embed resources and version info in your native COBOL applications by adding existing resource script files (.rc) to your projects and building them. It is possible to edit your resource scrip files in the Visual Studio code editor.

Parent topic: New Features in 6.0 WrapPack 1 - February 2010


New Features in 6.0 - July 2009

reUZE Developer 6.0 provides the following new features:

  • Microsoft Visual Studio as the Core IDE
  • Enterprise Server Integration with Visual Studio
  • 64-bit Enterprise Server
  • CICS Capability Improvements on Windows
  • CICS ISC Using Biz Talk
  • CICS/VSAM to SQL Server Data Mapping
  • DB2 to Microsoft SQL Server Migration Tools
  • Mainframe Subsystem Support (MSS)
Parent topic: New Features


Microsoft Visual Studio as the Core IDE

In this release, Microsoft Visual Studio is now the core IDE for maintaining and developing applications that have been migrated from the mainframe and that still use CICS, JCL and IMS. You use the Microsoft Visual Studio and its integrated development environment (IDE) to develop, compile as native code, and debug your applications. You can then deploy and further debug the application under the Server Enterprise Edition run-time system.

The development features include:

  • Project templates for native COBOL applications, including Mainframe Subsystem applications, Console applications, and Windows applications
  • Editing native COBOL- with syntax colorization and background parsing
  • Debugging native COBOL - with the usual features such as stepping, breakpoints and watch windows
  • Mainframe application support - for editing, compiling and debugging CICS programs, JCL applications and IMS applications
  • Project properties for native COBOL
  • Scanning existing files when they are added to a project to scan for the dialect, EXEC CICS and EXEC SQL statements, and to set directives accordingly
Parent topic: New Features in 6.0 - July 2009


Enterprise Server Integration with Visual Studio

Support is provided for running applications under Enterprise Server. This includes:

  • Integrated Server Explorer — for browsing the available enterprise servers within Visual Studio IDE and interacting with them as needed
  • Deployment of mainframe and native code applications to an enterprise server
  • JCL submission to an enterprise server
  • Dynamic debugging of applications that are running under an enterprise server
  • Configuration of enterprise servers using the Administration Web interface
Parent topic: New Features in 6.0 - July 2009


64-bit Enterprise Server

Enterprise Server can be configured to either a 32- or 64-bit working mode and can therefore run 32- and 64-bit COBOL applications, including CICS, IMS, and JCL.

Parent topic: New Features in 6.0 - July 2009


CICS Capability Improvements on Windows

CICS API support has been enhanced to include support for channels and containers, removing limitations on parameter sizes between CICS programs.

Parent topic: New Features in 6.0 - July 2009


CICS ISC Using Biz Talk

We've integrated with Microsoft BizTalk Host Integration Server for CICS Intersystem Communications supporting interoperability between mainframe and distributed applications.

Parent topic: New Features in 6.0 - July 2009


CICS/VSAM to SQL Server Data Mapping

You can now extend an existing CICS application to use Micro Focus’s Database Connectors™ for Microsoft® SQL Server. This enables your application to store and access information in a Microsoft SQL Server relational database management system (RDBMS).

Parent topic: New Features in 6.0 - July 2009


DB2 to Microsoft SQL Server Migration Tools

We now have tools that help automate most of the tasks for migrating DB2 databases to Microsoft SQL databases, easing this process itself. These tools support the following parts of mainframe migrations:

  • Database schema objects from DB2 to SQL Server
  • Data between DB2 and SQL Server
  • Migration and deployment of mainframe COBOL applications that use Embedded SQL for DB2 to Windows and SQL Server

The tools:

  • Schema Extractor — processes DB2 schema to obtain metadata for creating Microsoft SQL Data Definition Language (DDL)
  • DDL Converter — takes metadata from the Schema Extractor to create DDL for Microsoft SQL
  • Data Transfer — transfers data from the host to the destination database, with optional host and destination data comparison
  • • Data Compare — review and verify the results of data transfers.
Parent topic: New Features in 6.0 - July 2009


Mainframe Subsystem Support (MSS)

Previous Micro Focus products referred to Mainframe Transaction Option (MTO) as a facility to enable CICS, IMS and JCL applications that have been migrated from the mainframe to be maintained, developed and deployed on Windows or UNIX platforms. This term has now been replaced by Mainframe Subsystem Support (MSS).

You might still see the term MTO referred to within some areas of the product - for example, supplied support files, pathnames and within the documentation. In these instances the terminology has remained the same.

Parent topic: New Features in 6.0 - July 2009


Product Information

This Product Information covers information available at the time of writing. Up-to-date information is downloadable from the SupportLine Web site.

  • Software Requirements
  • Installation Restrictions and Requirements
  • Updates and Product Support
  • Micro Focus End User License Agreement
  • Third Party Software
  • Known Errors and Restrictions
Parent topic: Start Here


Software Requirements

Parent topic: Product Information


Installation Restrictions and Requirements

Before starting the installation you should consider the following:

  • reUZE Developer and reUZE Server cannot co-exist on the same machine. This applies to Windows only.
  • If you are installing this as an upgrade, make sure that none of the product files are in use when you start the installation.
  • To install on Windows, you need to be logged in with a user-ID that has write access to the registry structure under HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, and HKEY_CURRENT_USER so the installation software can set the environment appropriately. You also need to be logged on with Administrator privileges.
  • Before installing reUZE Developer and reUZE Server, make sure that any existing Micro Focus Directory Server (MFDS) or CCITCP2 Windows service from an existing product is stopped and uninstalled. Do this as follows:
    1. Stop the service, using either the Windows Service Management Console GUI or from a command line prompt by typing: net stop mf_ccitcp2 Only one instance of the MFDS or CCITCP2 service can run on a Windows machine.
    2. Uninstall the MFDS or CCITCP2 service.

      For MFDS, from a command line prompt enter: mfds -u

      For CCITCP2: ccitcp2 -u

    To run an earlier version of MFDS as a service after you have installed a later version:

    1. Stop and uninstall the MFDS service, as described above.
    2. Reinstall the earlier version, as follows:
      1. Open a Net Express command prompt.
      2. Install the service. Enter the following command: mfds -i
      3. Start the service. Enter the following command: net start mf_ccitcp2
      Note: The two versions use different paths for environment and registry values, so the list of configured Enterprise Servers might be different depending on which version has been started, since, by default, different MFDS data repositories are used.

    MFDS 5.1 and later are able to import or use Enterprise Server configuration data generated by earlier versions of MFDS, but 5.0 or earlier versions of MFDS might not be able to read data generated by later versions.

    It is possible to run MFDS from a command prompt ("mfds") rather than as a service, but by default the "mfcobol" port is used (86) and this can only be used by one process at a time

Parent topic: Product Information


Updates and Product Support

When you have installed, you need to apply the latest updates if there are any. These are located on the Micro Focus Web site.

Before you can access the Product Updates page, you need to register (first-time users only) and log in with Product Support. To register:

  1. Click Register on the Product Support page.
  2. Enter your details. You will need your product serial numbers, which you can find in the subject line and body of your Electronic Product Delivery Notice email that you received from Micro Focus.

To log in:

  1. Enter your User Name and Password on the Product Support page.

    We recommend you check Auto Login so you don't have to do this every time.

  2. Click Login.

The Product Updates page is now displayed, where you can find the latest update for your product and version number.

You will then be notified on a weekly basis, when you run this COBOL development system, if an update is available. The notification will include a link to the Product Support page from where you can access the update, as described above.

Product Support is a web-based support and information service from Micro Focus. It provides all the latest information and software updates for this COBOL development system:

  • Technical support information
  • Latest product information
  • Documentation updates
  • New and updated demonstrations and templates
  • Hints and tips
  • Lots more - try it and see!

You can access Product Support by selecting Help > Welcome > Web Resources.

Parent topic: Product Information


Micro Focus End User License Agreement

IMPORTANT: LICENSOR IS PROVIDING THIS SOFTWARE FOR YOUR USE SUBJECT TO YOUR AGREEMENT TO BE BOUND BY THE TERMS AND CONDITIONS SET FORTH BELOW. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT BY CLICKING ON SETUP'S ACCEPT BUTTON, YOU WILL NOT BE ABLE TO USE THE SOFTWARE. BY CLICKING SETUP’S ACCEPT BUTTON YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, UNDERSTOOD IT, AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.

WHEREAS, Licensor desires to grant to Licensee, and Licensee desires to accept from Licensor, a license to use Licensed Software (as defined herein) upon the terms and conditions hereinafter set forth; NOW, THEREFORE, Licensor and Licensee agree as follows:

For this End User License Agreement (“License Agreement”) the following terms shall have the meanings given below:

“Blades” means multiple server modules housed in a single chassis each with its own CPU, hard disk and memory.

“Core” means a single unit of processing within a computer chip, comprising an arithmetic logic unit, registers, instruction fetcher and data fetcher/storer. “CPU” (Central Processor Unit) means a data processing unit, normally identified with a single microchip mounted on a single circuit board and can comprise several Cores. A computer “box” can contain several CPUs. The “box” is sometimes referred to as a “server” or a “machine” (or possibly a “mainframe”).

“Licensor” means the Micro Focus named legal entity authorized to license the Licensed Software in the country in which Licensee acquires the Licensed Software.

“Licensed Software” means the object code version of the Licensor computer programs, their accompanying user documentation (“Documentation”) and other supplemental materials as provided to Licensee by Licensor, including but not limited to any software security keys, modifications or additions relating thereto. The Licensed Software shall also include any new releases, updates, revisions, modifications, additions, corrections and fixes of the Licensed Software that Licensee receives under Sections 6 and 7 below or under maintenance for which Licensee has separately contracted and paid. From commencement of this License Agreement, the “Licensed Software” shall also include, and this License Agreement shall apply to, any prior versions of the Licensed Software licensed by Licensee. This License Agreement does not grant Licensee the right to any new releases, updates, revisions, modifications, additions, corrections and fixes of the Licensed Software unless provided by Licensor under Section 6 below. Licensed Software products are available to operate on the Windows, Linux, Unix or other computer platforms and a separate license is required for a Licensed Software product for each computer platform.

“Product Order” means a document that has been (i) executed by Licensee, describing each Licensed Software license purchased and (ii) accepted by Licensor or its authorized distributors. Licensor will accept the Product Order by either confirming Licensor’s acceptance in writing or by delivering the Licensed Software Licensee, whichever occurs first. Each Product Order shall constitute a separate agreement and shall incorporate therein all of the terms and conditions of this License Agreement. In the event of any conflict between the terms of this License Agreement and the terms of any Product Order which have been expressly accepted by a duly authorized signatory of Licensor in writing, such terms of the Product Order shall govern. In no event shall any terms and conditions of Licensee contained in a purchase order or similar document issued by Licensee in connection with this License Agreement or a Product Order apply and any such document issued shall be only for the administrative purposes of identifying the Licensed Software ordered, the number of licenses, and the price to be paid and shall have no other legal effect.

“Disaster Recovery System” is defined as a computer system that is used (i) if a disaster arises and the original production system is unavailable, (ii) for the purposes of disaster recovery testing and/or (iii) for system diagnostics or maintenance of the Disaster Recovery System itself. A Disaster Recovery System does not include any system that is in the same computer cluster as the machine on which the development or production copy of the Licensed Software is installed.

“Virtual Machine” means a software implementation that executes programs like a physical machine where the software running inside the virtual machine is limited to the resources and abstractions provided by the virtual machine.

  1. GRANT OF LICENSE. For payment of the applicable non-refundable license fees identified on the Product Order, Licensor grants solely to Licensee, as an end user, a personal, perpetual, non-transferable, non-sublicensable and non exclusive license to use the Licensed Software subject to the terms and conditions set forth in this License Agreement. Licensee shall have the right to use the Licensed Software solely for its own internal use and benefit. For the avoidance of doubt, the license granted herein does not permit (i) third party contractors (including without limitation outsourcers) to access or use the Licensed Software for Licensee’s internal use and benefit without the prior written consent of Licensor and the payment of an additional license fee, (ii) the public to access or use the Licensed Software (including without limitation, via the internet) except as specifically provided in Annex 1 hereunder, and/or (iii) installation, use or access of the Licensed Software on, in, or from a Virtual Machine except as specifically provided in Annex 1 or Annex 2 hereunder. Where permitted by Licensor pursuant to sections 1(i) and (ii) hereof, Licensee shall be liable to Licensor in respect of any breach of this License Agreement resulting from any access or use by third party contractors and/or the public. Access and/or use of data, results and/or output obtained and/or generated, either directly or indirectly, through the use of any Licensed Software are deemed to be access and/or use of such Licensed Software and such data, results and/or output shall be subject to the licensing terms and restrictions applicable to such Licensed Software. Different license options are available from Licensor as set forth or referred to in Annex 1 (“License Option(s)”), although not all License Options are available for each specific Licensed Software product. The applicable License Option to be purchased by Licensee for the Licensed Software shall be identified in the Product Order. Additional License Options (as appropriate) are required to be purchased by Licensee for use of the Licensed Software on a Disaster Recovery System or for load-balancing, fail-over, training, or testing purposes. Licensed Software purchased for testing purposes will be subject to the Test License Option terms and restrictions set forth in Annex 1.E. Certain Licensed Software may also be subject to additional terms and conditions as set forth in the “Specific Software Terms” located in Annex 2. The Specific Software Terms will prevail in the event of any conflict.
  2. USER RESTRICTION. Licensee agrees not to:
    1. Copy and distribute the Licensed Software, in whole or in part, for internal use without paying Licensor the applicable additional fees, except (i) for making a reasonable number of archival back-up copies; or (ii) as expressly authorized by Licensor in writing; or (iii) for making a reasonable number of copies of the Documentation supplied to Licensee by Licensor in electronic form. Licensee shall reproduce and affix all copyright and other proprietary rights notices appearing in or on the Licensed Software, including the notices of all third party suppliers and all those included in any Third Party Software, as defined below in all such copies thereof.
    2. Copy and/or distribute the Licensed Software, in whole or in part, to third parties without first entering into a separate distribution license agreement with Licensor or permit use or access to all or part of the Licensed Software to any third party except as specifically provided in Annex 1 hereunder. For the avoidance of doubt, third party(ies) include without limitation contractors, outsourcers, Licensee’s customers and the public.
    3. Transfer, ship or use the Licensed Software outside the continent in which it was originally licensed to Licensee, except as otherwise specified in Annex 1 and/or Annex 2.
    4. Install, access or use the Licensed Software on an operating system other than the operating system for which the Licensed Software was originally licensed to Licensee, except as otherwise specified in Annex 1 and/or Annex 2.
    5. Assign, sell, rent, lease, lend, sublicense, outsource or otherwise transfer the Licensed Software to any third party, or authorize or appoint any third party to do so.
    6. Use the Licensed Software for timesharing, facilities management, outsourcing, hosting, service bureau use, other data processing services to third parties or like purposes.
    7. Modify the Licensed Software or provide any person with the means to do the same.
    8. Create derivative works, translate, disassemble, recompile or reverse engineer any Licensed Software or attempt to do so (except to the extent applicable law specifically permits such activity).
    9. Alter, destroy, or otherwise remove any proprietary notices or labels on or embedded within the Licensed Software or Documentation.
    10. Utilize for itself, or permit any third party to utilize, any software application program created, in whole or in part, utilizing any Licensed Software without a valid and properly granted Deployment Product License.
    11. Use the Licensed Software in a manner other than as specifically permitted in this License Agreement.
  3. AUDITS. Licensee agrees to (i) keep records of and provide the location, model and serial number of any and all machines on which the Licensed Software is installed or from which the Licensed Software is accessed, and the names of and how many users are accessing the Licensed Software, (ii) implement a reasonable mechanism or process to ensure that Licensee’s use of the Licensed Software does not exceed the number of licenses granted, (iii) take all necessary steps to destroy or erase all Licensed Software codes, programs and other proprietary information before disposing of any media containing the Licensed Software, and (iv) promptly provide written notice to Licensor if Licensee’s usage exceeds the license granted. Upon Licensor’s reasonable request, but not more frequently than annually without reasonable cause, Licensee shall furnish Licensor with a statement signed by a director and/or auditor, as required by Licensor, verifying the above and shall permit Licensor to audit the use of the Licensed Software at such times as may be mutually agreed upon. In the event Licensee’s usage exceeds the license granted, without prejudice to any other rights or remedies Licensor may have, including without limitation injunctive relief, Licensee agrees to pay Licensor the then current license and maintenance fees for the use of the additional licenses. Further, if such usage exceeds the license granted by more than five percent (5%), Licensee shall also reimburse Licensor for the reasonable cost of such audit in addition to other amounts due.
  4. DOCUMENTATION. One (1) electronic copy of Licensor’s standard Documentation, describing Licensor’s recommended use and application of the Licensed Software, will be furnished free of additional charge to Licensee by Licensor with the Licensed Software. Printed copies of any documentation may be available for purchase from Licensor or its authorized distributors.
  5. TERM OF LICENSE. This License Agreement and Licensee’s license for the Licensed Software is perpetual, unless a subscription/term license has been purchased by Licensee, and is subject to earlier termination as provided in this Section 5. Licensor may terminate this License Agreement and Licensee’s license to the Licensed Software immediately by giving Licensee written notice of termination in the event that either (i) Licensee breaches any term or condition of this License Agreement and Licensee has failed to remedy such breach within ten (10) days of the date of notice from Licensor to Licensee or (ii) Licensee is wound up, has a receiver appointed or enters into liquidation or bankruptcy or analogous process or processes in Licensee’s home country. Termination shall be without prejudice to any other rights or remedies Licensor may have. Licensee may at any time terminate this License Agreement voluntarily by giving written notice of termination to Licensor. In the event of any termination Licensee will have no right to keep or use the Licensed Software or any copy of the Licensed Software for any purpose and Licensee shall destroy and erase all copies of such Licensed Software in its possession or control, and forward written certification to Licensor that all such copies of Licensed Software have been destroyed or erased.
  6. MAINTENANCE. Where Licensee purchases maintenance services, Licensee’s initial maintenance term will begin upon delivery to Licensee of the Licensed Software and continue for one (1) year thereafter unless otherwise specified in the applicable annual maintenance agreement or in the Product Order, or earlier if the license is terminated. Where Licensee purchases maintenance for any Licensed Software product licensed hereunder, Licensee hereby agrees that it shall purchase such support services for all of Licensee’s licensed copies of such Licensed Software product on the relevant computer platform. Maintenance services provided by Licensor will be subject to Licensor’s then current applicable annual maintenance agreement unless otherwise agreed by the parties in writing.
  7. LIMITED WARRANTY. Licensor warrants for a period of ninety (90) days from delivery to Licensee (“Warranty Period”) (i) that the media on which the Licensed Software is supplied is free from defects in materials or workmanship under normal use and (ii) that the copy of the Licensed Software delivered to Licensee conforms in all material respects to the Documentation. As the sole and exclusive remedy for not meeting part (i) of the above warranty, Licensor’s sole obligation shall be to repair or replace free of charge any defective media on which the Licensed Software is delivered if the media is returned to Licensor by Licensee during the Warranty Period. As the sole and exclusive remedy for not meeting part (ii) of the above warranty, Licensor shall repair or replace the Licensed Software free of charge or if Licensor reasonably determines that such remedy is not economically or technically feasible, Licensee shall be entitled to a full refund of the license fee and any maintenance fee paid by Licensee with respect to that particular Licensed Software and Licensee’s license to use such Licensed Software will terminate. The warranty set forth in this Section 7 shall not apply if the defect in the Licensed Software is the result of: (a) the Licensed Software not being used in accordance with the Documentation, this License Agreement or with the platform(s) for which the Licensed Software has been designed and licensed by Licensor; or (b) the Licensed Software having been altered, modified or converted by Licensee or any third party except as may be specified in the Documentation; or (c) the malfunctioning of Licensee’s equipment; or (d) accident or abuse; or (e) service by any unauthorized person; or (f) other software used by Licensee which has not been provided by Licensor or for which the Licensed Software is not designed and licensed for operation; or (g) Third Party Software, as defined below; or (h) any other cause occurring after initial delivery of the media to Licensee unless caused directly by Licensor. The foregoing states the complete and entire remedies that Licensee has under this warranty. Licensor shall have no responsibility for any warranty claims made outside of the Warranty Period.
  8. DISCLAIMER OF WARRANTY. The Licensed Software cannot be tested in every possible operating environment, therefore Licensor does not warrant that the functions contained in the Licensed Software will meet Licensee’s requirements, that operation of the Licensed Software will be uninterrupted, or that the Licensed Software is error free. EXCEPT AS SET FORTH HEREIN AND TO THE EXTENT PERMITTED BY LAW, ALL OTHER WARRANTIES, EXPRESSED OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, QUALITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXCLUDED ON THE PART OF LICENSOR AND ITS THIRD-PARTY SUPPLIERS. Licensee acknowledges that Licensee is responsible for the selection of the Licensed Software to achieve Licensee’s intended results and for the installation of, use of and results obtained from the Licensed Software.
  9. LIMITATION OF LIABILITY. ANY LIABILITY OF LICENSOR SHALL BE LIMITED IN THE AGGREGATE TO THE AMOUNTS PAID BY LICENSEE FOR THE LICENSED SOFTWARE. THIS LIMITATION APPLIES TO ALL CAUSES OF ACTION, INCLUDING WITHOUT LIMITATION BREACH OF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS. THE LIMITATIONS OF LIABILITY DESCRIBED IN THIS SECTION 9 ALSO APPLY TO LICENSOR’S THIRD-PARTY SUPPLIERS. LICENSOR’S AND ITS THIRD-PARTY SUPPLIERS’ LIMITATIONS OF LIABILITY ARE NOT CUMULATIVE. Licensee’s remedies in this License Agreement are Licensee’s exclusive remedies.

    NEITHER LICENSOR NOR ANY OF ITS THIRD-PARTY SUPPLIERS SHALL BE LIABLE FOR ANY INJURY, LOSS OR DAMAGE, WHETHER INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL NOR FOR ANY LOST PROFITS, CONTRACTS, LOSS OF DATA OR PROGRAMS, OR THE COST OF RECOVERING SUCH DATA OR PROGRAMS, EVEN IF INFORMED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE.

    NEITHER THIS LICENSE AGREEMENT NOR ANYTHING IN THIS SECTION 9 SHALL PURPORT TO EXCLUDE OR RESTRICT THE LIABILITY OF LICENSOR OR ITS THIRD-PARTY SUPPLIERS TO ANY EXTENT NOT PERMITTED BY LAW.

  10. HIGH-RISK USES. The Licensed Software is not fault tolerant, nor designed, manufactured or intended for use in hazardous environments requiring fail-safe performance (including, without limitation, the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems) in which failure of the Licensed Software could lead directly or indirectly to death, personal injury or severe physical or environmental damage. Licensor and its suppliers specifically disclaim any express or implied warranty of fitness for a particular purpose and shall have no liability for any use of the Licensed Software in any high-risk situations.
  11. OWNERSHIP. Licensor (or its affiliates) and where applicable Licensor’s third party suppliers have and will retain all ownership rights to the Licensed Software, together with any complete or partial copies thereof. Such ownership rights include without limitation all patent rights, copyrights, trademarks, trade secrets, service marks, related goodwill, and confidential and proprietary information relating thereto. This License Agreement does not convey any proprietary interest to Licensee with respect to the Licensed Software other than the license specified herein. Where the Licensed Software provided under this License Agreement contains or is derived from portions of materials provided by a third-party supplier under license to Licensor, Licensor has assumed responsibility for the selection of such materials and their use in producing the Licensed Software and any such third-party suppliers are intended beneficiaries of this License Agreement.
  12. NOTICE TO U.S. GOVERNMENT END USERS. The Licensed Software is provided to the United States Government with RESTRICTED RIGHTS and its supporting documentation is provided with LIMITED RIGHTS. Use, duplication, or disclosure by the United States Government is subject to the restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or the successor as appropriate. Manufacturer is Micro Focus (US), Inc., 9420 Key West Drive, Rockville, MD 20850 as or on behalf of Licensor.
  13. LICENSE FEES, PAYMENT, AND TERMS. Licensee agrees to pay the applicable end user license fees for the Licensed Software within thirty (30) days of the date of invoice or such earlier date as is specified in the Product Order. End user license fees are non-refundable except as provided in Section 7 above, or in the Specific Software Terms below, and shall be paid without deduction, including without limitation, of any withholding tax. End user license fees are exclusive of any applicable transportation charges, value added and other applicable taxes and duties and all such amounts shall be paid or reimbursed by Licensee. Late payments shall accrue interest at the rate of 1.5% per month compounded or, if lower, the maximum rate allowed by law.
  14. RELATED SERVICES. Licensee shall be responsible for obtaining and installing all proper hardware and support software (including operating systems) and for proper installation and implementation of and training concerning the Licensed Software. In the event that Licensee retains Licensor to perform any services with respect to the Licensed Software (for example: installation, implementation, maintenance, consulting and/or training services), Licensee and Licensor agree that such services shall be subject to Licensor’s then current standard terms, conditions and rates for such services unless otherwise agreed in writing by Licensor.
  15. THIRD PARTY SOFTWARE AND COMPONENTS. The Licensed Software may contain certain named third party software programs that Licensee shall license directly from the third party subject to such third party’s terms and conditions (for example Adobe Acrobat or Microsoft Internet Explorer) (“Third Party Software”). All Third Party Software is provided by the licensor of the Third Party Software and solely under such third party’s terms and conditions and not by Licensor. Therefore the obligations, duties and rights of Licensor and Licensee under this License Agreement do not apply to such Third Party Software. Additionally, Licensor has embedded certain run time or other elements provided by third party suppliers to Licensor (“Third Party Components”). Such Third Party Components may also be loaded on the Licensed Software media. Third Party Components are licensed to Licensee pursuant to this License Agreement. Licensee may only access Third Party Components of the Licensed Software in the course of using the Licensed Software. Licensee may not make or attempt any direct access to any such Third Party Components other than with the Licensed Software. The Third-Party Software is the property of its respective third party supplier to Licensor. Such third party suppliers own all copies of the Third-Party Software, however made. Licensee agrees not to contest the ownership of the Third Party Components nor use any trademark or service mark belonging to such third party suppliers. All limitations, restrictions and obligations applicable to the Licensed Software set forth in this License Agreement shall apply to Licensee’s use of the Third Party Components. Licensee agrees that such third party suppliers are intended third party beneficiaries of all terms and conditions of this License Agreement intended to protect intellectual property rights in the Licensed Software (including the Third Party Components) and limit certain uses thereof.
  16. PRIVACY. The Licensed Software may contain features which may allow Licensee to collect data from, control and/or monitor computers running the Licensed Software deployed by Licensee without notice to or knowledge by users of the Licensed Software. Licensee is solely responsible for, and assumes all liability with respect to, the collection of data with respect to its users of the Licensed Software including, without limitation, notifying such users and complying with all data collection, privacy and other regulations, laws, industry standards and rights of others applicable to any such activity. Licensee shall indemnify and hold Licensor harmless from and against any damages, claims, losses, settlements, attorneys' fees, legal fees and court costs and other expenses related to any such activities or any claims in connection therewith. To the extent permitted by law, by entering into this License Agreement, Licensee hereby expressly consents to (i) Licensor sending information to Licensee from time to time advertising the various products that Licensor provides, whether or not such products are provided under this License Agreement; (ii) the use of Licensee’s name in Licensor customer lists, promotional materials and/or press releases; and (iii) the collection and use by Licensor of information about the computer system on which the Licensed Software is installed (e.g. product version, serial number) for internal security and licensing purposes; Licensor does not use this information to identify individuals utilizing such software.
  17. MISCELLANEOUS. Licensor may assign this License Agreement to any member of Licensor’s group of companies or to a purchaser of the intellectual property rights in the Licensed Software, but otherwise neither this License Agreement nor any rights hereunder may be assigned (any change of control merger, sale or other transfer of all, or substantially all, of the assets of Licensee shall be included in the meaning of an assignment) nor duties delegated by either party, and any attempt to do so will be void. If Licensee acquires the Licensed Software in North America, the laws of the state of Maryland govern this License Agreement and it shall be subject to the exclusive jurisdiction of the courts of the State of Maryland. If Licensee acquires the Licensed Software in France, Germany or Japan, this License Agreement is governed by the laws of the country in which Licensee acquired the Licensed Software. In the rest of the world the laws of England govern this License Agreement. The aforesaid applicable law shall apply without regard to conflicts of laws provisions thereof, and without regard to the United Nations Convention on the International Sale of Goods. Other than for North American transactions, this License Agreement shall be subject to the exclusive jurisdiction of the courts of the country determining the applicable law as aforesaid. This License Agreement is in addition expressly made subject to any United States, United Kingdom or European Union laws, regulations and other restrictions regarding export or re-export of computer software and technology. Licensee agrees not to export or re-export any Licensed Software or derivative thereof in contradiction to any such applicable restriction. Except for the Product Order, this License Agreement is the complete and exclusive statement of agreement between the parties relating to the license for the Licensed Software and supersedes all proposals, communications, purchase orders, and prior agreements, verbal or written, including without limitation prior end user license agreements in relation to the Licensed Software between the parties and end user license agreements embedded in such Licensed Software. Upon Licensee’s properly authorized installation of any update and/or upgrade of any Licensed Software licensed hereunder, the license granted to such prior version and/or release shall terminate after a ninety (90) day transition period from such installation and only the license to such updated and/or upgraded Licensed Software shall continue. No employee, agent, or representative of Licensor has the authority to bind Licensor to any oral representation or warranty concerning the Licensed Software. No representation or statement not expressly contained in this License Agreement nor any supplement, modification, or amendment of this License Agreement will be binding on either party unless executed in writing by a duly authorized representative of each party to this License Agreement.

ANNEX 1

A. LICENSE OPTIONS FOR THE FOLLOWING SOFTWARE PRODUCTS:

All Micro Focus Application Development and Application Deployment products, including Net Express®, Net Express® with .NET, Net Express® for Eclipse, Server Express™, Server Express™ for Eclipse, Micro Focus Studio™ Enterprise Edition, Micro Focus Studio™ for COBOL Developers, Micro Focus Studio™ for ISVs, SOA Express, Micro Focus Server™ Enterprise Edition, Micro Focus Server ™ for COBOL, Micro Focus Server™ for .NET, Micro Focus Server ™ for SOA, Extend®, Relativity®, RM/COBOL®, Open PL/I, Open PL/I SQL, Open PL/I Run Time, ReUzeDeveloper, ReUze Server, XDBC, Database Connectors and Xcentrisity® including portions thereof, other products within the same product families and other Software Products where indicated by Licensor.

  1. Development License Options
    1. Named User License. Licensed Software provided under this License Option gives Licensee the right to install the Licensed Software on either (i) a single machine which may be accessed by the named end users for those licenses or (ii) on a single host machine or server (“Host Server”) which may be accessed by any of the named end users licensed. A Named User License means that only one named person can use each license and that named person has the right to unlimited access to the Licensed Software. A Named User License is not based on concurrent users, but instead on an actual named user basis. Licensor reserves the right at any time to require Licensee to provide a list of the named end users. Licensee may change a named end user provided that the change is made either permanently away from the named end user or temporarily to accommodate the use of the Licensed Software by a temporary worker while the named end user is absent, but in no event more than once every 30 days.
    2. Lines of Code License. Licensed Software provided under the Lines of Code license option requires, as a condition of use, that Licensee use a usage counter containing a credit for the number of lines of code that Licensee has purchased (“Usage Counter”). Licensee shall have sole responsibility for installing, configuring, and administering the Usage Counter. The Usage Counter will allow Licensee to create metering control files in order to track the number of lines of code which Licensee has purchased and which Licensee accesses. Licensee hereby acknowledges and agrees that unless Licensee can demonstrate to Licensor’s satisfaction that the Usage Counter was faulty on delivery to Licensee, Licensee is solely responsible for any lost, damaged, corrupted, destroyed, inaccurate or improperly used metering control files or metering transaction files, and in any such circumstance, may be required to pay an additional license fee on a line of code basis for lines of code which may have been already accessed and recorded using the Usage Counter. Each line of code which Licensee has accessed using the Licensed Software and which has been properly recorded using the Usage Counter may be re-accessed without the need to pay an additional license fee. However, if Licensee creates an additional line of code by updating a line of code source member which has already been accessed and metered by the Licensed Software, then Licensee will need to pay an additional license fee to access such additional line of code using the Licensed Software. Upon exhaustion of prepaid license fees, however, Licensee must purchase more lines of code in order to continue to use the Licensed Software on lines of code not yet accessed by the Licensed Software and properly recorded using the Usage Counter. Any prepaid license fees are non-cancellable and non-refundable.
  2. Deployment License Options
    1. User License for Authorized Users. Licensed Software provided under this License Option gives Licensee the right to install the Licensed Software on unlimited Host Servers for use by the total number of named individuals for whom Licensee has paid the applicable license fee. The Licensed Software may not be used or accessed by (a) individuals who are not named individuals; or (b) any other software or hardware device that does not require a named individual to use or access it. A named individual means an individual identified by Licensee by name who is authorized to use any device or other software program that may access the Licensed Software, either directly or indirectly through any other software program, regardless of how such access occurs or if such individual uses any hardware or software that reduces the apparent number of users who are using the Licensed Software, such as by using a terminal service. The Licensed Software may not be used or accessed by any other software or hardware device that does not require an individual to use or access it including, without limitation, batch processing (as defined in subsection (b)(ii) below). Licensor reserves the right at any time to require Licensee to provide a list of the named individual(s). Licensee may change a named individual provided that the change is made either permanently away from the named individual or temporarily to accommodate the use of the Licensed Software by a temporary worker while the named individual is absent, but in no event more than once every 30 days.
    2. Server License. There are two options for server-based licenses.
      1. Server License for Concurrent Users. Licensed Software provided under this License Option gives Licensee the right to install the Licensed Software on the designated Host Server specified in the Product Order for use by the maximum number of Concurrent Users for whom Licensee has paid the applicable license fee. Concurrent Users are individuals who are actively using any device or other software program that may access the Licensed Software either directly, or indirectly through any other software program, regardless of how such access occurs or if such user uses any hardware or software that reduces the apparent number of users who are using the Licensed Software, such as by using a terminal service. The Licensed Software may not be used or accessed by any other software or hardware device that does not require an individual to use or access it including, without limitation, batch processing (as defined in subsection (b)(ii) below). Licensee may change the designated Host Server to an equivalent Host Server for which Licensee has paid the applicable license fee. Licensee may only use the Licensed Software on or access the Licensed Software from one Host Server at any one time. Subject to the prior written consent of Licensor and to payment of additional license fees, Licensee may permit the public and/or Licensee’ customers to access and use the Licensed Software via the internet and/or Licensee’ terminals in connection with Licensee’ internal business purposes (for example to access internet banking from Licensee) but not for the public’ and/or Licensee’ customers’ own internal use.
      2. Server License for CPUs. Licensed Software provided under this License Option gives Licensee the right to install the Licensed Software on the designated Host Server specified in the Product Order and have the Licensed Software executed by up to the total number of Cores and other processing devices within such Host Server. The Host Server comprises the entire computer system (i.e. combined hardware) that will be running the Licensed Software (e.g. all CPUs, Cores, Blades and other processing devices running an operating system compatible with that which the Licensed Software is designed for and which are contained in, and/or can be accessed by, the same computer system, even if one or more of such CPUs, Cores, Blades or other processing devices are not accessing or running the Licensed Software). Each Core or other processing device on a multi-core or multi-processing device requires its own CPU license. For example a dual core single CPU Host Server will require a 2 CPU license (in the absence of any Blades or other processing devices). The Licensed Software is for use by an unlimited number of Licensee’s internal users, other software devices and hardware devices. A Server License for CPU is the only license authorized for use or access by Licensee for any batch processing. Batch processing is defined as the execution of one or more task, transaction or program by a computer system without the interaction of the end user with the Licensed Software while such tasks, transactions or programs are being executed by the system. Batch processing includes situations where a queue of jobs is processed as resources become available and is in contrast to transaction or interactive processing. Licensor reserves the right at any time to require Licensee to provide a specification of the Host Server. Licensee may change the designated Host Server provided that the total number of CPU and Core licenses required in the new Host Server does not exceed the total number of CPU and Core licenses designated in the Product Order. Licensee may only use or access the Licensed Software from one Host Server at any one time. Licensee is required to purchase a license for each Host Server that accesses or uses the Licensed Software either directly or indirectly through any other software program, regardless of how such access occurs, or if the Host Server, CPU or operator uses any hardware or software that reduces the apparent number of CPU, Cores, blades or other processing devices that are using the Licensed Software, such as by using a terminal service. Subject to the prior written consent of Licensor and to payment of additional license fees, Licensee may permit the public and/or Licensee’ customers to access and use the Licensed Software via the internet and/or Licensee’ terminals in connection with Licensee’ internal business purposes (for example to access internet banking from Licensee) but not for the public’ and/or Licensee’ customers’ own internal use.
  3. reUZE Mainframe Migration Licensing. Micro Focus reUZE software products may be licensed for installation and use solely with computer environments which meet the following criteria, provided Licensee complies with the restrictions set forth in this Subsection 3 in addition to those contained in the License Agreement. The licensing model in this Subsection 3 is only applicable to the reUZE software products and is not available for licensees who exceed one or more of the following limitations: (i) Mainframe Size Limitation: The Micro Focus reUZE software is expressly limited for use where Licensee’s entire mainframe estate (the “Licensee Mainframe System”) does not exceed a collective performance speed of 50 MIPS (million instructions per second). The Licensee Mainframe System shall include all mainframe systems owned, leased and/or operated (either by Licensee or a third party) by, or for the benefit of, Licensee (including but not limited to the system environment which the applicable application is being migrated from). The collective performance speed benchmark test shall be a collective measurement of the total possible performance of all such mainframe system(s). In the event that the Licensee Mainframe System exceeds a collective performance speed greater than 50 MIPS, Licensee shall not be permitted to utilize the reUZE software product and must contact Licensor for proper licensing of its computer system(s); (ii) CPU and Core Requirements: Notwithstanding Subsection 2(b)(ii) of this Annex 1A, a Deployment Product License option for a Server license for CPU shall be limited by the number of CPUs instead of the combination of Cores, Blades, CPUs and other processing devices; and (iii) Application Limitation: The reUZE software is expressly limited for use by Licensee solely with a specific application(s). Such application(s) shall be designated in writing in the Product Order.

B. LICENSE OPTIONS FOR THE FOLLOWING SOFTWARE PRODUCTS:

OnWeb™, RUMBA™, ViewNow™, Modernization Workbench™, Analyzer Express™, Analyzer Architect ™, Business Rule Manager ™, Enterprise View Express ™, Data Express™, Mainframe Express Enterprise Edition Data Express™, Modernisation Workbench Data Express®, OPTIMAL TRACE®, QACENTER®, QADIRECTOR®, QALOAD®, QARUN®, RECONCILE®, TESTPARTNER®, TRACKRECORD®, CARS®, TEST FACTORY™, DEVPARTNER® including portions thereof, other products within the same product families and other Software Products where indicated by Licensor.

  1. Workstation License Licensed Software provided under this License Option gives Licensee the right to install and use one copy of the Licensed Software on one stand-alone workstation. Licensee may not (i) install the Licensed Software on any networked workstation (e.g., a server) that allows more than one user to use a copy of the Licensed Software, or (ii) use the Licensed Software other than on one stand-alone workstation at a time. Licensee may transfer the Licensed Software to another stand-alone workstation and reactivate it for use on such other stand-alone workstation provided that the Licensed Software is removed and all copies of it are deleted from the stand-alone workstation from which it is transferred. Such transfers may not be undertaken more often than once every 30 days.
  2. Named User License Licensed Software provided under this License Option gives Licensee the right to install the Licensed Software on either (i) a single machine which may be accessed by the named end users for those licenses or (ii) on one or more host machines or servers which may be accessed by any of the named end users licensed. A Named User License means that only one named person can use each license and that named person has the right to unlimited access to the Licensed Software. A Named User License is not based on concurrent users, but instead on an actual named user basis. Licensor reserves the right at any time to require Licensee to provide a list of the named end users. Licensee may change a named end user provided that the change is made either permanently away from the named end user or temporarily to accommodate the use of the Licensed Software by a temporary worker while the named end user is absent, but in no event more than once every 30 days.
  3. Volume of Data Licensed Software provided under this option gives Licensee the right to utilize the Licensed Software with the volume of data (the number of terabytes) identified in the Product Order for each of the applicable modules or extensions licensed with the Licensed Software. Volume of data is measured as the original volume of Licensee’ production data to be processed utilizing the Licensed Software before any data reduction process by the Licensed Software or otherwise has been applied. The same data source (defined as a database table or a file) and data may be processed multiple times without counting it more than once towards the total volume of data processed by the Licensed Software, however any additional data and/or data sources (that is, new or increased amounts to the original data source) are counted cumulatively towards such total volume of data number.
  4. Concurrent User License Licensed Software provided under this License Option gives Licensee the right to install and use one copy of the Licensed Software on the designated Host Server (as defined above) specified in the Product Order for use by the maximum number of Concurrent Users (defined above) for whom Licensee has paid the applicable license fee. Licensee may connect any number of workstations to the Host Server; however, the total number of users who may access and use the Licensed Software at any given time is limited by the number of Concurrent Users expressly authorized by Licensor in the Product Order. The total number of Concurrent Users is one (1), unless Licensor expressly authorized Licensee to connect more than one Concurrent User.
  5. Concurrent Users with Load Sharing Configuration Licensed Software provided under this License Option gives Licensee the right to install and use one copy of the Licensed Software on each server supported by a single load sharing device. Licensee may connect any number of workstations to the load sharing device and its connected servers; however, the total number of users who may access and use the Licensed Software at any given time is limited by the number of Concurrent Users expressly authorized by Licensor in the Product Order. The total number of Concurrent Users is one (1), unless Licensor expressly authorized Licensee to connect more than one Concurrent User.
  6. Server Based Thin Client License Licensed Software provided under this License Option gives Licensee the right to install and use one copy of the server portion of the Licensed Software on one server. If installation of the server portion of the Licensed Software requires a thin client component to be installed, Licensee may install and use one copy of the thin client portion of the Licensed Software on one workstation per each thin client license that is specified in the Product Order and for which Licensee has paid the applicable license fee.
  7. Processor Capacity License Licensed Software provided under this License Option gives Licensee the right to install the Licensed Software on up to the total number of Cores and other processing devices within each CPU on the designated Host Server specified in the Product Order. Licensee may install an unlimited number of copies of the Licensed Software on single-user computers to allow communication with the designated single Host Server. Licensee may not reinstall or operate the Licensed Software on multiple host processors without Licensor’s prior written consent and payment of all applicable fees.

C. LICENSE OPTIONS FOR THE FOLLOWING SOFTWARE PRODUCTS:

CaliberRM™, TeamDefine™, Together®, StarTeam®, Tempo™, TeamDemand®, TeamFocus™, TeamAnalytics®, TeamInspector™, SilkCentral®, Test Manager™, SilkTest®, Silk4J™, SilkPerformer® including portions thereof, other products within the same product families and other Software Products where indicated by Licensor.

Regardless of the type of license, each copy of the Licensed Software contains (i) software that provides services on a computer called a server (“Server Software”) and (ii) software that allows a computer or workstation to access or utilize the services provided by the Server Software (“Client Software”). For any type of license acquired, Licensee may install one copy of the Server Software on a single computer (the computer running the Server Software shall be referred to as the “Server”). The number of Client Software copies that may be installed is determined by the type of license acquired as set forth below.

  1. Named User A Named User license means Licensee may allow only one (1) designated person in Licensee’s organization (“Named User”) to use the Licensed Software per Named User license purchased (each, a “Named User License”). The foregoing Named User Licenses shall be for access and use, only by the equivalent number of Named Users licenses purchased. For each Named User, Licensee may install the Client Software on up to five (5) computers provided that the Named User is the only individual permitted to use the Licensed Software.
  2. Concurrent User A Concurrent User License means Licensee may install the Client Software on a reasonable number of computers or machines, provided that the Licensed Software is used only by as many concurrent users at any given moment in time as Licensee has purchased concurrent licenses and provided further that Licensee’s use of the Licensed Software (both Client Software and Server Software) is only on computers or machines located in the Territory and accessed only by users physically located in the Territory. The foregoing license shall be for access and use, only by the equivalent number of concurrent users for whom Licensee has paid the applicable license fees. As used in this Section, use or in use means that the Licensed Software is "in use" on a computer or machine when it is loaded into random access memory (RAM) of that computer and “access” means the ability to use, copy or operate the Licensed Software . The Licensed Software may not be shared or used concurrently on computers or machines located outside of the Territory or in such a way to enable use or access by users located outside the Territory. ‘Territory’ means the geographical area in which the Licensed Software may be used. The use in the Territory shall be subject to applicable export restrictions. Territory may be any one, and only one, of the following three geographic areas: Americas Territory, EMEA Territory or AsiaPac Territory each as defined below. The Territory shall be based on the primary business location of the Licensor, unless otherwise specified in a Product Order. The geographic Territories are: (i) ‘Americas Territory’ including and limited to those geographical areas found within the boundaries of North and South America. (ii) ‘Europe, Middle East and Africa Territory’ or ‘EMEA Territory’ including and limited to those geographical areas found within the boundaries of Europe, Middle East and Africa, including all the countries which are part of the European Union, Switzerland, Norway, Jersey, Guernsey, Isle of Man, Iceland, Monaco, Andorra, Liechtenstein, San Marino, Albania, all the countries of the former Yugoslavia, Israel, Turkey, countries of the Arab Middle East, all the countries of the former Soviet Union, Africa, Madagascar, and the Islands of the South Indian Ocean. (iii) ‘Asia Pacific Territory’ or ‘AsiaPac Territory’ including and limited to those geographical areas found within the boundaries of Asia and Australia/Pacific including South Korea, Japan, China, Taiwan, Hong Kong, and Macau India, Maldives, Pakistan, Myanmar, Nepal, Bhutan, Bangladesh, Thailand, Laos, Cambodia, Vietnam, Singapore, Malaysia, Indonesia, East Timor, the Philippines, Brunei, Papua New Guinea, the Pacific Ocean Islands, Australia, and New Zealand.
  3. Virtual User (SilkPerformer only) A "Virtual User" represents a simulation of a particular individual user executing a transaction or sequence of operations. Virtual Users are further qualified by class, and may be licensed on either a Node-Locked or Concurrent User basis. If a Virtual User is licensed on a Node-Locked basis (as provided below) (“Node-Locked Virtual User License”), that Virtual User may be associated with a Multi-Machine Controller (“MMC”) component of the Licensed Software only on the particular system for which the Virtual User is licensed. If a Virtual User is licensed on a Concurrent User basis (as provided below) (“Concurrent Virtual User License”), then that Virtual User may be associated with any licensed instantiation of a MMC at any one time, but during the operation of that instantiation, may not be associated with any other instantiation of a MMC at the same time. By way of example; if 50 Virtual Users are licensed on a Concurrent User basis, Licensee may simultaneously associate all 50 with one MMC instantiation; or simultaneously may associate 20 with one MMC instantiation and 30 with a second MMC instantiation; but could not, for example, simultaneously associate 30 with each of the two MMC instantiations. A "Web Virtual User" is a Virtual User limited to performing actions in basic web-based applications making use of the common web protocols set forth in the accompanying release notes. A "Standard Virtual User" is a Virtual User that has all of the rights of a Web Virtual User, and that may additionally make use of certain client-server, database and other protocols as set forth in the accompanying release notes. A "Premium Virtual User" is a Virtual User that has all of the rights of a Standard Virtual User, and that may additionally make use of certain protocols for packaged third-party applications and complex enterprise technologies as set forth in the accompanying release notes. Node-Locked Virtual User Licenses and Concurrent Virtual User Licenses are available for the MMC or Service Analysis Module (“SAM”) component of the Licensed Software. A Node Locked Virtual User License means Licensee may use the Licensed Software in object code form on a production basis on one (1) computer and to permit the Licensed Software to be used and accessed at any one time by no more than the number of users indicated in the applicable Product Order (each a "Node Locked User"). If no number is indicated, the number shall be 1. A Concurrent Virtual User License means the same as the Concurrent User license option above.

Notes (i) Multiplexing software: The use of one or more external tools, including multiplexors or replicators, to reduce the number of users directly connected to the Licensed Software shall not exempt Licensee from acquiring licenses for all users. For example, use of multiplexing or connection pooling software or hardware to reduce the number of users directly connected to the Licensed Software, the number of Named Users or Concurrent Users within Licensee’s organization using the Licensed Software shall be measured as the number of distinct inputs to the multiplexing or connection pooling front end and Licensee shall purchase the equivalent number of Named User or Concurrent User Licenses. If Licensee uses replicator software, Licensee may not use the Licensed Software or share licenses in any way not explicitly provided for in this License Agreement. (ii) APIs: Any user of any third party application that calls any Licensed Software application programming interfaces (“Product APIs”) must have a valid license to connect to the Licensed Software. Licensee shall not, and shall not allow others, to reverse engineer, decompile, or disassemble the Product APIs. Commercial distribution of any products that include Product APIs requires a separate distribution license and such license is not granted by this License Agreement. (iii) TeamInspector: TeamInspector is licensed on a Named User basis only. (iv) Connectors: A license purchased for this Licensed Software allows use of such software in any quantity solely in conjunction with TeamAnalytics that is licensed and ordered separately.

D. LICENSE OPTIONS FOR THE FOLLOWING SOFTWARE PRODUCTS:

All Application Middleware products including AppServer™ and VisiBroker® including portions thereof, other products within the same product families and other Software Products where indicated by Licensor.

  1. Development License Options
    1. Named User: For each Named User License, Licensee may install and execute the Licensed Software on one (1) computer for use by one (1) person in Licensee’s organization solely to develop, compile (including byte code compile), and test, in source or object code form, Licensee’s own application programs and other works ("Works") designed to work with the Licensed Software. Unless Licensee has purchased a valid Deployment License as described below, Licensee may not deploy or use the Licensed Software on a production basis. The Licensed Software contains certain time-out features designed to prevent the Licensed Software from being deployed in a runtime environment for longer than a specified period without Deployment License keys. Deployment License keys will be provided to Licensee at such time as Licensee purchases the requisite Deployment Licenses. WORKS CREATED USING THE LICENSED SOFTWARE MAY REQUIRE THE LICENSED SOFTWARE IN ORDER TO RUN. WITHOUT THE REQUISITE DEPLOYMENT LICENSE KEYS, THE LICENSED SOFTWARE WILL BE DISABLED AND THOSE WORKS MAY NO LONGER RUN. LICENSEE SHOULD THEREFORE TAKE PRECAUTIONS TO AVOID ANY LOSS OF DATA THAT MIGHT RESULT.
  2. Deployment License Options
    1. Concurrent User: For each Concurrent User Deployment License, License may install the Licensed Software, in executable form only, on a server accessed and used by multiple users over a network, provided that the Licensed Software is used only by as many concurrent users at any given moment in time as Licensee has purchased concurrent licenses and provided further that use of the Licensed Software is only in the Territory and accessed only by users physically located in the Territory. The foregoing license shall be for access and use, only by the equivalent number of concurrent users for whom Licensee has paid the applicable license fees, solely to create, compile (including byte code compile), test and deploy, in source or object code form, Works. As used in this Section, use or in use means that the Licensed Software is "in use" on a computer or machine when it is loaded into random access memory (RAM) of that computer. The Licensed Software may not be shared or used concurrently on computers or machines located outside of the Territory or in such a way to enable use or access by users located outside the Territory.
    2. Server/CPU: For each Server/CPU Deployment License Licensee may install and execute the Licensed Software in object code form on a production basis on one (1) server hardware unit that is operating the platform designated in the applicable Product Order and that has no more than the number of CPUs designated in the applicable Product Order and to permit the Licensed Software as so installed to be accessed at any one time by an unlimited number of concurrent users. Licensee may not install or execute the Licensed Software on any type of device that has a greater number of CPUs and Licensee may not, under a given Server/CPU Deployment License, install or execute the Licensed Software on more than one (1) computer. Licensee may use and deploy the Licensed Software either as a Server or as a Client. Use of the Licensed Software as a "Server" means to manage and control the automated exchanges of information with one or more remote computers through various telecommunications channels. Use of the Licensed Software as a "Client" means to operate the Licensed Software on a computer to facilitate communications with the Server. The Client shall not act as or perform the functions of a Server. A Client may make only a maximum of 10 concurrent call backs. A Client shall not have POA (Portable Object Adapter) policies with the following values: LifespanPolicyValue.PERSISTENT; RequestProcessingPolicyValue.USE_SERVANT_MANAGER; RequestProcessingPolicyValue.USE_DEFAULT_SERVANT Subject to these restrictions and limitations and any additional restrictions or limitations that may appear in the applicable Product Order, Licensee may install the Client on an unlimited number of computers. Licensee receives no right to deploy Clients without the purchase of a Server/CPU Deployment License.
    3. Backup Server License Option for AppServer and VisiBroker Licensee may install the Licensed Software on a single backup server and use the Licensed Software in object code form solely for backup or disaster recovery purposes (“Backup Server License”). Licensee may not use the Licensed Software on a production basis except during periods when one or more copies of the Licensed Software for which Licensee has purchased a Deployment License are nonfunctional, and, in such event, only in accordance with the terms of the Deployment License.
    4. Standby Server License Option for AppServer and VisiBroker Licensee may install the Licensed Software on a single standby server and use the Licensed Software in object code form solely in a standby, non-production mode for use in the event the primary server fails (“Standby Server License”). Licensee may not use the Licensed Software on a production basis under a Standby Server License except during periods when one or more copies of the Licensed Software for which Licensee has purchased a Deployment License are nonfunctional, and, in such event, only in accordance with the terms of the Deployment License.

E. OTHER LICENSE OPTIONS

  1. System Partitioning /LPAR/IFL Licensed Software may be licensed for installation and use on computer systems which incorporate logical partitioning (LPAR), and/or Integrated Facility for Linux (“IFL”) provided such rights have been expressly granted to Licensee by Licensor in writing and Licensee complies with the restrictions set forth in this Section. The licensing models in this Section 1 are only applicable to Server type licenses and are not available for computer systems where system resources (e.g. Cores/CPUs) may be scaled down or varied (e.g. “Pay Per Use” or “Pay Per Forecast” models).
    1. Logical Partitioning (LPAR): The licensing requirements of computer systems (e.g. a Host Server) which incorporate hard and/or soft partitioning shall have their licensing requirements determined as follows:
      1. Hard Partitioning: Hard partitioning is established by using a hard physical partition to physically segment a single larger server so that the Host Server utilizing the Licensed Software is a separate and distinct smaller system (that is, each separate system acts as a physically independent, self-contained server with its own CPUs, operating system, separate boot area, memory, input/output subsystem and network resources). Examples of such hard partitioning include: Dynamic System Domains (DSD) -- enabled by Dynamic Reconfiguration (DR), Solaris 10 Containers (capped Containers only), LPAR (adds DLPAR with AIX 5.2), Micro-Partitions (capped partitions only), vPar, nPar, Integrity Virtual Machine (capped partitions only), Secure Resource Partitions (capped partitions only), and Static Hard Partitioning. For computer systems where hard partitioning has been employed to create the Host Server being utilized to operate the Licensed Software, such Host Server shall be licensed pursuant to the terms and conditions set forth in this Section 1 as if such Host Server where a separate and distinct computer system. For example, where the total computer system has 8 Cores/CPUs but only 4 Cores/CPUs have been hard portioned to use the Licensed Software, Licensee shall only be required to license such 4 Cores/CPUs on such hard partitioned system.
      2. Soft Partitioning: Soft partitioning is established by using the computer systems operating system resource manager to segment and limit the number of Cores/CPUs where the Licensed Software is running by creating areas where processor resources are allocated and limited within the same operating system. Examples of such soft partitioning include: Solaris 9 Resource Containers, AIX Workload Manager, HP Process Resource Manager, Affinity Management, Oracle VM, and VMware. For computer systems where soft partitioning has been employed to create the Host Server being utilized to operate the Licensed Software, such Host Server shall be licensed pursuant to the terms and conditions set forth in this Section 1 as if such Host Server where a separate and distinct computer system but the Cores/CPU required to be licensed shall be an “expected” Cores/CPU number calculated as the ratio of the number of Cores/CPUs soft partitioned as a percentage of the entire computer system’ Cores/CPUs, increased by ten percent (10%). For example, on an 8 Core/CPU computer system where soft partitioning has been utilized such that only 4 Cores/CPUs are allocated to use the Licensed Software, a Server License fee charge equal to 60% of the total computer system Cores/CPUs would be required (50%+10% = 60% of an 8 Core/CPU system license fee).
    2. Integrated Facility for Linux (“IFL”): An Integrated Facility for Linux or IFL Host Server is established by using a dedicated Host Server where the IFL Host Server is isolated from general use and is only capable of utilizing the Linux operating system and running Linux applications and cannot run other operating systems or applications. For IFL Host Server computer systems being utilized to operate the Licensed Software, such IFL Host Server shall be licensed pursuant to the terms and conditions set forth in this Section 1 as if such IFL Host Server were a separate and distinct computer system. For example, where the total computer system that has 8 Cores/CPUs but the IFL Host Server is a 4 Cores/CPUs IFL computer system and the IFL system is the only system using the Licensed Software, Licensee shall only be required to license such 4 Cores/CPUs on such IFL Host Server system.
    3. LPAR and IFL Host Server Verification: Licensee shall provide to Licensor, upon commencement of this License Agreement and at such other times as Licensor may reasonably request, confirmation that Licensee’s computer systems comply with the LPAR and/or IFL license requirements set forth in Subsections 1(a) and (b) above. Such confirmation shall be signed by a director or officer of Licensee and shall be accompanied by all information as Licensor reasonably requires to verify that Licensee is utilizing the Licensed Software in compliance with the terms and conditions of the License Agreement. The foregoing is in addition to Licensor’s rights under Section 3 of the License Agreement.
  2. Evaluation License Option Licensed Software provided under this License Option gives Licensee a term license to use the Licensed Software within Licensee’s organization during the evaluation term specified in writing by Licensor, solely for evaluation and testing purposes on a single computer system and not for development, commercial, or production purposes. Licensee may not reproduce or distribute the Licensed Software. Licensee’s results of benchmark or other performance tests run on or using the Licensed Software may not be disclosed to any third party without Licensor’s prior written consent. At any time during the evaluation term or upon completion thereof, Licensee may, upon written notification to Licensor and payment of the applicable license fee, replace the evaluation license with a license to use the Licensed Software pursuant to one of the other applicable options listed in Annex1. In the absence of such notification by Licensee, the evaluation license shall automatically terminate at the end of the evaluation term and Licensee shall return, or, if Licensor so directs, delete and destroy all such Licensed Software and provide Licensor with written confirmation of such deletion and destruction being completed. Licensor may, in its sole discretion, grant Licensee an extension to the evaluation term subject to receiving a written request and reasons for such request from Licensee prior to expiration of the evaluation term. Licensor will specify any such agreed extension in writing to Licensee. Licensed Software provided by Licensor free of license fee charge shall be deemed to be provided pursuant to this Evaluation License Option unless otherwise agreed in writing. In the absence of any contrary period specified in writing by Licensor, the evaluation term shall be deemed to be thirty (30) days. In relation to Licensed Software provided pursuant to this Evaluation License Option, this Section shall prevail over any contrary provisions set forth in this License Agreement.
  3. Test License Option Licensed Software provided under this License Option gives Licensee a limited license to use the Licensed Software solely for Licensee’ internal testing purposes on a single computer system. At no time may Licensee use the Licensed Software for development, commercial, or production purposes, nor may Licensee reproduce or distribute the Licensed Software or any software application programs created with it. The applicable license fee for this License Option will be determined by the access or use to be tested. For example, batch process testing will require the payment of the applicable license fee for a Licensor server license for CPU. Licensee’ results of benchmark or other performance tests run on or using the Licensed Software may not be disclosed to any third party without Licensor’s prior written consent. If Licensee uses the Test Licenses for any purpose other than for Licensee’ internal testing purposes, the Test License shall terminate automatically and without notice. Upon such termination, Licensee may convert the terminated Test License to a standard license type listed above by paying the applicable conversion fee. In relation to Licensed Software provided pursuant to this Test License Option, this Section shall prevail over any contrary provisions set forth in this License Agreement.

ANNEX 2 SPECIFIC SOFTWARE TERMS

The following terms and conditions apply to the applicable Licensed Software products named below and supersede any conflicting terms and conditions set forth elsewhere in this License Agreement:

ALL VERSIONS OF NET EXPRESS®, SERVER EXPRESS™, MICRO FOCUS STUDIO™, MICRO FOCUS SERVER™, EXTEND®, RELATIVITY®, RM/COBOL® , REUZE DEVELOPER, OPEN PL/I AND XCENTRISITY®. For this Licensed Software Licensee has the option to use the Licensed Software licenses purchased either (i) for internal development purposes, or (ii) to reproduce and distribute internally, as both options are described in Annex 1, any software application program created by Licensee using any such Licensed Software product, in whole or in part, as a part of Licensee’ own application software product (“Licensee Application Software”). Where the foregoing option (ii) is selected it is contingent upon Licensee (a) including Licensor’s copyright notice for the Licensed Software on the product label and as a part of the sign-on message for such Licensee Application Software product; and (b) indemnifying, holding harmless and defending Licensor and its third-party suppliers from and against any claims or lawsuits, including attorneys’ fees, legal fees and court costs that arise out of, or result from, the use or distribution of such Licensee Application Software. Licensee can only reproduce and distribute Licensee Application Software to third parties after entering into a separate distribution agreement with Licensor. Usage and distribution of the Licensed Software arises both by the explicit distribution of any Licensee Application Software and by the implicit distribution and usage of any such functionality when linked into a software application program. The grant of license for the Licensed Software does not permit Licensee to either use or reproduce and distribute any files supplied as part of the Licensed Software in order to create a compiler, interpreter or runtime support product. Licensor offers specific production licensing options for distribution to third parties which vary depending upon the license fees paid by Licensee and Licensee should contact its Licensor sales representative for more details.

MAINFRAME EXPRESS® ENTERPRISE EDITION.

  1. Where Mainframe Express Enterprise Edition (all versions and editions including earlier versions such as Mainframe Express) is the Licensed Software, Mainframe Express Enterprise Edition may only be used for development purposes. Licensee may not use Mainframe Express Enterprise Edition for production purposes nor utilize or access any of the Mainframe Access portions of the Licensed Software from any Licensed Software product licensed separately, unless the Licensor product, Mainframe Access, has also been separately licensed from Licensor, in which case, the Mainframe Access product included as part of Mainframe Express Enterprise Edition may be installed on the number of host (mainframe) machines needed to support the number of authorized end-users of Mainframe Express Enterprise Edition.
  2. Where Mainframe Express Enterprise Edition is the Licensed Software, the Licensed Software will contain Component Generator. In order to use the components created using Component Generator, Licensee must pay a license fee. Upon payment of such license fee, Licensor grants Licensee a personal, non-exclusive, non-transferable license to use the components according to the type of license granted. Licensor has and will retain all ownership rights to any application source code generated by a template, wizard or similar functionality, (“Generated Source Code”) supplied as part of the Component Generator including without limitation all patent rights, copyrights, trademarks, trade secrets, service marks, related goodwill, and confidential and proprietary information relating thereto. For the avoidance of doubt, Generated Source Code does not include Application Server Files. Licensee shall have and retain all ownership rights to Licensee’s implementation of the Generated Source Code, provided that nothing in this Section shall be construed as in any way granting Licensee any right to limit or prevent: (i) Licensor from licensing any of its existing or future Licensed Software or providing any of its existing or future services to third parties; or (ii) Licensor or any other users of the Component Generator from generating and using identical or similar implementations of Generated Source Code. Licensor grants Licensee a perpetual, transferable, non-exclusive, royalty-free right to reproduce and distribute the Generated Source Code in object code form together with any implementation Licensee make thereto as a part of Licensee’s application of the Licensed Software product created using the Component Generator and that such Licensee application of the Licensed Software product adds significant and primary functionality to the Generated Source Code.

ALL VERSIONS OF MICRO FOCUS STUDIO, REUZE DEVELOPER AND NET EXPRESS. For this Licensed Software

  1. Redistribution of Internet Shortcut Support DLL (URL.DLL) in Microsoft Win32 SDK. To obtain rights to distribute file "URL.DLL" supplied as part of the Microsoft Win32 SDK that may be included with the Licensed Software, Licensee must print out, sign and return the Microsoft Win32 SDK End User Licensee Software License Agreement (located at \license\win32sdk.txt in the Microsoft Win32 SDK) to Microsoft Corporation, Win32 SDK Program, Building 5-2, One Microsoft Way, Redmond, Washington 98052-6399. URL.DLL may be included as part of a future version of Windows or Windows NT. Upon notification by Microsoft of its inclusion of URL.DLL in Windows or Windows NT, Licensee shall upgrade its application so that it no longer contains URL.DLL, and within a reasonable period after such time, but no later than six (6) months, cease distribution of URL.DLL.
  2. Use of Microsoft Visual Studio Technology and Visual Studio .NET Premier Partner Edition, including VSIP-SDK (“VSN Software”). The VSN Software is provided by and governed under the VSN Software End User License Agreement (“VSN EULA”) enclosed with the Licensed Software. Licensee must agree to be bound by the VSN EULA before use of the VSN Software. Licensee shall not use or enable others to use the information/content of the VSIP-SDK to enable any development environment other than Visual Studio .NET to host packages that use the interfaces documented in the VSIP-SDK or use or enable others to develop or distribute extensions to or wrappers for the VSN Software, or the interfaces between the Licensed Software and the VSN Software.

ACADEMIC EDITIONS/USERS. Where Licensed Software is licensed under Licensor’s ACTION Program, in addition to the above terms and conditions:

  1. Licensee shall not use the Licensed Software for any purpose other than for education, training or academic research activities.
  2. Licensee shall not copy the Licensed Software, nor shall Licensee distribute, transfer or assign the Licensed Software without specific permission from Licensor.
  3. License management: If Licensee is the academic institution using the Licensed Software for teaching purposes, Licensee will manage all student licenses through a license server provided by Licensor in accordance with guidelines provided by Licensor. Licensee agrees to provide reports describing the number of licenses Licensee has issued in each period upon Licensor’s request.
  4. Where CALIBERRM™, TEAMDEFINE™, TOGETHER®, STARTEAM®, TEMPO™, TEAMDEMAND®, TEAMFOCUS™, TEAMANALYTICS®, TEAMINSPECTOR™, SILKCENTRAL®, TEST MANAGER™, SILKTEST®, SILK4J™, SILKPERFORMER® APPSERVER™ OR VISIBROKER is the Licensed Software, the Licensed Software may be used solely for Licensee’s personal use in providing or receiving instruction within the limited scope of guided computer programming and/or software training course(s) in which Licensee is a direct and personal participant, either as student or instructor (“Course(s)”). The Licensed Software may only be used with other participants of the Courses and then only for educational or training purposes. The Licensed Software may not be used for any commercial, business, governmental or institutional purpose of any kind, except to the extent Licensee is an instructor teaching a Course.

NET EXPRESS PERSONAL EDITION. Where Net Express Personal Edition is the Licensed Software, in addition to the above terms and conditions:

  1. Licensee shall not to use the Licensed Software for any purpose other than for personal educational and non-commercial activities. The Licensed Software may not be used for training or teaching purposes.
  2. Licensee shall not use the Licensed Software to compile source code for applications of more than two thousand, two hundred (2200) lines of procedural code (exclusive of lines containing comments and/or blanks) in any one (1) application or to deploy such application to any other machine.
  3. Licensee shall not copy the Licensed Software, nor shall Licensee distribute, transfer or assign the Licensed Software without specific permission from Licensor

ALL VERSIONS OF MICRO FOCUS STUDIO, NET EXPRESS, AND SERVER EXPRESS. This Licensed Software may include or generate limited licenses for Micro Focus Server, Application Server and/or Enterprise Server. If such licenses are included or generated, these limited licenses are provided solely for use by the Named User of the Licensed Software in order to unit test an application developed with any version of Micro Focus Studio, Net Express, or Server Express on the server used to develop the application and may not be used for system testing, production or deployment. Any use of this limited license outside of the development and unit testing of such applications is outside the scope of the license.

ALL VERSIONS OF MICRO FOCUS STUDIO, REVOLVE® ENTERPRISE EDITION, MAINFRAME EXPRESS, NET EXPRESS, AND MICRO FOCUS LICENSE SERVER. Licensee may use the Micro Focus License Server that accompanies the Licensed Software to generate request or access codes for Licensee’s use of the Licensed Software. Licensee may not use the Micro Focus License Server to generate multiple-user request of access codes for the Licensed Software unless Licensee has paid the appropriate license fees for each authorized user accessing the Licensed Software.

MICRO FOCUS STUDIO FOR COBOL DEVELOPERS AND MICRO FOCUS STUDIO ENTERPRISE EDITION. Where Micro Focus Studio is the Licensed Software, Licensee may utilize the Licensed Software on both the Windows platform and one UNIX platform, which will be designated on the Product Order. Use of the Licensed Software on a different UNIX platform than originally licensed or on more than one UNIX platform will require additional licenses and the payment of applicable license fees. Licensee may install the Licensed Software on more than one machine or Host Server, so long as the Licensed Software is only used by the same named user on each machine or Host Server.

MICRO FOCUS REVOLVE ENTERPRISE EDITION. Where Micro Focus Revolve Enterprise Edition is the Licensed Software, Licensee may only utilize the Licensed Software for its own internal benefit and may not use the Licensed Software to process third-party code or to generate reports to be delivered to a third-party for that third party’s benefit without first entering into a separate agreement with Licensor.

MICRO FOCUS DATA EXPRESS™. Where Micro Focus Data Express is the Licensed Software Licensee may utilize both the Data Subset Extraction and the Data Masking modules, however, Licensee may only use other modules that are expressly listed in the relevant Product Order and for which Licensee has paid the separate relevant license fee.

MICRO FOCUS ENTERPRISE VIEW™. Where Micro Focus Enterprise View is the Licensed Software, Licensee may only use those additional modules that are listed in the Product Order and for which Licensee has paid a separate license fee. Where a Micro Focus Enterprise View module has language-specific capability, any licensed languages shall be listed in the Product Order. Support for additional languages is subject to an additional license fee.

MICRO FOCUS ENTERPRISE VIEW - RAPID ASSESSMENT OPTION. Micro Focus Enterprise View – Rapid Assessment Option is provided to Licensee on a fixed term license basis only. The start and ending dates of the term will be set forth in the Product Order. Unless otherwise stated in the Product Order, Micro Focus Enterprise View – Rapid Assessment Option is licensed on a “Line of Code” basis.

MODERNIZATION WORKBENCH SOFTWARE DEVELOPMENT KIT. This Licensed Software may only be utilized for the purpose of creating applications designed to operate with Modernization Workbench. The SDK does not contain any redistributable code and Licensee is not permitted to distribute any part of the SDK. No support is provided for the SDK.

XCENTRISITY BUSINESS INFORMATION SERVER. This Licensed Software is licensed on a concurrent user basis for local area network usage (“LAN”) or wide area network usage (“WAN”). A LAN license may only be installed and used on one server, whereas a WAN license may be installed and used on any number of servers, both subject to the number of concurrent users licensed.

OPTIMAL TRACE, QACENTER, QADIRECTOR, QALOAD, QARUN, RECONCILE, TESTPARTNER, TRACKRECORD, CARS, TEST FACTORY, DEVPARTNER. This Licensed Software may include technology for monitoring authorized use, including the policy files and license keys required to use the Licensed Software (the “License Authorization Server” or “LAS”). The LAS may be installed on a single-specified computer system at the specific site for which Licensee has contracted (the “Designated System”). The LAS, or any part thereof, may not be transferred from the Designated System. Regardless of the installation of the LAS, Licensee must remain compliant with the terms in this License Agreement (including without limitation any license restrictions and number of users permitted pursuant to this License Agreement). The LAS cannot be used or installed on a Virtual Machine.

Licensee may not transfer, ship or use this Licensed Software outside the country in which it was originally licensed to Licensee. Only one copy of the Licensed Software may be installed on a single computer at any one time unless: (A)The Software is designed and intended by Licensor for use in a shared network client server environment, as set forth in the Documentation; or (B) Licensee has purchased a license for each individual user of the Licensed Software and/or for each computer that will have access to the Software. Except for Optimal Trace Enterprise Edition, in the event the Software is designed and intended by Licensor for use in a shared network client server environment, Licensee may only install the Software on a single server.

The following shall only apply if the Licensed Software is device driver development software, used by Licensee to develop application or device driver programs (“User Software”), as specified in the Documentation. The User Software may include run-time components (“RTCs”) that have been extracted by the Software from the library files of the Software, programs to remotely test the User Software, and compiled code examples. These RTCs, examples, and programs are specifically designated as redistributable in the Documentation. Licensee has a worldwide, non-exclusive, royalty-free, restricted license to: (A) modify, compile and distribute the driver code examples; (B) distribute the remote testing program for testing purposes only; (C) embed the RTCs and driver code examples in its User Software, in object code form only; and (D) reproduce and distribute the RTCs and driver code examples embedded in its User Software, in object code form only provided that with respect to each of (A) – (D) inclusive (i) Licensee distributes the RTCs and driver code examples only in conjunction with and as a part of its User Software; (ii) Licensee will be solely responsible to anyone receiving its User Software for any updates, technical and other support obligations, and any other liability which may arise from the distribution of its User Software; (iii) Licensee does not use Licensor’s or its licensors' names, logos, or trademarks to market or distribute its User Software; (iv) Licensee includes Licensor’s and its licensors' copyright and/or proprietary notices and legends within the executable images of its User Software and on Licensee's software media and documentation; and (v) Licensee agrees to indemnify, hold harmless and defend Licensor and its licensors from and against any claims or lawsuits, including attorneys’ fees, that arise or result from the use or distribution of its User Software.

OPTIMAL TRACE, QACENTER, QADIRECTOR, QALOAD, QARUN, QUALITY MANAGER, RECONCILE, TESTPARTNER, TRACKRECORD, TEST FACTORY, DEVPARTNER. This Licensed Software may be used in a Virtual Machine only where licensed for concurrent users. In addition this Licensed Software may be used on any operating system on which the Licensed Software is capable of operating and which is supported by Licensor.

QALOAD. This Licensed Software may be licensed on a Virtual User basis. A "Virtual User" represents a simulation of a particular individual user executing a transaction or sequence of operations. QALoad Virtual users are pooled for use by the total number of licensed QALoad Conductors and one or more licensed QALoad Conductors may use some or all licensed Virtual Users. Virtual Users may be used across all support protocols (Easyscripts).

SILKCENTRAL, TEST MANAGER, SILKTEST, SILK4J, SILKPERFORMER This Licensed Software may include technology for monitoring authorized use, including the policy files and license keys required to use the Licensed Software (the “License Authorization Server” or “LAS”). The LAS may be installed on a single-specified computer system at the specific site for which Licensee has contracted (the “Designated System”). The LAS, or any part thereof, may not be transferred from the Designated System. Regardless of the installation of the LAS, Licensee must remain compliant with the terms in this License Agreement (including without limitation any license restrictions and number of users permitted pursuant to this License Agreement). The LAS cannot be used or installed on a Virtual Machine.

SILK PERFORMER. This Licensed Software may be installed on a reasonable number of Licensee computer systems. Licensee may use the Multi-Machine Controller (also referred to as “Workbench”) (“MMC”) component and related load-test agents on an unlimited number of machines for an unlimited number of users, but solely in connection with the use of SilkPerformer in accordance with the number, type and class of Virtual User Licenses purchased. Premium Virtual User Licenses for SilkPerformer, when ordered in any quantity, include a single Named User limited license to use SilkTest (the “Additional Product”). The Additional Product may be used ONLY in conjunction with the Premium Virtual User Licenses of SilkPerformer and may not be used or transferred on a stand-alone basis. Incremental use of any Additional Product beyond the single Named User license, or stand-alone use, must be licensed and paid for separately.

TEAMANALYTICS 2008. This Licensed Software includes a single Named User limited license to use StarTeam (either StarTeam Enterprise 2006, StarTeam Enterprise Advantage 2006, StarTeam Enterprise 2008 or StarTeam Enterprise Advantage 2008), CaliberRM (either CaliberRM 2006 or CaliberRM 2008) and SilkCentral Test Manager (either SilkCentral Test Manager 2006 or SilkCentral Test Manager 2008) (the “Additional Products”). The Additional Products may be used only in conjunction with the TeamAnalytics 2008 product and may not be used or transferred on a stand-alone basis. Incremental use of any Additional Products beyond the single Named User license, or stand-alone use, must be licensed and paid for separately.

TEAMANALYTICS 2009. This Licensed Software includes a single Named User limited license to use StarTeam, CaliberRM and SilkCentral Test Manager (collectively, the “Additional Products”). The Additional Products may be used ONLY in conjunction with the TeamAnalytics 2009 and may not be used or transferred on a stand-alone basis. Incremental use of any Additional Products beyond the single Named User license, or stand-alone use, must be licensed and paid for separately.

TOGETHER. This Licensed Software may be used solely to create, compile (including byte code compile), test and deploy, in source or object code form, Licensee application programs and other works. This Licensed Software requires registration with Licensor prior to use. Licensee will be prompted to register at the time of installation or first use, at which time Licensee will be notified, or directed to online resources explaining, how registration information provided by Licensee may be used and Licensee will be afforded the opportunity to opt out of certain uses of such information. Licensee may use the License Manager component of the Licensed Software, in executable form only, on a server for use solely in connection with Licensee’s use of the Licensed Software.

TEAMDEFINE. This Licensed Software includes the capability for an unlimited number of users to review the simulation program integrated into the Licensed Software by Licensor or its suppliers. Such users may not otherwise use the Licensed Software. Where an evaluation license option is obtained for this Licensed Software pursuant to Annex 1.E.2 the evaluation period will continue for up to 365 days. During the first 30 days of the evaluation period Licensee will be able to access all functionality of this Licensed Software except “Project Export”. During the remaining evaluation period such functionality will continue except that Licensee will have read only access to “simulations”, “requirements”, “SDK”, “integrations”, “images” and “templates”. Licensee may purchase a full license for this Licensed Software at any time during the evaluation period.

SILKCENTRAL, TEST MANAGER, SILKTEST, SILK4J, SILKPERFORMER, TEAMDEFINE, CALIBER™, TOGETHER, STARTEAM, TEMPO, TEAMDEMAND, TEAMFOCUS, TEAMANALYTICS, TEAMINSPECTOR, APPSERVER, VISIBROKER. This Licensed Software may be used in a Virtual Machine only where a concurrent user license has been granted

APPSERVER, VISIBROKER. For this Licensed Software, regardless of the number of CPU's for which Licensee has purchased a Deployment License: (i) Licensee may not run more than one instance of the deployed Licensed Software on a single computer, and (ii) the Licensed Software may not be accessed at any one time by more than the number of Concurrent Users indicated in the applicable Product Order. In the event Licensee desire additional instances or additional Concurrent Users, Licensee must purchase a separate license applicable to a different computer.

APPLICATION MIDDLEWARE PRODUCTS. Licensee may not include this Licensed Software or any component thereof in any general-purpose software development tool, library, component, or any other product that is generally competitive with or a substitute for the Licensed Software or any other Licensor product offerings; nor may Licensee use the Licensed Software to create a product or operate a service that is generally competitive with the Licensed Software or any other Licensor product offerings, including any general-purpose software development tool. The foregoing restriction does not apply, however, to use of the Licensed Software to develop "plug-ins" (i.e., integrations created using the Licensed Software's open tools API) so long as such plug-ins are designed to provide supplementary functionality to the Licensed Software.

This Licensed Software is not redistributable. Licensee is not permitted to reproduce the Licensed Software for sublicensing, resale, lending, leasing, deployment or distribution to any party, including without limitation, distributing the Licensed Software as part of a VAR, OEM, distributor or reseller arrangement. If Licensee integrates the Licensed Software into a Work and intends to distribute or resell the resulting integrated Work, Licensee must contact Licensor to obtain the appropriate distribution license.

The portions of this Licensed Software identified as VISISECURE, VISITRANSACT, VISINOTIFY, VISITIME and VISITELCOLOG (collectively, the " VISISERVICES") are not redistributable. This License Agreement does not permit Licensee to execute, or otherwise use the VISISERVICES portion of the Licensed Software for any purpose unless Licensee has acquired a separate Development and/or Deployment License for VISISERVICES directly from Licensor before developing or deploying any Work that uses such portion of the Licensed Software. Licensee is not permitted to reproduce VISISERVICES for sublicensing, resale, lending, leasing, deployment or distribution to any party, including without limitation, distributing VISISERVICES as part of a VAR, OEM, distributor or reseller arrangement. If Licensee integrates VISISERVICES into a Work and intends to distribute or resell the resulting integrated Work, Licensee must contact Licensor to obtain the appropriate distribution license.

Notwithstanding the prohibition hereunder against decompiling this Licensed Software, Licensee may use that portion of the Licensed Software identified as "API Decompiler" for inspecting the public application programming interface (API) of the JAVA BEANS COMPONENT LIBRARY, DATAEXPRESS, DBSWING and OPENTOOLS API modules.

The following Java Technology Restrictions are applicable to the component of this Licensed Software identified as SonicMQ if it accompanies the Licensed Software: Licensee may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java" package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or modification of the classes in the JPI. In the event that Licensee otherwise create an additional class and associated API(s) which (i) extends the functionality of a Java platform, and (ii) is exposed to third party software developers for the purpose of developing additional software which invokes such additional API, Licensee must promptly publish broadly an accurate specification for such API for free use by all developers. Licensee may not create, or authorize its own licensees to create additional classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun" or similar convention as specified by sun in any class file naming convention.

This Licensed Software may include certain files, libraries and/or source code specifically designated as “redistributables" by Licensor in the accompanying printed or on-line documentation and that are necessary to use works created using the Product ("Redistributables"). From time to time, Licensor may designate other files as Redistributables. Subject to the terms and conditions of this License Agreement, Licensee may freely redistribute source code or compiled code that is entirely Licensee’s own and does not contain any Redistributables. Subject to the terms and conditions of this License Agreement, Licensor grants Licensee the personal, non-exclusive, non-transferable and limited license to: (a) make exact copies of the Redistributables and distribute those copies solely as components of Licensee’s Works and solely as required for permitting end users of the Works ('End users") to install and execute the Works; (b) install and execute Redistributables, without modification, solely for Licensee’s own internal use; and (c) sublicense to End Users the personal, non-exclusive, non-transferable right to install and execute Redistributables, without modification, solely as components of Works and solely for such End Users' own internal use, subject to End Users' compliance with the restrictions in this License Agreement. These rights granted may not be exercised by others, including co-developers, regardless of how Licensee’s Works are compiled, linked, or packaged. These rights apply only to Redistributables and to no other file, library, source code or other component or derivative work of the Licensed Software. They may be exercised only with respect to works created by Licensee using a duly licensed, properly registered copy of the Licensed Software.

ENDS

END USER LICENSE AGREEMENT SUPPLEMENT

The following terms and conditions shall supersede any conflicting terms and conditions set forth elsewhere in the End User License Agreement:

Where Licensor has expressly granted to Licensee the right to install and use the Licensed Software on a soft partition, the license fee shall be based on an "expected" Cores number calculated as the ratio of the number of Cores allocated to the soft partition to the total number of Cores on the Host Server, increased by a percentage to be determined by Licensor. To be effective, such grant must be set forth in the applicable Product Order or otherwise in writing separate from this License Agreement.

END USER LICENSE AGREEMENT SUPPLEMENT

The following terms and conditions shall supersede any conflicting terms and conditions set forth elsewhere in the End User License Agreement:

With respect to Micro Focus COBOLTM 2010 Runtime products, Licensee may reproduce and distribute internally, in whole or in part, subject to the applicable license option as described in Annex 1 and the applicable Product Order, any software application program created by Licensee using the corresponding development product for the Licensed Software (if separately licensed to Licensee by Micro Focus) that contains any files from such development product and/or the Licensed Software ("Licensee Application Software"). Licensee shall (a) include Licensor's copyright notice for the Licensed Software on any product label and as a part of any sign-on message for such Licensee Application Software product; and (b) indemnify, hold harmless and defend Licensor and its third-party suppliers from and against any claims or lawsuits, including attorneys' fees, legal fees and court costs that arise out of, or result from, the use or distribution of such Licensee Application Software. Licensee can only reproduce and distribute Licensee Application Software to third parties after entering into a separate distribution agreement with Licensor. Usage and distribution of the Licensee Application Software arises both by the explicit distribution of any Licensee Application Software and by the implicit distribution and usage of any of the Licensee Application Software's functionality when linked into another software application program. The grant of license for the Licensed Software does not permit Licensee to either use or reproduce and distribute any files supplied as part of the Licensed Software in order to create a compiler, interpreter or runtime support product. Licensor offers specific production licensing options for distribution to third parties which vary depending upon the license fees paid by Licensee and Licensee should contact its Licensor sales representative for more details.

With respect to all Visual COBOL® products:

  1. Licensee shall not use the Licensed Software, nor reproduce or distribute any files supplied as part of the Licensed Software, in order to create a compiler, interpreter, runtime support product or any other product that is generally competitive with or a substitute for the Licensed Software or any other Licensor product.
  2. This Licensed Software may include or generate limited licenses for Micro Focus COBOLTM 2010 Runtime. If such licenses are included or generated, these limited licenses are provided solely for use by the Named User of the Licensed Software in order to unit test an application developed with any version of Visual COBOL® on the server used to develop the application and may not be used for system testing, production or deployment, and may only be used if the Licensed Software is current on support and maintenance. Any use of this limited license outside of the development and unit testing of such applications is not permitted.
  3. With respect to VISUAL COBOL® PERSONAL EDITION products:
    1. Licensee shall not use the Licensed Software for any purpose other than for personal educational and non-commercial activities. The Licensed Software may not be used for training or teaching purposes, and
    2. Licensee shall not use the Licensed Software to compile source code for applications of more than two thousand, two hundred (2200) lines of procedural code (exclusive of lines containing comments and/or blanks) in any one (1) application or to deploy such application to any other machine.
Micro Focus License Agreement 1 November 2009 All products LIC-GEN-17Supp1&2
Parent topic: Product Information


Third Party Software

These third party products may be required by the software in order to provide full functionality. In most cases you will need to obtain and install them individually.

  • Database Access Support
  • Java Development Kit (JDK)
  • Java 2 Enterprise Edition (J2EE) Support
  • Known Errors in J2EE Third Party Software
Parent topic: Product Information


Database Access Support

Before you can use this product to deploy SQL applications developed with COBSQL, DB2 ECM or OpenESQL, ensure any third party software prerequisites are installed and the environment is set properly. Refer to the reUZE Developer documentation, Programming > Database Access for details.

Parent topic: Third Party Software


Java Development Kit (JDK)

The Java Development Kit (JDK) is required for compiling Java.

After installing the JDK, you need to set up your Java environment.

Parent topic: Third Party Software


Java 2 Enterprise Edition (J2EE) Support

J2EE 1.3 and 1.4 are supported for the deployment of EJBs generated using the Interface Mapping Toolkit, as follows:

  • J2EE 1.4 includes support for EJB 2.1 and Java Connector Architecture 1.5
  • Java EE 5 includes support for EJB 3.0 and Java Connector Architecture 1.5

The following J2EE application servers are supported using the following JDKs:

J2EE Application Servers | JDK (vendor) | J2EE | Java EE
JBoss 5 | 1.5 (Oracle) | 1.4 |
JBoss 4.2.3 | 1.5 (Oracle) | 1.4 |
BEA WebLogic 9.2 | 1.5 (Oracle) | 1.4 |
IBM WebSphere 6.0 | 1.4.2 (IBM) | 1.4 |
IBM WebSphere 6.1 | 1.5 (IBM) | 1.4 |
IBM WebSphere 6.1 with IBM EJB 3 Feature Pack | 1.5 (IBM) |  | 5
IBM WebSphere 7.0 | 1.5 (IBM) |  | 5
Parent topic: Third Party Software
Related information
IBM Support Web site
Resource Adapters Supplied by Micro Focus


Known Errors in J2EE Third Party Software

  • IBM WebSphere issues various warnings when running some applications. These are WebSphere problems. For example:
    07/12/10 11:35:55:843 JST] 00000056 PrivExAction W
J2CA0144W: Could not find
a mappingConfigAlias for the connection ...
07/12/10 11:35:55:908 JST] 00000056 PrivExAction W
J2CA0114W: Could not fing a container managed credential alias ...

    For details on these warnings, see the IBM Support Web site. [547718]

  • When using XA transactions with EJB 3.0 on Websphere 6.1 with the EJB 3 Feature Pack, if there are two resource managers and one of them is ES and the other is using JDBC, if the JDBC update fails, the Transaction Manager in Websphere does not receive the failure message and hence does not send a rollback to the other resource manager/s (Enterprise Server included). Instead, it sends a commit which is incorrect. This issue is being investigated.

    -557021

Parent topic: Third Party Software


Known Errors and Restrictions

The following known errors and restrictions apply to reUZE Server:

  • ADAM on Microsoft Vista and Windows Server 2008
  • Application-Managed Services
  • Enterprise Server
  • Error Messages
  • File Handler
  • GDG Limit Change
  • Mainframe Subsystem Support (MSS)
  • MTO – JCL Utils
  • Network File Access
  • Run-Time System
  • Security
  • Security Management
  • Security and SNMP
  • Spool File Format Change
Parent topic: Product Information


ADAM on Microsoft Vista and Windows Server 2008

ADAM (Active Directory Application Mode) is not supported by Microsoft on Vista and Windows Server 2008. If you are configuring Enterprise Server external Security Managers on the Vista platform, a remote Active Directory server should be used instead of ADAM. On Windows Server 2008, Microsoft has provided AD LDS (Active Directory Lightweight Directory Services) as a replacement for ADAM. External Security Managers which use AD LDS can be set up and used in a similar fashion to Security Managers that use ADAM.

Parent topic: Known Errors and Restrictions


Application-Managed Services

If you have configured Enterprise Server to support container-managed services by defining external XA resource managers, any application-managed service that issues CONNECTs to, or DISCONNECTs from, one of these defined resource managers might receive warning- level response codes.

Parent topic: Known Errors and Restrictions


Enterprise Server

Upgrading Enterprise Server

If you upgraded from a version of Micro Focus Server and have retained any enterprise servers that have a Web Services listener, you will receive an error when you deploy informing you that the listener cannot be found. To fix this, change the listener name before deploying using one of the following methods:

  • From Enterprise Server Administration, change the listener name from Web Services to Web Services and J2EE.
  • Edit your deployment service (usually named Deployer) and add the following lines to the Configuration Information area: [destination] listener=Web Services
  • If your deployment service doesn't have the listener name specified, edit the base\deploy\.mfdeploy file changing the Web Services listener name to Web Services and J2EE .
Enterprise Server Administration

If you are using Enterprise Server Administration with Microsoft Vista 2008, you may see an Interactive services dialog detection dialog box displaying the message A program can't display a message on your desktop when Enterprise Server attempts to display console messages. You can view the console messages by clicking Show me the message in the dialog box.

Dynamic Debugging with Enterprise Server

If dynamic debugging is not enabled for the enterprise server on which you are running an application, you receive an alert when you try to debug. You need to enable dynamic debugging for the server by checking Allow Dynamic Debugging on the Edit page of Enterprise Server Administration and restarting the server or by checking Dynamic Debug on the ESMAC > Control page which will enable debugging until the server is stopped.

Enterprise Server Administration Web page

If the buttons on the Enterprise Server Administration Web page don't work, you need to enable Active Scripting or Javascript in your browser.

-541326

Active Content Blocked

If the Web Browser tells you it's blocking active content, when you view the Help, you need to allow active content.

Viewing the Help

You can view the reUZE Server Help in a separate browser window while you are using the Enterprise Server Administration Web interface, by clicking Contents in the menu at the left-hand side of the page. For this link to work, you must have the following in place:

  • An enterprise server that has a Web listener with the following entry in the [virtual paths] section: docs=<ES>/help
  • The enterprise server must be started
ESDEMO Configuration

The default enterprise server, ESDEMO, may not have the correct configuration information entry for its Web listener. If you encounter problems accessing the Help while you are using ESDEMO, you must correct the entry using the Edit Listener page. Note that references to this configuration entry in the context help and the Enterprise Server Configuration and Administration Guide are no longer correct and you must use the entry as specified above.

When you create a new enterprise server, a Web listener with the required configuration information entry is automatically created.

Parent topic: Known Errors and Restrictions


Error Messages

If run-time system error 249 occurs, the message displayed is "249 error message text not found (Signal <signal-number>)". The message should be "249 Process killed (Signal <signal-number>)". See the documentation for more information on this error.

CASMQ1011E

Undocumented error message.

CASMQ1011E: Unexpected error while connecting to queue manager
in IMS Trigger Monitor, status: cc: 00002, rc: 02058

The error message indicates that the Trigger Manager could not establish a connection with the MQSeries Queue Manager for some reason.

The MQSeries completion code and reason code are displayed as part of the error message. In this particular case, reason code 2058 indicates a Queue Manager Name error. The queue manager name that is specified as a JCL parameter in the job that starts the Trigger Monitor is not valid

CASSI9012E

Undocumented error message.

CASSI9012E JCL support failed to start. Error returned from casspool, RC=n

The error message indicates that JCL support failed to start, because the call to casspool failed with the displayed return code (n). We advise you to perform a repair install on your system.

Parent topic: Known Errors and Restrictions


File Handler

The IDXNAMETYPE file-handler configuration option does not work correctly when used in a managed .NET application and the filename (including the specified path) of the file being opened includes one or more space characters. The file will not be opened and an error file-status or RTS error message will be generated.

Parent topic: Known Errors and Restrictions


GDG Limit Change

The GDG-LIMIT value for Generation Datasets has changed

After you install the product, the GDG-LIMIT value conversion is handled automatically. The GDG-LIMIT values are changed over time from the old pic 99 format to the new comp field, as individual catalog records are accessed and updated.

However, if you revert to a previous release, the new-format System Catalog is not readable by the old version of the product. If you revert to a previous release, you can revert the System Catalog so that the system can use it.

To revert the catalog to GDG_LIMIT 99

  1. Backup your system catalog.
  2. Run the catalog scan utility mfcatrvt with no parameters.

    This identifies all GDGs where the LIMIT is greater than 99, or has been cycled more than 99 times.

  3. Run the catalog revert utility mfcatrvt with the command line parameter REVERT.

    This changes the comp value of the GDG-LIMIT field back to the original PIC 99 representation. Note that the process also converts values greater than 99 back to 99.

When this process completes, the System catalog is readable in older versions of reUZE Server.

Example

The following sequence of commands:
set MFSYSCAT=c:\estest\catalog.dat
mfcatrvt
generates the following output:
START mfcatrvt GDG LIMIT CHECKTEST101.GDGmfcatrvt GDG LIMIT
- completed normallymfcatrvt REVERT
mfcatrvt REVERT
START mfcatrvt GDG LIMIT REVERT
mfcatrvt GDG LIMIT - completed normally
Parent topic: Known Errors and Restrictions


Mainframe Subsystem Support (MSS)

If you have clients using the ECI interface with the CICS Transaction Gateway to communicate with a CICS application running in MSS, a client program might receive an ECI_ERR_TRANSACTION_ABEND return code with an abend code of AZTY, indicating that several clients tried to communicate with the system at the same time but not all requests could be satisfied by MTO. The workaround for this issue is to set the environment variable TX_UNICLI_SESSIONS to the required number of sessions in the Configuration Information for the enterprise server as follows:

[ES-Environment]
TX_UNICLI_SESSIONS=<required-number-of-sessions>

The default is 4.

You should set Maximum requests in the Client Section of the CICS Transaction Gateway configuration to the same value.

If you do this you will also probably need to change the client program to ignore the ECI-ERROR_MAX_SESSIONS return code and retry the call. For example:

do
 {
   Rc = CICS_ExternalCall (&EciParms);
 } while (Rc == ECI_ERR_MAX_SESSIONS);

If you do not make this modification, the client program might still receive the ECI_ERR_TRANSACTION_ABEND return code.

Emulation is not available for the DSNTIAUL and DSNUTILB mainframe utilities

Parent topic: Known Errors and Restrictions


MTO – JCL Utils

  • Calling MFFJUXIT after a parsing error B539260 results in corrupting the JCL file name in -U-pc-fname. The file name is missing some leading characters.
Parent topic: Known Errors and Restrictions


Network File Access

When you deploy a COBOL application as a Web Service or an Enterprise JavaBean, then run it using the default configuration of Enterprise Server, it can no longer open files across a network using drive mappings or UNC paths (that is, file pathnames of the form \\server\share\path\to\file). This is the result of Windows working the way it was designed to and there is no simple workaround that is satisfactory for every customer.

When a program opens a file on another computer (the file server) using a UNC path, Windows uses that program's current security information to try to authenticate it to the server and obtain authorization from the server for access to the file. If the file server does not accept the program's security credentials, the program cannot open the file. These credentials include user login information (the equivalent of a username and password) and other technical details including whether the credentials can be used for network access. If an interactive user runs a program from the desktop or command line, that process runs with the user's credentials. When the program attempts to open a file on a file server, the user's credentials are checked for access.

When a drive letter is mapped to a network share and used to open a file, Windows uses the same mechanism as for UNC paths. However, a drive letter mapping generally applies only to a specific user. A different user on the same computer can have that drive letter mapped to a different share or not mapped at all.

This means that UNC paths represent the same file for every program, no matter which user account the program is running under but that drive letter mappings can vary and are less likely to work when a program is run by different users. In general, UNC paths are more suitable for filenames that are stored in programs or saved somewhere and drive letter mappings are more suitable for interactive use. [1052982]

Parent topic: Known Errors and Restrictions


Run-Time System

Memory corruption detected

The run-time system error COBRT252 "Memory corruption detected (Fatal)", might occur when performing a SORT FIELDS=COPY on a file with a record format of VB, under mainframe emulation of DFSORT.

-542609

Threaded Programs - Return Code

If you create a multi-threaded application that uses CBL_EXIT_PROC to perform an exit procedure when the program terminates, and an error occurs during the exit procedure, the application does not terminate with a non-zero exit code to the operating system.

Parent topic: Known Errors and Restrictions


Security

Micro Focus COBOL applications deployed to environment such as ASP.NET/Network drives are currently required to have full trust.

Parent topic: Known Errors and Restrictions


Security Management

  • An enterprise server that is configured to use a Security Manager that uses the mldap_esm module (that is, using LDAP for security) cannot be started using a file repository, either by using the -m option to casstart and specifying a file path, or by running casstart when MFDS is not available. [542314]
  • A new facility called passtokens can be configured to let administrators move back and forth between MFDS and ESMAC without signing in each time they switch from one to the other. (This requires that MFDS and Enterprise Server use the same security configuration, and that the user has appropriate privileges.) However, the passtoken is created when the HTML page with the link to the other facility (for example, the MFDS "server details" page with the ESMAC link) is generated, and passtokens expire after a short time. If you wait too long before clicking the link to go from MFDS to ESMAC or from ESMAC to MFDS, you will be forced to sign on again. [543176]
  • Customers who use the audit feature of Enterprise Server security should be aware that we cannot enforce auditing for administrative changes to the security configuration (adding or removing users, changing permissions, etc). A user with sufficient privilege (an administrator) can disable auditing before performing other administrative changes, or use third-party tools to update the configuration in the ESM without using any Micro Focus tooling at all.[543360]
  • When external security is enabled for Enterprise Server, user credentials (username and password) have to be supplied to casstart in order to start the region. casstart uses those to do an ESF Verify and Auth to ensure that the user has authority to start the region. casstart also uses those credentials to bind to MFDS. A problem can arise because MFDS is a different security domain from Enterprise Server and may have a different security configuration, particularly if Enterprise Server is using an ESM (such as the eTrust one) that doesn't support MFDS. Consequently, administrators may have to define user accounts twice, once in the ESM used by Enterprise Server, and once in MFDS internal security (or a different ESM used by MFDS), in order to let those users start a region. [543472]
Parent topic: Known Errors and Restrictions


Security and SNMP

The Micro Focus Audit Manager Configuration supporting includes both node and port address options. These are used to specify the location of the Management Console that will receive the SNMP Trap events that are generated by the auditor.

When using WinSNMP as the local agent these location parameters may be ignored by the Windows implementation of the WinSNMP interface. This can happen if the system has a valid configuration of Microsoft's SNMP service agent for the "public" community. If the SNMP agent configuration is present this is used by the WinSNMP instead of the Micro Focus location options even if the Microsoft SNMP system service is not actually running at the time.

Parent topic: Known Errors and Restrictions


Spool File Format Change

The format of the spool record held in the MVS Spool file, mvsspl01.dat has changed.

After you install reUZE Server, the MVS Spool file conversion is handled automatically. The spool process:

  • Checks for the presence of an existing mvsspl01.dat file.
  • If found, automatically converts this file to a new-format mvsspl02.dat
  • Renames the old mvsspl01.dat file to mvsspl01.R1.

The mvsspl02.dat spool file is used in all subsequent processing.

However, if you revert to a previous release, the new format MVS Spool file records are not readable by an old version of the product. If you revert to a previous release, you can revert the new-format spool file to the old format.

To revert the mvsspl02.dat to mvsspl01.dat:

  1. Backup the existing mvsspl02.dat file.
  2. Set the MFSYSCAT Environment variable to the location of the System Catalog.
  3. Run the MVS Spool convert utility MFSPLRVT.

    This utility reads the records in the new format MVS Spool file mvsspl02.dat, converts then to the old format, and writes them to mvsspl01.dat. When this process completes, mvsspl02.dat is renamed to mvsspl02.r2.

When this completes, the MVS Spool file is readable in older versions of reUZE Server.

Example

The following sequence of commands:
set MFSYSCAT=c:\estest\catalog.dat
mfsplrvt
generates the following output:
REVERT SPOOL STARTED
REVERT SPOOL ENDED SUCCESSFULLY

The ctf tracing process has additional tracing functionality added so that information from the conversion is available in the event of problems. To enable this functionality, set the following line in the trace configuration file to enable trace events for both conversions: mvsspl01.dat to mvsspl02.dat and mvsspl02.dat to mvsspl01.dat:

mftrace.comp.mf.mvs.mvsspool#reformat = true

Parent topic: Known Errors and Restrictions


Deployment Licensing

  • Licensing Concepts
  • License Setup
  • License Administration
  • Licensing Reference
  • Licensing Database Connectors
Parent topic: Start Here


Licensing Concepts

  • Overview of Deployment Licensing
  • License Types and Requirements for reUZE Server
  • The License Database
  • License Checking
  • Overview of License Administration and AppTrack
  • Installing Licenses Using AppTrack
  • Monitoring Usage of reUZE Server Licenses
Parent topic: Deployment Licensing


Overview of Deployment Licensing

When you have developed an application using your COBOL product you run it under reUZE Server, which requires a license. You must have a reUZE Server and, depending on what features of the product you are using, a Sentinel RMS license installed before you can run the application in a production environment, regardless of whether the application is for internal use or for resale. In addition, if you intend to use the Database Connectors feature you will need a Database Connectors license and you must also have a .NET license installed if you intend to run .NET applications.

When you obtain reUZE Server for Windows, you receive a License Key Card to license some features of reUZE Server and Sentinel RMS License Authorization Key Cards to license others. A separate, additional license is required if you are using the Database Connectors feature.

The License Key Card is your paper copy of the product license and has a printed license key and serial number on it. It identifies the number of licensed users, the product name and the version. You need the license key and serial number from this card to license some features of reUZE Server on the Micro Focus Licensing System. This is the license key and serial number you are prompted to enter during product installation.

The Sentinel RMS License Authorization Key Cards are required to license other features of your product. You need to use the Micro Focus License Management tool, which is installed as part of your product, to administer these license types.

Database Connectors requires the installation of a license file. You need the product code and keys, supplied with your product, to create the license file.

reUZE Server licenses require some management. For example, you need to:

  • Install the licenses
  • Optionally set a password on the license database to protect it from misuse
  • Monitor the use of the licenses to keep your applications running
  • Order more licenses from Micro Focus if necessary

If you are using features that require a license from Sentinel RMS you will need to use the Micro Focus Licensing Administration tool. Depending on your product, you can find information on the tool in Deployment Licensing or Overview of Development Licensing.

Note: On Windows, your native code (not .NET managed code) applications will stop working if you exceed your licensed capacity, although they might continue to work for a short time. You must order more licenses from Micro Focus, and then install them

For information on licenses required for your development system see the Development Licensing help topics.

Parent topic: Licensing Concepts


License Types and Requirements for reUZE Server

Note:

This topic describes license types for the Micro Focus License Management system and does not refer to the Sentinel RMS license system.

Use of reUZE Server licenses are subject to the terms and conditions in your End-user Software License Agreement.

In general, reUZE Server licenses are required for:

  • End users. These licenses enable end users to run applications in production.
  • Developers. These licenses enable developers to test run applications, while developing them. These licenses are for testing purposes only. On Windows, developers test applications on a separate machine from the one containing the development system.

The types of license available are as follows:

Type of License (Old Model 1) | License Units that are Counted
Developer test | users
Named user standard | users
Concurrent use standard | uses
Concurrent use transaction | uses
CPU server | cpus
Type of License (New Model 2) | License Units that are Counted
Authorized user | users
Concurrent users | users
Server (CPU) | cpus

You can get your old model 1 licenses converted to new model 2 licenses. For more information contact your sales representative.

Windows:
If you are already licensed to use reUZE Server for an application that is executed on a particular machine, you may not need a separate reUZE Server license for another application on that same machine. This varies according to the license purchased.
UNIX:
For each installation of reUZE Server you must use all model 1 licenses or all model 2 licenses. However, on a single machine you can have multiple installations of Server and each installation can use one model or the other. The new model 2 licenses are shared across all installations of reUZE Server on a UNIX machine.
64-bit on AIX:
If you install the 64-bit version of Server on AIX, you receive licenses for the 64-bit version. Any licenses associated with a 32-bit version of Server on AIX remain enabled. You cannot use 32-bit licenses with 64-bit Server on AIX, nor can you use 64-bit licenses with 32-bit Server on AIX.
.NET:

If you want to run .NET applications you must have a valid .NET license installed.

Parent topic: Licensing Concepts


The License Database

All Micro Focus Server licenses that you install are stored on the license database. This database is created the first time a Micro Focus Server license is installed. The database is held in the file mfasdb, which resides in the directory c:\mfaslmf by default.

You do not have to know about the database, apart from whether to set one up on your machine or whether to use one on a network server. Your organization might have a policy on this. A networked license database can make maintaining licenses easier, but the disadvantage is that the network server has to be up and running whenever you want to run your application. Also, Enterprise Server cannot access a database across a network, so such a database enables only the base Micro Focus Server.

You cannot change the database content, except by using AppTrack to install or remove licenses. Keys on the database are in encrypted format, and can only be seen by users through AppTrack. Access to AppTrack can be restricted by its optional password system.

You can have only one active license database on a machine. You cannot move it once it is created. You can however create another database and use this instead of the original, but if you have any licenses installed in the original database, you will need to reinstall them in the new database.

To find out the location of the existing license database or to set up a new license database, use the aslmpclocate utility.

Parent topic: Licensing Concepts


License Checking

When you run an application deployed to reUZE Server, the License Manager software check the number and type of licenses installed. Unlicensed applications will not run.

.NET Managed Code
The License Manager checks for the existence of a valid license for .NET managed code applications.
.NET
The existence of a valid .NET license is checked for when .NET applications are run. .NET applications will not run if a .NET license is not installed.
Windows:
The number of installed licences in use are checked. In order to continue running your applications without licensing issues, you need to monitor your license usage manually, such as by running the AppTrack Current Usage report. It is your responsibility to ensure that you are properly licensed.
Parent topic: Licensing Concepts


Overview of License Administration and AppTrack

Applications that use reUZE Server require reUZE Server licenses. You need to:

  • Install the licenses
  • Set a password on the license database to protect it from misuse
  • Monitor the use of the licenses so that you are forewarned of reaching your license limit
  • Stop and restart the license manager service as necessary (not required for .NET managed code applications
  • Investigate any problems and rectify them

You use the License Administration utility, AppTrack, to install and monitor licenses. For a concise report on the number and type of licenses installed, you can use the License checking utility, MFLicenseCheck.

Parent topic: Licensing Concepts


Installing Licenses Using AppTrack

To run applications that use reUZE Server, you need reUZE Server licenses installed.

You cannot install the same reUZE Server license on more than one machine at a time; to do so would violate the terms of the End User License Agreement. If you want to move a reUZE Server license from one system to another, you must first uninstall it from the current system, and then install it on the new system. If you require additional reUZE Server licenses, contact your Micro Focus account representative or your Micro Focus authorized supplier for details on purchasing them.

We recommend that you uninstall old reUZE Server licenses that you are no longer using. This is because they will still be loaded at startup and could cause your system to run out of shared memory.

You install reUZE Server licenses manually by using AppTrack.

Windows:

In addition, you can install licenses:

  • By entering the license key when prompted during the installation of reUZE Server. This option is available when you are using the setup program supplied by Micro Focus.
  • Silently during the installation of reUZE Server, or during the installation of your application if your supplier has arranged for the setup program to do this. The setup program might be the one supplied by Micro Focus, or the one for your application supplied by your application supplier.

64-bit Application Server on AIX

If you install the 64-bit version of Application Server on AIX, you are issued with licenses for the 64-bit version. Any licenses associated with a 32-bit version of Application Server on AIX remain enabled. You cannot use 32-bit licenses with 64-bit Application Server on AIX, nor can you use 64-bit licenses with 32-bit Application Server on AIX. You can install and uninstall 32-bit licenses at any time, but these have no effect on the 64-bit Application Server.

Parent topic: Licensing Concepts


Monitoring Usage of reUZE Server Licenses

You can monitor the usage of your reUZE Server licenses, so that you are forewarned of reaching your license limit. You will need order more licenses and install them before you exceed your limit and before your user applications stop running.

AppTrack provides severl reports for monitoring licenses. For example, the License List report (AppTrack option 1) shows which licenses are installed on each reUZE Server. It shows the serial number and major identifying part of the license number of each license.

Windows:

The following reports are available:

  • License List report (AppTrack option 1)
  • Current Usage report (AppTrack option 2)
    Note: Not available for .NET managed applications

    This report shows how many licenses are installed and how many are currently in use. It also shows the number of licenses used in excess of those installed. Note that you must not rely on any excess being available for use. If you use any excess licenses, you must order more licenses and install them.

UNIX:

The following facilities are available for monitoring licenses and are documented in Deployment Licensing in the Help for Server Express and Server for UNIX:

  • License list (AppTrack option 1)
  • License summary (AppTrack option 2)
  • Current users (AppTrack option 7)
  • Overdraft for model 1 licenses
  • Special Action On No-license Condition
  • Automatic license retry
  • License usage warning
  • Statistics collection
  • Overdraft for model 2 licenses
Parent topic: Licensing Concepts


License Setup

  • To silently install licenses and reUZE Server
  • To uninstall licenses silently
  • To set up a new license database
  • To find an existing license database
  • To set up a networked license database
  • To install reUZE Server (or selected files)
  • To write a program that sets up reUZE Server
Parent topic: Deployment Licensing


To silently install licenses and reUZE Server

To install reUZE Server silently with a license:

  • Run the install file using the SERIALNUM, LICENSENUM and DATABASEDIR switches (which must be in upper case). For example, enter:
    SRPxxxxxxxx.exe /s /v"" /qn  SERIALNUM=serial_number
                          LICENSENUM=license_key
                          DATABASEDIR=d:\mfaslmf"

    Where:

    • SRPxxxxxxxx.exe is the install file on the reUZE Server CD
    • /s and /qn specify installing silently
    • /v"..." passes switches to the msi file within the installable exe file
    • d:\mfaslmf is the directory where the license database is (or is to be created)

To install reUZE Server silently without installing a license:

  • Run the install file using the SKIPASLMF switch, which inhibits the licensing dialog. You will need to install the license before users can use your application. To inhibit the licensing dialog, enter:
    SRPxxxxxxxx.exe /s /v"/qn SKIPASLMF=1"

    For full details on the switches for Windows platforms see your MSI documentation.

To install a license silently without installing reUZE Server:

  • Use the aslmpcsilent command. First, make sure that your AppTrack environment is set up, and then use an aslmpcsilent command of the following form:
    aslmpcsilent function serial_number license_key

    Where function can be:

    • 1 - checks if any licenses are already installed and if not, installs this license
    • 2 - checks if this license is already installed and if not, installs it

    For example:

    aslmpcsilent 2 11122233 1111222223333344444
Parent topic: License Setup


To uninstall licenses silently

  1. Make sure that your AppTrack environment is set up.
  2. Use an aslmpcsilent command of the following form:
    aslmpcsilent 3 serial_number license_key

    Where:

    • 3 is the function that uninstalls a license
    • serial_number refers to the license to uninstall
    • license_key refers to the license to uninstall

    For example:

    aslmpcsilent 3 11122233 1111222223333344444
Parent topic: License Setup


To set up a new license database

  1. Create a directory to contain the new license database, if necessary. If you do not use the default directory, c:\mfaslmf, a registry entry will be set up to point to it, as described later.
  2. Copy into that directory the files prodfile and semfile from your install-dir\base\bin directory (where install-dir is your Net Express install directory).
  3. Run the aslmpclocate utility as follows:
    aslmpclocate license-db-path

    Where license-db-path is the path of the license database. If you specify a path containing spaces, you do not need to enclose the path in quotes, although you can.

    The aslmpclocate utility registers the database location in the registry.

    The license database is created when you install the first reUZE Server license.

Parent topic: License Setup


To find an existing license database

Run the aslmpclocate utility as follows:
aslmpclocate
Parent topic: License Setup


To set up a networked license database

Set the ASLMFNET environment variable on the end users' machines to point to the location of the network license database, as follows:
set ASLMFNET=r:\license-db-dir

Where:

r: is the network drive where the license database is. Note that this must be a network drive and not a local one.

license-db-dir is the path of the license database

If you specify a directory containing spaces, you must use quotes ("") to delimit the data values. For example:

set ASLMFNET="r:\My License DB Directory"

You can specify a networked directory, by specifying the computer name and share name. For example, if the network license database is installed on a computer MyServer in the directory r:\license-db-dir and this directory is shared as mfaslmf, you can specify:

set ASLMFNET=\\MyServer\mfaslmf
Parent topic: License Setup


To install reUZE Server (or selected files)

Note: The following applies to native COBOL only.

To install the full reUZE Server (recommended):

  1. Install reUZE Server either in same directory as your application or a separate directory, which is recommended if several applications will be sharing it. To install this, run the install file NSP32xxxxxxxx.exe .

    You can also install reUZE Server silently.

To install selected files (not recommended, but available for backward compatibility):

  1. Determine the files to ship.
  2. Extract the files in the reUZE Server install file , which is on your CD. To do this, run the executable file NSP32xxxxxxxx.exe .
  3. Copy the files that your application requires into same directory as your application, or if several applications will be sharing the files, copy them into a separate directory.
Parent topic: License Setup
Related information
Shipping Selected Files from reUZE Server
Script to create a license database and silently install a license for reUZE Server


To write a program that sets up reUZE Server

When you write the setup program for your application, add instructions to do the following:

  1. Install reUZE Server (or selected files).
  2. Search for an existing license database. One might already exist if Enterprise Server or other applications using reUZE Server are already installed. Search for the database file, mfasdb.

    If a license database already exists, ask the user if this is the one to use or what the location is of the network license database to use.

    If there is no license database, your setup needs to create a new one.

    If the license database is installed on a server, its location needs to be set on the end user's machine:

  3. If your application is not a .NET managed code application, install and start the license manager service, using the command:
    mflmwin -i
  4. Optionally, arrange for the reUZE Server license key to be installed silently. .
Parent topic: License Setup
Parent topic: Deploying Native COBOL Applications


License Administration

  • To install a reUZE Server license using AppTrack
  • To uninstall a reUZE Server license using AppTrack
  • To monitor the reUZE Server licenses
  • To set up AppTrack and the license management environment
  • To run AppTrack
  • To set the AppTrack password
  • To remove the AppTrack password
  • To stop and start the license manager service
Parent topic: Deployment Licensing


To install a reUZE Server license using AppTrack

  1. Set up AppTrack, if it is not already set up.
  2. Login to the user account from which you will run your application.
  3. Run AppTrack.
  4. Enter 3 (License Install) to install the licenses.
  5. Enter the reUZE Server serial number and the license number of the license key.

    If you make a mistake while typing in the serial number, use the Backspace key to delete the characters in error, and retype the number. If you make a mistake or change your mind after entering the serial number, press Enter, and the installation ends (a message is displayed telling you that the license key is invalid, which you can ignore in this case).

  6. Install more licenses as required.
  7. You can confirm which license keys you have installed for your application by entering 1 (License List) from the AppTrack menu.
  8. Enter 9 (Quit) to exit AppTrack.
Parent topic: License Administration


To uninstall a reUZE Server license using AppTrack

  1. Run AppTrack.
  2. If you are unsure which license keys you have installed for your application, enter 1 (License List) to list details of the installed licenses.
  3. Enter 4 (License Uninstall).
  4. Enter the serial number and the license number of the license key you want to uninstall.

64-bit licenses for AIX

If you uninstall all of the 64-bit licenses on AIX, the 32-bit licenses are re-enabled. This only occurs if the 64-bit version is installed in the same directory as the 32-version (that is, the value of $COBDIR remains the same).

Parent topic: License Administration


To monitor the reUZE Server licenses

  1. Run AppTrack.
  2. Enter your AppTrack password if prompted.
  3. Choose one of the following reports from the AppTrack menu:
    • Enter 1 (License List )
    • On Windows, enter 2 (Current Usage)
  4. Other reports are available on UNIX. See Monitoring Usage of Server Enterprise Edition Licenses.

  5. Enter 1 (License List) from the AppTrack menu.
Parent topic: License Administration
Related information
Monitoring Usage of reUZE Server Licenses


To set up AppTrack and the license management environment

The environment for running AppTrack or an application that uses reUZE Server is probably set up as part of installing your application or reUZE Server. If it is not set up, you can do it as follows:

Windows:

  1. Ensure that the PATH environment variable points to the directory containing reUZE Server. If you used the Micro Focus setup program to install reUZE Server, the PATH should be set up. If is not set up, set it as follows:
      path=server-dir;%PATH%

    where server-dir is the directory where reUZE Server is installed.

  2. If you are using a network license database, set up its location on the local machine, by setting the ASLMFNET environment variable on the local machine.
  3. Install your reUZE Server license, if it is not already installed.
Note: On Windows, if you run your application using one of the run trigger programs, run*.exe, supplied by Micro Focus, we strongly recommend that you install the full reUZE Server shared run-time system, using the setup program supplied by Micro Focus. This setup program ensures that the environment is set up correctly.
Note: For potential version coexistence issues when using the AppTrack facility, please see Backward Compatibility with Earlier Releases of Enterprise Server and Application Server in the Product Information help topics.
Parent topic: License Administration


To run AppTrack

  1. Set up AppTrack, if it is not already set up.
  2. Enter $COBDIR/aslmf/ at a command prompt.
  3. If you are prompted for a password, enter it.
Note:
  • You must use the version of AppTrack supplied with your version of reUZE Server. The script mflicense automatically starts the right version.
Parent topic: License Administration


To set the AppTrack password

  1. Run AppTrack.
  2. Enter 5 (Change/Set Password) .
  3. Enter six characters, each of which can be alphabetic and/or numeric. You can use upper or lower case. Alphabetic characters are restricted to the ASCII range. For example, you cannot use accented characters.

    Make sure that you keep a secure record of this password. You need to enter the password each time you want to use any of AppTrack's facilities, including installing and uninstalling licenses.

  4. Retype the password for confirmation.

If the license database exists, the password is also stored in the license database. If the license database doesn't exist, the password is saved in AppTrack. As soon as the database is created, which happens when you install a license, the password is saved in the license database. This is so, even if you delete all licenses from the license database.

After you set a password, you might find that the next time you run AppTrack, you are again prompted to create a password. This happens if you exit AppTrack after setting the initial password, but do not install a license.

Parent topic: License Administration


To remove the AppTrack password

  1. Run AppTrack.
  2. Enter 5 (Change/Set Password).
  3. Type six spaces for the password.
  4. Retype the password for confirmation.
Parent topic: License Administration


To stop and start the license manager service

Note: The following steps are not relevant for .NET managed code.
  • Either use the Services window as follows:
    1. Open the Services window. You can do this from Control Panel, or you can run services.msc at a command prompt.
    2. Select Micro Focus License Manager.
    3. Right-click and select the required option to stop or start the service.
  • Or use the command-line interface:
        mflmwin.exe -option

    Where option can be:

    s | - to start the service
    x | - to stop the service
Parent topic: License Administration


Licensing Reference

  • aslmpcsilent command
  • mflmwin command
  • Script to create a license database and silently install a license for reUZE Server
  • Script to install reUZE Server silently
  • Enterprise Server License Messages
  • reUZE Server License Messages
Parent topic: Deployment Licensing


aslmpcsilent command

Syntax:

Installs or uninstalls a license silently.

aslmpcsilent function serial_number license_key

Options:

function
1 - | checks if any licenses are installed and if not, installs this license
2 - | checks if this license is already installed and if not, installs it
3 - | uninstalls the license
serial_number | serial number on the license to be installed or uninstalled
license_key | license key on the license to be installed or uninstalled
0 - | Success
1 - | Database location not found
2 - | This key already exists on the database
3 - | A different key already exists on the database (occurs when opition 2 is used)
4 - | Invalid license key
5 - | Development license key
6 - | Bad platform
7 - | License DB not found
8 - | Unable to open PRODFILE
9 - | Product and version are not in PRODFILE
10 - | License key not found
11 - | Incompatible license mix
12 - | Duplicate license - not added
13 - | Cannot reinstall this key
14 - | Expired license
15 - | Other failure

On Exit:

The return-code settings on exit are as follows:

0 - | Success
1 - | Database location not found
2 - | This key already exists on the database
3 - | A different key already exists on the database (occurs when opition 2 is used)
4 - | Invalid license key
5 - | Development license key
6 - | Bad platform
7 - | License DB not found
8 - | Unable to open PRODFILE
9 - | Product and version are not in PRODFILE
10 - | License key not found
11 - | Incompatible license mix
12 - | Duplicate license - not added
13 - | Cannot reinstall this key
14 - | Expired license
15 - | Other failure

Example:

The following command checks if the specified license is already installed and if not, installs it. The license specified has the serial number 11122233 and the license key 1111222223333344444.

aslmpcsilent 2 11122233 1111222223333344444
Parent topic: Licensing Reference


mflmwin command

Installs, uninstalls, starts and stops the license manager service.

Note: This is not relevant for .NET managed code.

Syntax:

mflmwin.exe -option

Options:

i | - installs the service and to start it
s | - starts the service
u | - uninstalls the service and stop it if it is running
v | - reports on whethr the service is installed or not
x | - stops the service
/? | - lists the above options

Comments:

The license manager service is installed and started when is installed. The above actions are required only in out of the ordinary situations.

Parent topic: Licensing Reference


Script to create a license database and silently install a license for reUZE Server

rem Script to create a license database for reUZE Server
rem The script also installs a Server license silently.
rem Where c:\user-choice\mfaslmf is the directory for the new database
rem Where license-key is the license key
rem Where "d:\mfserver" is where Server is installed

aslmpclocate -q
if errorlevel 1 goto ASLMFDIR-NOTSET

:ASLMFDIR-SET
echo Found the path to the license database
goto ASLMPLOCATE-OK

:ASLMFDIR-NOTSET
echo License database doesn't exist
md c:\user-choice\mfaslmf
copy d:\mfserver\prodfile c:\user-choice\mfaslmf
copy d:\mfserver\semfile c:\user-choice\mfaslmf
aslmpclocate -q "c:\user-choice\mfaslmf"
if errorlevel 0 goto ASLMPLOCATE-OK

:ASLMPLOCATE-NOTOK
echo License database cannot be created
goto END

:ASLMPLOCATE-OK
aslmpcsilent 1 NXDEVAS5 license-key
echo License database created

:END
Parent topic: Licensing Reference
Parent topic: Deploying Native COBOL Applications
Related information
Script to install reUZE Server silently
To install reUZE Server (or selected files)


Script to install reUZE Server silently

rem This is a sample script that installs reUZE Server silently.
rem Replace the following with your own values, so that:
rem SRP325xxxxxx.exe is the installation file on your Server CD
rem MyMFserver-path is the drive and path in which to install Server
rem MyLicensdb-path is the drive and path to contain the license database
rem MySerial is the serial number on your license key card
rem MyLicense is the license number on your license key card

@echo off
echo ***** Starting installation *****
start /wait SRP325xxxxxx.exe /s /v"/qn INSTALLDIR=MyMFserver-path"
if not exist MyMFserver-path\bin\cobver goto FAIL

MyMFserver-path\bin\aslmpclocate -q
if errorlevel 0 goto FOUNDDB

MyMFserver-path\bin\aslmpclocate -q MyLicensdb-path
MyMFserver-path\bin\aslmpcsilent 1 MySerial MyLicense
if errorlevel 0 goto PASS
echo ***** License not set. Call Support *****
goto END

:FOUNDDB
MyMFserver-path\bin\aslmpcsilent 2 MySerial MyLicense
if errorlevel 0 goto PASS
echo ***** License not set. Call Support *****
goto END

:FAIL
echo ***** Installation Failed - Call Support - check installation log file : "%temp%\SRP32msilog.txt" *****
goto END

:PASS
echo ***** Installation completed *****
goto END

:END
Parent topic: Licensing Reference
Parent topic: Deploying Native COBOL Applications
Related information
Script to create a license database and silently install a license for reUZE Server
To set up an application with a shared reUZE Server
To set up an application with its own reUZE Server


Enterprise Server License Messages

  • CASSI1002S Server manager initialization failure, no valid license found
    There is no Enterprise Server license installed.
  • CASKC1000I ES concurrent request limit: number
    This shows the number of user requests that your enterprise server is permitted to process concurrently.
  • CASKC1001W Warning: Concurrent request limit exceeded number times
    Your Enterprise Server license permits you to process a limited number of user requests concurrently. You have exceeded this limit.
  • CASKC1002I ES concurrent request limit: number, actual: number
    This states the maximum number of user requests that were processed by the enterprise server concurrently during the session. This message is displayed when you stop the enterprise server and also when the maximum number of concurrent user requests is exceeded.
Parent topic: Licensing Reference


CASSI1002S Server manager initialization failure, no valid license found

Resolution:

Install an Enterprise Server license using AppTrack, the License Administration utility.

Parent topic: Enterprise Server License Messages
Parent topic: Enterprise Server License Messages
Related information
To install a Micro Focus Server license using AppTrack


CASKC1000I ES concurrent request limit: number

Resolution:

This message is for information only.

Parent topic: Enterprise Server License Messages
Parent topic: Enterprise Server License Messages


CASKC1001W Warning: Concurrent request limit exceeded number times

Resolution:

Contact your Micro Focus representative for an additional Enterprise Server license.

Parent topic: Enterprise Server License Messages
Parent topic: Enterprise Server License Messages


CASKC1002I ES concurrent request limit: number, actual: number

Resolution:

This message is for information only.

Parent topic: Enterprise Server License Messages
Parent topic: Enterprise Server License Messages


reUZE Server License Messages

reUZE Server licensing messages are issued when Server Enterprise Edition licenses are being checked.

Note: The term Application Server appears in some of the following messages. Application Server is the old name for reUZE Server. The two names are synonymous.
  • ASLM: License database does not exist
    The license database for reUZE Server (formerly called Application Server and Micro Focus Server) does not exist and is required to run your application
  • ASLM: No license database header
    This is an internal error
  • ASLM: Error opening license database
  • ASLM: License database has been moved
  • ASLM: License database checksum failure
    A checksum has failed in the license database for reUZE Server (formerly called Application Server and Micro Focus Server)
  • ASLM: Semaphore failure
  • ASLM: Errno 1022
  • No Application Server License available
  • All number Application Server Licenses are in use
  • A lapsed time-limited developer license is installed
  • Error - No license key detected
  • Unable to connect to License Manager
  • Error number validating licenses
Parent topic: Licensing Reference


ASLM: License database does not exist

Resolution:

If you received a license with your application, install it using AppTrack. Otherwise contact your application supplier.

Parent topic: reUZE Server License Messages


ASLM: No license database header

Resolution:

Report this error to your application supplier or Micro Focus.

Parent topic: reUZE Server License Messages


ASLM: Error opening license database

The license database for reUZE Server (formerly called Application Server and Micro Focus Server) cannot be opened and your application requires access to it.

Resolution:

Check the read/write properties of the database, mfasdb. If it is read-only, change it to be writable. Otherwise, delete the database and reinstall the license keys.

Parent topic: reUZE Server License Messages


ASLM: License database has been moved

The license database for reUZE Server (formerly called Application Server and Micro Focus Server) has been moved from its original location or removed and recreated.

Resolution:

Delete the database, which is mfasdb, and reinstall the license keys.

Parent topic: reUZE Server License Messages


ASLM: License database checksum failure

Resolution:

To recover, delete the database, which is mfasdb, an d reinstall the license keys.

Parent topic: reUZE Server License Messages


ASLM: Semaphore failure

reUZE Server (formerly called Application Server and Micro Focus Server) appears to have been installed incorrectly.

Resolution:

The reUZE Server licensing directory should contain a file called semfile, with full access permissions to all users.

Parent topic: reUZE Server License Messages


ASLM: Errno 1022

The test fails because it creates an executable program dl which, on HP-UX, gets created with the MGAS segmented memory model, but the COBOL product uses the MPAS flat memory model.

Note: MGAS is the system default, MPAS is the default for COBOL executables.

Not all memory models can access shared memory created by different memory models, as shown in the table below.

Process type accessing shared memory | Process type creating shared memory
 | 64-bit MPAS | 64-bit MGAS | 32-bit MPAS | 32-bit MGAS
64 bit MPAS | Y | Y | Y | Y
64 bit MGAS | Y | Y | Y | Y
32 bit MPAS | Y | Y | Y | Y
32 bit MGAS | N | Y | Y | Y

The runtime uses shared memory to access licenses from the ASLM license manager. If the shared memory does not exist the runtime will create it. If the first program run is COBOL 64-bit it will create a shared memory block as a 64-bit MPAS process, and if a 32-bit MGAS program invokes COBOL and tries to get a license the "ASLM Errno 1022" error is reported.

Resolution:

The solution is to either create the 32-bit program with the MPAS memory model, or remove the shared memory block used by ASLM licensing and recreate it from a 32-bit MPAS COBOL program.

Parent topic: reUZE Server License Messages


No Application Server License available

No license is installed for reUZE Server (formerly called Application Server and Micro Focus Server).

Resolution:

Either install a license key using AppTrack or contact your application supplier.

Parent topic: reUZE Server License Messages


All number Application Server Licenses are in use

All number reUZE Server (formerly called Application Server and Micro Focus Server) licenses are in use. Please wait...

Resolution:

You should order additional Micro Focus Server licenses if you require more users to be able to run this application. You may continue for a temporary period to allow you time to order additional licenses.

Parent topic: reUZE Server License Messages


A lapsed time-limited developer license is installed

Your Developer Testing License for reUZE Server (formerly called Application Server and Micro Focus Server) has lapsed.

Resolution:

To reactivate this license, use AppTrack to uninstall it and then reinstall it.

Parent topic: reUZE Server License Messages


Error - No license key detected

No license key was detected for reUZE Server (formerly called Application Server and Micro Focus Server)

Resolution:

Either install a license key using AppTrack or contact your application supplier.

Parent topic: reUZE Server License Messages


Unable to connect to License Manager

This message is displayed when Apptrack fails.

Resolution:

Check that the Micro Focus license manager service has been started. You can do this using the Services window in Control Panel.

Parent topic: reUZE Server License Messages


Error number validating licenses

This is caused by an internal error in license manager and occurs only when license manager is not running as a service. The license manager terminates.

Resolution:

Restart the license manager as a service. You do this using the Services window in Control Panel.

Parent topic: reUZE Server License Messages


Licensing Database Connectors

Database Connectors require a separate license to run on reUZE Server. The information you need to install the license is included here.

You may request a license file for one or more users. The number of users (user limit) is set in your license agreement with Micro Focus. When you receive your products, the package includes product codes and keys for Database Connectors. You must have the product codes and keys to create the license file. When you install or update your license file, place it in the bin directory of Database Connectors; Database Connectors expects the license file to be in the same directory as the executable file and must be able to locate its license file in order to function. If you have multiple users or interfaces, you may copy the license file onto each machine containing Database Connectors or place Database Connectors and your license file on a shared drive.

The Activator utility automates the process of creating a license file. When you install Database Connectors, the Activator utility, activator.exe is installed for you in the installation directory by default. The last screen of the install has a check box for launching Activator. Launch the Activator to enter a new or updated product code and key. Note that Activator is case-insensitive and displays only uppercase characters. Activator also ignores embedded spaces and separating characters. License codes and keys do not contain the letters "O" or "I". When you have entered your product codes and keys, Activator displays a dialog box that confirms whether license file activation was successful.

Note: If license activation was successful, but you get a message during Database Connectors startup indicating that the license file cannot be found, the license file may not be in the proper directory. Activator determines where to place the license file based on entries in the Windows registry. If no registry entry is found, the license file is placed in the same directory as the Activator executable.
Parent topic: Deployment Licensing


Deploying Native COBOL Applications

Note: The information in this section applies to native COBOL only.
  • Overview of Shipping Applications on Windows
  • Shipping Selected Files from reUZE Server
  • Setting Up with the Supplied Setup Program
  • Writing Your Own Setup Program
  • To set up an application with a shared reUZE Server
  • To set up an application with its own reUZE Server
  • To write a program that sets up reUZE Server
  • Script to create a license database and silently install a license for reUZE Server
  • Script to install reUZE Server silently
Related concepts
Deploying to a Remote SQL Server


Overview of Shipping Applications on Windows

Applications developed using a COBOL development system require a COBOL run-time server to provide the necessary run-time system and support.

reUZE Server is your COBOL run-time server. It is supplied as part of reUZE Developer, which is your COBOL development system. reUZE Server is also supplied separately.

End users need to install COBOL run-time licenses before they can run applications that use the COBOL run-time system.

You need to:

  • Ship reUZE Server with your application, if it is a modular application. We recommend that you ship the whole of reUZE Server to avoid compatibility issues and other problems.
  • Ensure that the application you have developed has the proper reUZE Server licenses. Your end users need to install the licenses before they can run the application. You can help users with installing licenses by providing an appropriate installation and setup procedure.
  • Let your users use the supplied setup program for reUZE Server. This program prompts the installer for the license key and for the location of the database. You can arrange for this information to be supplied silently, so that your end users do not have to enter it.

    Alternatively, you can provide your own setup program for an application that uses reUZE Server. For example, you could write a setup program to install the application and reUZE Server together.

Parent topic: Deploying Native COBOL Applications
Related information
Writing Your Own Setup Program


Shipping Selected Files from reUZE Server

Note: The following applies to native COBOL only.
CAUTION:

We recommend that you ship the whole of reUZE Server with your application. However to provide backward compatibility, you can still select and ship specific files.

The reUZE Server files you need to ship with your application depend on how you linked the application, the type of executable it is, and the support functionality it uses. The files that you need to ship also depend on whether your application is single or multi-threaded.

You can package the files you need in whatever you choose, such as by creating .dll files from the supplied .obj files.

When you ship a modular application that is dynamically linked, you need to ship the following files:

  • The main program of your application
  • Any dynamically linked programs that are part of your application, including objects that have been linked into dynamic link libraries
  • The Microsoft Visual C++ run-time system
  • The file for the shared run-time system, one of the following:
    • cblrtss.dll for single-threaded applications
    • cblrtsm.dll for multi-threaded applications
  • Licensing files
  • The National Locale Support message files for the locales that you support:
    • mflangdf.lbr (default language)
    • mflang01.lbr (American English)
    • mflang05.lbr (English)
    • mflang20.lbr (Japanese)

In addition, you need to ship the following files depending on your application requirements:

  • The file adisctrl, if your application uses the enhanced ACCEPT/DISPLAY syntax, and you have configured it to use a non-default configuration
  • Licensing Files to Ship
  • On-site Debugging Support Files to Ship
  • OO COBOL Files to Ship
  • Run-time System Files to Ship
Parent topic: Deploying Native COBOL Applications
Related information
To install reUZE Server (or selected files)


Licensing Files to Ship

CAUTION:

We recommend that you ship the whole of reUZE Serverwith your application. However to provide backward compatibility, you can still select and ship specific files.

You must ship the following files for reUZE Serverlicensing.

Functionality: Files to Ship:
AppTrack
  • apptrack.exe
  • prodfile
  • semfile
License Manager
  • mflmwin.exe
  • mflmma.exe
Utility to enter license keys silently from a script or the command line
  • aslmpcsilent.exe
Utility to find out the location of an existing license database, or to set up a new database
  • aslmpclocate.exe
National Locale Support message files. You must ship at least one of these files
  • aslmf.lng (English)
  • aslmf20.lng (Japanese)
Parent topic: Shipping Selected Files from reUZE Server


On-site Debugging Support Files to Ship

CAUTION:

We recommend that you ship the whole of reUZE Server with your application. However to provide backward compatibility, you can still select and ship specific files.

The following files are available for you to distribute to assist with on-site debugging, but we do not recommend that you ship them with your applications as a matter of routine:

Debugger
  • animlist.dll
  • animpars.dll
  • animserv.exe
  • animsrvr.lbr
  • cbldbg.dll
  • cobcli.lbr
  • run.cfg
  • run.exe
  • runm.exe
  • runmw.exe
  • runs.exe
  • runsw.exe
  • runw.exe
  • shell.lbr
  • tools.lbr
  • visremot.dll
Debugging shipped single-threaded executable files
cblanms.dll
Debugging shipped multi-threaded executable files
cblanmm.dll
Debugging core dump of shipped executable files
cblcored.exe
Debugging remotely
cbldbg.dll
Test Coverage
testcover.dll
Parent topic: Shipping Selected Files from reUZE Server


OO COBOL Files to Ship

Note: The following applies to native COBOL only.
CAUTION:

We recommend that you ship the whole of reUZE Server with your application. However to provide backward compatibility, you can still select and ship specific files.

If your application uses OO programming, you need to ship the following files:

If your application requires: Single-threading files needed: Multi-threading files needed:

OO programming support

  • class.dll
  • classs.dll
  • mfos.dll
  • oopss.cfg
  • oopss.dll
  • class.dll
  • classm.dll
  • mfom.dll
  • oopsm.cfg
  • oopsm.dll

Java and COBOL mixed language support, depending on the JVM used by the application

  • javaclass.dll (OO Java domain class library)
  • mfcobol.jar (Java classes for accessing COBOL)
  • mfjavam.dll (OO java domain)
  • javaclass.dll (OO Java domain class library)
  • mfcobol.jar (Java classes for accessing COBOL)
  • mfjavam.dll (OO java domain)
Parent topic: Shipping Selected Files from reUZE Server


Run-time System Files to Ship

Note: The following applies to native COBOL only.
CAUTION:

We recommend that you ship the whole of reUZE Server with your application. However to provide backward compatibility, you can still select and ship specific files.

Many of the frequently required files are already packaged together into the utils.lbr file, which you can ship if it suits your application's needs.

If you require support for: | Single-threading files needed: | Multi-threading files needed:
CBL_EXEC_RUN_UNIT (graphical user interface applications) | cblxecws.exe | cblxecwm.exe
CBL_EXEC_RUN_UNIT (character user interface applications) | cblexecs.exe | cblexecm.exe
Character user interfaces (for true console applications only) | cblvios.dll | cblviom.dll
Character user interfaces (for applications that use the default COBOL text window) | cbldwins.dll | cbldwinm.dll
File handling, for enhanced ACCEPT/DISPLAY syntax (ADIS), and for OO persistence | mffh.dll | mffh.dll
Print support module | cblprnt.dll | cblprnt.dll

Other run-time support files that you might need to ship depending on the functionality that your application uses are as follows:

If your application uses: Files needed:
ActiveX controls:
  • Toolbar
  • Status bar
  • Tree view
  • Spin button
  • comctl32.dll (Microsoft module)
Btrieve
  • xfh2btr.gnt
  • _btrv.gnt
Command-line Sort
  • mfsort.exe

CCI:

  • APPC protocol
  • DDE protocol
  • IPX protocol
  • NetBios protocol
  • TCP/IP protocol
  • TCP2 registration

  • cciap32.dll
  • ccide32.dll
  • cciix32.dll
  • ccinb32.dll
  • cciinst.exe and ccitc32.dll
  • ccitcp2.exe
Client/server binding
  • mfcsmgr.int
  • mfserver.int
  • mfclient.int
FaultFinder facility
  • cbldbg.dll
  • cblffndm.exe (multi-threaded)
  • cblffnds.exe (single-threaded)
File handling
  • xfh2btr.gnt (access to btrieve files)
Fileshare
  • fhrdrpwd.lbr
  • fs.dll (server)
  • fs.exe (server trigger)
  • fsservice.exe (to run as an NT service)
  • fsclose.exe (server closedown support)
  • fsmgr.dll (manager API support)
Java interfaces support
  • mfcc.exe
  • mfccmui.jar
  • xerces.jar

Micro Focus run trigger program:

  • multithreaded trigger
  • multithreaded trigger (Windows)
  • single-threaded trigger
  • single-threaded trigger (Windows)

  • run.cfg
  • run.exe
  • runm.exe
  • runmw.exe
  • runs.exe
  • runsw.exe
  • runw.exe
  • shell.lbr
  • utils.lbr
  • tools.lbr
Microsoft Transaction Server
  • objectcontext.dll
ODBC
  • drivers obtained separately, and
  • odbcrw32.dll
SQL, ESQL and ODBC
  • csqlsupp.dll (Cobsql)
  • odbcrw32.dll or odbcrw64.dll (OpenESQL)
  • oesqlebc.dll (OpenESQL with EBCDIC data)
  • ODBC drivers obtained separately
  • mfsqlsmf.dll
Web Services support
  • gk-os.dll
  • gk-utility.dll
  • mclient.dll
  • mfclsoap.dll
  • mfidmap.dll
  • nxwscrun.dll
  • xerces-c_2_1_0.dll
Parent topic: Shipping Selected Files from reUZE Server


Setting Up with the Supplied Setup Program

The Micro Focus supplied setup program handles the setting up of license management. The program prompts for the following information:

  • Location of the license database
  • License key

Alternatively you can specify this information on the command line of the setup program. This is called installing silently.

If you are not installing reUZE Server silently, you will need to provide your end users with the license key. They will also need a record of the license key when solving some problems, such as the license database being moved or corrupted in some way.

Parent topic: Deploying Native COBOL Applications
Related information
To set up an application with a shared reUZE Server
To set up an application with its own reUZE Server
Script to install reUZE Server silently


Writing Your Own Setup Program

Note: The following applies to native COBOL only.

You can write your own setup program for applications that run under a COBOL run-time system, such as reUZE Server. Setting up an application that runs under Enterprise Server requires that the application is deployed to Enterprise Server, but there are no other major considerations.

When you provide your own setup program for an application that uses a COBOL run-time system without Enterprise Server, first you need to decide how your end users will install your application. Will they install your application together with its own run-time system or will they install your application separately from the run-time system, so that the run-time system can be shared with other applications?

The main ways of packaging an application and reUZE Serverwithout Enterprise Server are:

  • As a standalone application, statically linked to the run-time system. This requires your executable file, the Microsoft Visual C++ run-time system msvcrt.dll and the reUZE Server licensing files.

    You need to create an installation procedure that:

    1. Installs the reUZE Server licensing files in the same directory as your application.
    2. Sets up a license database if this is the first time an application using reUZE Server is being installed on this machine. Subsequent installations use the same license database, so that the database holds a pool of licenses for all the uses of reUZE Server on the machine.
    3. Installs and starts the license manager service.
  • As an application using a shared run-time system - This run-time system is used by multiple COBOL applications on an end user's machine. It is installed in its own directory, separate from any applications. There is only one run-time system installed on the machine.

    You use the supplied setup program to install a shared reUZE Server and to set up the relevant registry entries.

  • As an application using its own application-specific run-time system - This run-time system is installed with and is used by a sole COBOL application.

    We recommend installing the full reUZE Server without Enterprise Server. However for backward compatibility, you can still select the run-time files to install, some of which are mandatory, such as the licensing files.

    You create an installation procedure that installs your application and, in the same directory, installs reUZE Server (or the selected run-time files). Your installation procedure also needs to set up licensing.

Parent topic: Deploying Native COBOL Applications
Related information
To install reUZE Server (or selected files)
Script to create a license database and silently install a license for reUZE Server


To set up an application with a shared reUZE Server

Note: The following applies to native COBOL only.
  1. Install reUZE Server.
  2. Install your application executable files in a separate directory from reUZE Server.
  3. If your application is linked with dynamic binding to the run-time system, create a shortcut pointing to the application. We recommend a shortcut in preference to adding the reUZE Server directory to the user's path, so that you avoid interactions with other COBOL applications.

    If your application is not linked with dynamic binding, set the PATH on the end-users' machines to point to reUZE Server, using the following command:

    path = app-server-dir;%PATH%

    where r:\app-server-dir is the directory where reUZE Server is installed. If you specify a directory containing spaces, you must use quotes ("") to delimit the data values. For example:

    path = "r:\application directory";%PATH%
  4. If the license database is installed on a server, set up the database location on the end-users' machines.
Parent topic: Deploying Native COBOL Applications
Related information
To set up an application with its own reUZE Server
Script to install reUZE Server silently


To set up an application with its own reUZE Server

Note: The following applies to native COBOL only.
  1. Install reUZE Server.
  2. Install your application executable files in the same directory as reUZE Server.
  3. Create a shortcut pointing to the application. We recommend a shortcut in preference to adding the application directory to the user's path, so that you avoid interactions with other COBOL applications.
  4. If the license database is installed on a server, set up the database location on the end-users' machines.
Parent topic: Deploying Native COBOL Applications
Related information
To set up an application with a shared reUZE Server
Script to install reUZE Server silently


Enterprise Server

CVS components BKCA, HHIS, HRAD

  • Enterprise Server Configuration and Administration
  • Deploying and Configuring Modernized Applications
  • Enterprise Server Task Index
  • Enterprise Server Reference
    Contains information on Enterprise Server configuration commands, error messages, user exits and switching modules.
  • Reference for MSS Deployment
    Contains information on general and CICS commands, data conversion, resource definitions, and supplied transactions.
  • Enterprise Server Security
  • Enterprise Server License Messages


Enterprise Server Configuration and Administration

This section describes the processes for setting up, configuring, and maintaining an Enterprise Server installation. The information it contains relates to both COBOL systems running as services, and mainframe subsystems that operate in an Enterprise Server environment.

  • Overview and Architecture
  • Configuration and Administration User Interface
  • Planning your Configuration
  • Configuring the Server Instance Enviromnent
  • Configuring XA-Compliant Resources
  • Configuring and Administering Enterprise Server Instances
  • Configuring Client-Server Communications
  • Monitoring the Directory Server
  • Monitoring and Managing Enterprise Server on Windows
  • User Exits for Request Handlers
  • Troubleshooting
  • Enterprise Server Administration Console Help Pages
Parent topic: Enterprise Server


Overview and Architecture

This section provides an overview of an Enterprise Server installation and its components, and describes the architecture.

  • Enterprise Server Overview
  • Enterprise Server Architecture
  • Enterprise Server instance Architecture
  • The Micro Focus Directory Server
  • Service Execution Process (SEP)
  • Request Handlers
  • Communications Processes
  • Listeners
  • Implementation Packages
  • XA Resources
Parent topic: Enterprise Server Configuration and Administration


Enterprise Server Overview

Enterprise Server provides an execution environment for COBOL application programs. Within an Enterprise Server, you can operate a number of Enterprise Server instances. Enterprise Server instances provide session and state management for COBOL applications, as well as optionally interfacing with external resource managers to coordinate resource updates.

The type of applications you can run on an Enterprise Server installation fall into the following categories:

  • COBOL applications running as services

    A service can contain a number of operations. Clients that use these operations supply the required input, and the service returns the results.

  • CICS subsystems

    In an Enterprise Server environment, a CICS region can operate as an Enterprise Server instance. These CICS regions behave in the same manner as those operating in a mainframe CICS environment. You can configure a CICS region operating as an Enterprise Server instance to communicate with a CICS region running on a mainframe.

  • IMS applications

    You can configure an Enterprise Server instance to run IMS applications.

  • JCL jobs

    You can configure an Enterprise Server instance to run batch initiator and batch printer JCL jobs.

Parent topic: Overview and Architecture


Enterprise Server Architecture

An Enterprise Server installation consists of a Micro Focus Directory Server, and a number of Enterprise Server instances. An Enterprise Server instance provides a pool of pre-initialized service execution processes (SEPs), within which COBOL applications are executed. For example, in an Enterprise Server CICS implementation, a CICS region runs as an Enterprise Server instance.

When you install Enterprise Server, depending on the Micro Focus product, a number of Enterprise Server instances are automatically set up for you. You can create further Enterprise Server instances as required.

As an administrator, you log on to the Enterprise Server administration user interface operating on the Micro Focus Directory Server. From this user interface, you can configure installation-wide settings. From this user interface, you can also access the administration user interfaces for each Enterprise Server instance operating in the installation.

Parent topic: Overview and Architecture


Enterprise Server instance Architecture

The following figure shows a high-level view of the Enterprise Server instance architecture and components.

Figure 1. Enterprise Server instance architecture

An Enterprise Server instance consists of some processes and an area used for inter-process communication.

As the COBOL applications run within their own address spaces, they are isolated from other programs executed within the Enterprise Server instance. Multiple execution processes enable concurrent processing of COBOL programs responding to client request messages.

The instance processes include a console daemon, server manager and communications process. These processes provide the following functionality:

  • The console daemon manages Enterprise Server instance processes and logs messages.
  • The server manager creates and manages the inter-process communication area and works in conjunction with the console daemon to provide process management.
  • The communications process receives incoming client requests and forwards them on to the appropriate services. It also receives the output from the request processing and sends it back to the clients. The requests can come from the following types of client:
    • Clients requesting a Web service. Requests from these clients arrive over HTTP as SOAP (Simple Object Access Protocol) messages.
    • J2EE clients requesting a service. Requests from J2EE clients arrive using a Micro Focus encoding and transport protocol.

All types of requests use TCP/IP as the underlying communications mechanism.

An Enterprise Server instance is created with one communications process, but you can add more to improve reliability and fault tolerance.

An Enterprise Server instance is created with two service execution processes (SEPs). A SEP is the process that actually executes the COBOL program that handles the client request. You can add more SEPs if the processing load requires it.

The inter-process communication area consists of a shared memory area that contains definitions of all the services that are available within the Enterprise Server instance. These definitions are located on the Directory Server. It sits outside the Enterprise Server instance, and can contain information for the Enterprise Server instances running in your installation. The inter-process communication area is also used to pass requests and responses between the Enterprise Server instance processes.

Parent topic: Overview and Architecture


The Micro Focus Directory Server

The Micro Focus Directory Server (MFDS) is a process that maintains the Enterprise Server operating information. It maintains information on the following components:

  • Enterprise Server instances and the services that are operating
  • Communications processes
  • Listeners
  • Request handlers
  • Implementation packages
  • XA resources

By default the Directory Server runs on the same machine as your Enterprise Server instances.

In addition to maintaining information on Enterprise Server instances, the Directory Server can also store information about CCI servers. These are servers that provide services using the Micro Focus Common Communication Interface (CCI), using the Directory Server as a naming server instead of registering with a CCITCP2 process. CCI servers are supported for backward compatibility:

  • Directory Server Information
  • Repository Statistics
Parent topic: Overview and Architecture


Directory Server Information

The Directory Server maintains information on all of the objects that it controls. These are:

  • Servers
  • Services
  • Communications processes
  • Service listeners
  • Request handlers
  • Implementation packages
  • XA resources
Parent topic: The Micro Focus Directory Server


Repository Statistics

Some items of information about the repository appear on the Statistics page:

  • Total count – the total number of objects currently in the repository
  • Repository status – the current status of the repository, for example, when Directory Server started and how many objects were loaded into the Directory Server from the repository
  • Repository location – the directory where the repository is located. By default this is C:\Documents and Settings\All Users\Application Data\Micro Focus\\X.X\MFDS reUZE Developer (assuming that your %SYSTEMDRIVE% is c:)

You can also find the repository location by using the /m option of the mfds command-line utility (e.g. mfds /m).

Parent topic: The Micro Focus Directory Server


Service Execution Process (SEP)

An Enterprise Server instance can run a number of SEPs, depending on the functionality it provides. When a SEP has finished processing a request, it becomes available to process other requests as they are generated. A SEP contains the following components:

  • Application container

    The COBOL run-time system adapted to operate in the Enterprise Server environment. Within a SEP, application runs inside an application container.

  • Transaction management component

    Manages transactions for container-managed services, that is, it coordinates COMMITs and ROLLBACKs.

  • Request handler

    Decodes requests that are received. There is a Micro Focus request handler for each type of client request that Enterprise Server can handle. The request handler maps the output parameters into a form the client will understand.

    There are request handlers for the SOAP protocol and for the Micro Focus binary protocol. You can configure user exits to customize the request provided for the SOAP protocol.

  • Resource manager interface

    Handles requests for resources such as database and file access.

The processing of a request proceeds as follows:

  1. An Enterprise Server instance's communications manager receives a client request. The request is queued within the shared memory area and is scheduled for execution.
  2. When a SEP becomes available, it starts processing the request: it calls the application container.
  3. The application container then calls a request handler to decode the received request.
  4. Once the transaction or application has finished processing the request, the application container calls the request handler to map the output parameters into a form the client will understand.
  5. The application container then passes the response to the communications manager, which sends it back to the client.
Parent topic: Overview and Architecture


Request Handlers

A handler, or request handler, is a program that receives a client request for access to the service, and translates the request into a form that the service can understand. After the service has completed its task, the request handler translates the output back into a form that the client can understand, then passes the output to the client, via the communications process.

We provide request handlers for the SOAP protocol and for the Micro Focus binary protocol. You can customize the request provided for the SOAP protocol using user exits.

Parent topic: Overview and Architecture


Communications Processes

Communications processes are responsible for listeners. When you add a new Enterprise Server instance, it is created with one communications process, containing listeners for the two system services. You then add further listeners as required to deal with the expected workload of the Enterprise Server instance. Once you have the process defined as you want, you can create additional communications processes by copying the existing one. The advantages of having more than one communications process are:

  • The Enterprise Server instance is more robust in the event of communications failures. If one communications process encounters a problem, the others can continue to receive and process client requests and send back the replies.
  • The Enterprise Server instance can handle more client requests, because communications processes use a threaded architecture, and more communications processes means that more threads are available.
Parent topic: Overview and Architecture


Listeners

A listener object contains a network address that accepts incoming client requests on behalf of services. A service can have multiple listeners, and a listener can accept client requests on behalf of multiple services.

You can configure a listener to use SSL (Secure Sockets Layer), a facility for secure, encrypted communication and checking online identities.

Each listener is associated with a connector. This is software that can process the type of requests the listener handles.

Enterprise Server comes with several connectors, including:

  • The soap connector, which handles both Web Services SOAP requests and the Micro Focus Binary Protocol used for J2EE requests.
  • The http-switch connector, which provides simple web server capabilities and is used for service deployment.
  • The http-echo connector, which responds to HTTP requests with a short HTML reply and can be used for connection testing.
Parent topic: Overview and Architecture


Implementation Packages

An implementation package object contains information about the COBOL application that provides the service. A package is associated with an interface definition table (IDT), which contains the information that allows a client request to be mapped onto a COBOL program interface.

Parent topic: Overview and Architecture
Related information
Services, Packages and Request Handlers


XA Resources

An XA Resource object contains information about an XA-compliant database manager required to provide database access to one or more container-managed services. .

Parent topic: Overview and Architecture
Related information
Resource Management
Resource Managers


Configuration and Administration User Interface

This section introduces the Enterprise Server Administration web interface and the configuration process. You can use the administration interface to configure, monitor, and control Enterprise Server instances locally, across the Internet, or on your intranet, from a computer that has any of the following browsers installed:

  • Internet Explorer V6.0 or greater
  • Netscape V6.0 or greater
  • Mozilla V1.3 or greater
Note: By default Directory Server uses port 86. If you have an active firewall on the Directory Server machine, you need to make sure that it is configured to allow access to this port.
  • About the Enterprise Server Administration User Interface
  • User Interface Tables
  • Navigation
  • Accessing the Enterprise Server Administration UI
Parent topic: Enterprise Server Configuration and Administration


About the Enterprise Server Administration User Interface

When you access the Enterprise Server user interface, the Home page is displayed. What you can see depends on your access permissions, set by your login ID.

Menus

The Enterprise Server Administration menus appear in a panel on the left-hand side of the page. The menu options are grouped under headings, such as Actions. You see only the menu options that are appropriate to your permission level. Some Enterprise Server Administration; actions are available as push buttons on tables.

Status line

The status line appears towards the top of the page, under the Enterprise Server Administration heading. This line provides information about the status of the Directory Server. If the information is an error message, it appears in red.

Enterprise Server instances

Information about the Enterprise Server instances is presented in tables on the user interface. You can modify the level of information displayed on the home page by using the the expand button and the contract button buttons in the top left-hand corner of the servers table.

Most tables contain one or more Edit buttons, which you can click to go to a page to update the selected object's attributes, and an Add button, which you can click to go to a page where you can add an object of that type.

Refreshing a page

Many pages contain a Refresh button. Click this after you have performed an action that should be reflected in the contents of that page's table. For example, if you have just added a server, click Refresh on the Home page, and the details of the new server will appear in the servers table. Some pages also include an Auto-refresh interval field that enables you to specify the interval (in seconds) between automatic refreshes. The default (and the minimum) is 10 seconds; a blank space means no automatic refresh.

Parent topic: Configuration and Administration User Interface


User Interface Tables

Information about the objects in the Directory Server is presented in tables. The table that you see on the Home page after you have logged on presents information about the servers in the Directory Server repository. You can modify the level of information displayed on the home page by using the the expand button and the contract button buttons in the top left-hand corner of the servers table

The servers table has a number of Details push buttons, which you can click to go to a page with more detail on that particular type of object.

In the server table some columns are white while others are beige. Information in the white columns applies to both enterprise servers and CCI servers, while information in the beige columns applies only to enterprise servers.

As soon as you select a server to edit, or one of the other tables to view, such as the service table, the page changes to a tabbed format, enabling you to switch between communications processes, services, request handlers and implementation packages. The figure below shows the Edit Server page. The numbers in parentheses after the tabs on the top row indicate how many objects of that type are registered with the server.

Figure 1. Edit Server Page Showing Tabs
Edit Server Page Showing Tabs

Most tables also contain one or more Edit buttons, which you can click to go to a page where you can update the selected object's attributes, and an Add button, which you can click to go to a page where you can add an object of that type.

Parent topic: Configuration and Administration User Interface


Navigation

Enterprise Server Administration provides two sets of facilities, each with its own mode of navigation:

  • You perform various administrative tasks, such as saving and restoring Directory Server information, and creating new users, by selecting items from the menu in the left-hand panel. What you can select depends on your permission level.
  • You work with objects in the repository by clicking buttons in the main part of the page, usually in the table currently being shown. For example, if you want to add a new request handler, you need to:
    1. Click Details against Request Handlers in the table of servers on the Home page, to see the table of request handlers.
    2. Click Add in the bottom left-hand corner in the request handlers table, to reach the Add Request Handler page.

You can always return to the Home page wherever you are by clicking Home at the top of the menu in the left-hand panel, or upwards-pointing arrow in the top left-hand corner of the server details page or any of the object details pages.

Note:

We recommend that you do not use the Back button on your Web Browser tool bar to return to the previous page, as doing this might resubmit an administration request that is no longer valid.

Parent topic: Configuration and Administration User Interface


Accessing the Enterprise Server Administration UI

In the Windows environment, you can access Enterprise Server administration from the Windows Start menu. The option varies depending on the Micro Focus product you are using. For example, for Studio Enterprise Edition, you can choose the following option: Start > Micro Focus Studio Enterprise Edition > Configuration > Enterprise Server Configuration

Alternatively, for example in a UNIX environment, providing the MF Directory Server is running, you can access the user interface directly from a web browser:

  • Open a Web browser and enter the URL http://targetname:86. Where targetname is the machine on which Enterprise Server Administration is running. For example, if Enterprise Server Administration is running on your local machine, enter http://localhost:86.

    Enterprise Server Administration opens with the Home page. If user access is restricted, you must logon before you can access any other features.

Note:
  • If you see the message "The Page cannot be displayed", it may be that the Directory Server has been stopped. If it is on your local machine, you can start it again from the Windows Control Panel.
  • If you have Net Express installed, there are two alternative methods of accessing Enterprise Server Administration on your local machine:
    • In the Net Express IDE click Tools > Enterprise Server Administration
    • ClickStart > Programs > product-name > Configuration > Enterprise Server Administration
  • Displaying Server Information
  • Refreshing a Page
Parent topic: Configuration and Administration User Interface
Parent topic: Enterprise Server Task Index
Parent topic: Adding a Listener to Enterprise Server


Displaying Server Information

To see the information about servers managed by the Directory Server, access the server table on the Enterprise Server Administration Home page.

Note:

The server information displayed depends on the user and group permission that are set. For example, if you have not been granted "read" permission for a particular server, you will be unable to view it in the list.

The server table is available in two modes, summary and expanded. When you first start Enterprise Server Administration, it is shown in summary mode. You can switch to expanded mode by clicking the icon at the top left-hand corner of the table.

Figure 1. Server Table in Expanded Mode
Server Table in Expanded Mode
Parent topic: Accessing the Enterprise Server Administration UI
Parent topic: Monitoring the Directory Server


Refreshing a Page

Many pages contain a Refresh button. Click this after you have performed an action that should be reflected in the contents of that page's table. For example, if you have just added a server, click Refresh on the Server Information page, and the details of the activity are updated.

You can also configure the ESMAC pages to automatically refresh. To do this:

  1. In the Interval field, which is adjacent to the Refresh button, enter the number of seconds to wait between each refresh. This must be a number greater than 10.
  2. Click the Refresh button.
Parent topic: Accessing the Enterprise Server Administration UI
Parent topic: The ESMAC User Interface


Planning your Configuration

This section describes the issues and performance considerations that affect how you will configure Enterprise Server after you have installed it.

  • Introduction
  • Security Options
  • Enterprise Server Execution Control Under Windows
  • Firewall configuration
  • About Communications Processes
  • Deployment Services and Listeners
  • Enterprise Server Instance Configuration Issues
  • Performance Considerations
Parent topic: Enterprise Server Configuration and Administration


Introduction

After installation and before users start working with Enterprise Server, you need to:

  1. Decide on a user account strategy and implement it.
  2. Based on your security requirements, configure your security options.

    This is a complex subject, and is covered in a separate section.

  3. Set configuration options for the Directory Server.
  4. Set configuration options for your Enterprise Server instances.
Parent topic: Planning your Configuration


Security Options

By default, an application running in an Enterprise Server instance has the access permissions of the login ID that started the session under which it is running.

You can configure security managers to control access to applications and resources, regardless of the access level that the operating system allows.

We recommend that you carefully consider the security options that you require and configure your system appropriately.

Note: To ensure system robustness, you should use the same security configurations for both the MF Directory Server and the Enterprise Server instances that the MF Directory Server controls. If you do not, there is a risk that you will configure a system where an application has insufficient rights to access the resources that it needs.

Details on securing your installation, and the resources invoked from within your applications are included in a separate section of the help: Securing an Enterprise Server Installation.

  • About Securing an Enterprise Server Installation
Parent topic: Planning your Configuration


About Securing an Enterprise Server Installation

You use the Enterprise Server security facility to implement user authentication, and to control access to the applications and resources that a system uses.

You control access to Enterprise Server administrative features, MSS applications and application resources through the use of security managers, sometimes refered to as external security managers (ESMs). Through the use of these security managers, you can implement measures such as verifying users against the operating system configuration or incorporating an LDAP repository into your Enterprise Server security.

Securing an installation involves securing access to the following system components:

  • The Directory Server (MFDS)

    The Directory Server maintains records of system components and their configurations. You use the Enterprise Server Administration user interface (ESMAC) to create and modify these configurations. Securing the Directory Server controls who can configure the system.

  • Enterprise Servers

    Enterprise Servers use the application's program files, data files, and other items that a system uses while operating.

  • Inter-system communications

    You can configure SSL links between components to secure these communications. This is covered in another part of the help.

Note: It is possible to apply different security configurations to the Directory Server and the Enterprise Servers. This can cause problems during operation however. For example an administrator can have MFDS access permissions to configure a resource, but if the enterprise server does not have access permissions to use the resource, it cannot be used during operation. The safest thing to do is to apply the same security configuration to the Directory Server and the Enterprise Servers it controls.
Parent topic: Security Options
Parent topic: Architecture and Overview


Enterprise Server Execution Control Under Windows

This topic describes the execution control of COBOL programs running as services and executables.

When a COBOL program runs as a Micro Focus service in an Enterprise Server instance, it inherits its security credentials from the server manager process that started the SEP.

Usually, Enterprise Server is started using the Micro Focus Enterprise Server Administration user interface, the Web interface to the MF Directory Server. In this event, Enterprise Server Administration (ES Admin) runs as a Windows system service. It is listed as Micro Focus Directory Server in the Services Control Panel. Windows system services run under the user account specified in their Startup options. You can view and change the Startup options using the Services Control Panel.

If Enterprise Server is started using the casstart program, run from the command line by an interactive user, then COBOL service programs use that user's security credentials.

When Enterprise Server is installed, the MF Directory Server is installed as a system service using the Local System user account, with the Allow service to interact with the desktop option selected. With this option selected:

  • The Directory Server is started when Windows boots up. You do not need to log into the system to start the Directory Server. Note that any system service can be set to start up when Windows boots, regardless of the user account it runs under.
  • Using this option allows the console daemon window to display when an Enterprise Server instance is running. User accounts other than the Local System user account cannot use the Allow service to interact with the desktop option.
  • If the Allow service to interact with the desktop option is not selected, the console daemon window is not displayed. You can however still view the console daemon messages through the ES Admin user interface.

The Local System account does not have privileges for network file access. That means that COBOL service programs that are running in an Enterprise Server instance that was started through MFDS, using the default configuration, are unable to open network files. To enable network file access from your COBOL service programs, use one of these methods:

  • Log in to Windows using an account with the network file access permissions that you want, and from the command line, start the Enterprise Server instance using the casstart command.

    COBOL service programs use the logged-in user's network credentials and can access the files that the logged-in user has authorization for.

    The disadvantage of this method is that it must be done manually, that is, the Enterprise Server instance must be stopped manually (using the casstop command) rather than through ES Admin.

  • Disable MFDS in the Services Control Panel and then start it from the command line using the mfds command while logged in as a user who has the appropriate network file access. When the Enterprise Server instance is started from ES Admin, it will inherit MFDS's user credentials.

    The disadvantages of this method are similar to the method above, though ES Admin can be used to start and stop Enterprise Server instances in this case.

  • Change the user account for the MFDS service. If you have the MFDS service running under a user account that has the appropriate network file access, your COBOL service programs will be able to open those files. Note that your programs will need to use UNC paths (that is, file path name of the form \\server\share\path-to-file\filename) and not drive mappings, to reliably open network files.

    The main disadvantage of this method is that Enterprise Server cannot display the console daemon window. However, this does improve the security of the installation, since access to the local desktop is a security risk. Running COBOL application programs under a normal user account (if it has reduced privileges), rather than under the Local System account (which is equivalent to an Administrator account for local security purposes) is more secure.

We recommend that for Enterprise Server on Windows (whether or not your COBOL service programs need network file access), you create a user account specifically for MFDS and the COBOL service programs running under it. Set the permissions on this account appropriately, that is, don't grant it any permissions that the COBOL programs don't need. For additional security, you can set ACLs to grant or deny access to particular objects (directories, files, registry keys) for this user to further control what COBOL service programs can do.

Parent topic: Planning your Configuration
Related concepts
Defining Enterprise Server Instance Administrators


Firewall configuration

If you have an active firewall on the machine that is running your Directory Server and Enterprise Server instances, and you want remote clients to be able to connect to them, you must ensure that the firewall allows access to the ports that you are using.

For example, Directory Server is configured, by default, to use port 86. Your must configure your firewall to allow TCP and UDP access to this port. Similarly, the default Enterprise Server instance for most platforms, ESDEMO, has a Web Services and J2EE listener that uses port 9003. For remote clients to be able to submit requests to this listener, your firewall must permit access to this port.

We recommend that, if you want remote users to access Enterprise Server functionality through the firewall, you use fixed port values so that you can control access via these.

Note: If you are using Microsoft Windows XP and have installed Service Pack 2, you might find that you cannot see certain Enterprise Server Administration pages, because of firewall restrictions. To get round this, you need to enable access to the ports you are using, for example, 86 for the Enterprise Server Administration Home page and 9003 for the default enterprise server, ESDEMO. Use the Windows Security Center to do this.
Parent topic: Planning your Configuration


About Communications Processes

Communications processes handle communications between clients and the Enterprise Server instance, and consist of a number of service listeners. When an Enterprise Server instance is created it contains one communications process. If there is a communications failure for any reason, the Enterprise Server instance cannot process any work until the communications process is restarted. So, to improve the ability of an Enterprise Server instance to withstand communications failures, you can create one or more additional communications processes per Enterprise Server instance. You create an additional communications process by copying an existing one. The new communications process is an exact clone of the original, except that any fixed port numbers are not cloned. The first communications process in a newly created enterprise server, Communications Process 1, contains a Web Services and J2EE listener and a Web (deployment) listener. If you are creating a new enterprise server, you might want to modify this communications process definition before you copy it, depending on the particular workload you have planned for the server.

For fault tolerance you need at least two communications processes. You might need more than two to overcome operating system thread limits. The maximum is 32.

Parent topic: Planning your Configuration
Parent topic: Configuring the Server Instance Enviromnent
Parent topic: Configuring Client-Server Communications


Deployment Services and Listeners

After installation, the Enterprise Server instance ESDEMO has a default deployment service named "Deployer". You can modify this deployment service or create additional deployment services with different configurations. You can also add deployment services to enterprise servers that you create.

The Deployer service uses a listener called Web, which uses the http-switch connector. If you modify the Deployer service, you will probably need to change the configuration of the Web listener too. You can also create your own listeners for use with deployment services.

  • Deployment Services
  • Deployment Listeners
Parent topic: Planning your Configuration


Deployment Services

All deployment services must have their Service Class attribute set to 'MF deployment'. They must be associated with a listener that uses the conversation type 'Web'.

The configuration information for a deployment service looks like this:

[MF client]
 scheme=http
 URL=virtual-directory-name-1/mfdeploy.exe/virtual-directory-name-2
 accept=application/x-zip-compressed

where virtual-directory-name-1 specifies the directory that holds the deploy program, mfdeploy.exe, and virtual-directory-name-2 specifies a directory to contain deployed services.

The values for the scheme and accept parameters must not be changed, but when you are creating a new deployment service you can omit them, as these are the defaults.

The settings for the Deployer service of ESDEMO are:

[MF client]
 scheme=http
 URL=/cgi/mfdeploy.exe/uploads
 accept=application/x-zip-compressed

The configuration of a deployment service must match the configuration of the listener for the service. The URL parameter must specify the same virtual directory name for the location of the mfdeploy.exe program as the listener uses. You can change the virtual path to receive deployed services to any virtual directory name configured for the listener.

For example, if the listener's configuration was:

then you might create a deployment service named "project1" with this configuration:
[MF client]
 scheme=http
 URL=/studioenterpriseedition/mfdeploy.exe/project1
 accept=application/x-zip-compressed

and services deployed using the "project1" service would be stored under c:\development\project1. You could create a similar service for project2.

Note that the deployment directory must have a .mfdeploy file. Copy the .mfdeploy file from install-dir\base\deploy and modify it as necessary.

Parent topic: Deployment Services and Listeners


Deployment Listeners

The configuration information for a deployment listener consists of the section name "[virtual paths]" followed by a list of URL top-level directories and the paths they will be converted to. For example, the Web listener used by ESDEMO's Deployer service looks like this:

[virtual paths]
 cgi=<ES>/bin
 uploads=<ES>/deploy
 <default>=/dev/null

The "cgi" virtual path is used to specify the location of the mfdeploy.exe program which receives the COBOL archive file being deployed, and the "uploads" virtual path tells mfdeploy.exe where to create the directory for the uploaded COBOL archive file. The special token "<ES>" is translated into the Server Enterprise Edition base installation directory. For example, if Enterprise Server is installed in c:\Programs\Studio Enterprise Edition, then "<ES>/deploy" becomes c:\Programs\Studio Enterprise Edition\base\deploy, the default deployment directory.

Note that only the first directory in the URL specified by the client performing the deployment is checked against the list, and that the entries in the list have to be just a single directory name.

The "<default>" directory is used if the first directory in the URL specified by the client doesn't match any of the entries in the list. The default directory must be one that does not exist, so that when the communications process translates the URL into a full path, the request will fail. This stops any attempt by a client to browse arbitrary directories on the machine. You don't need to specify a default directory, since the communications process uses a safe default anyway.

Here is another example:

[virtual paths]
 <default>=c:/web
 docs=c:/web/documents
 images=d:/media/images

With this configuration, the URL http://host:port/docs/a.html will return the file c:\web\documents\a.html, and the URL http://host:port/images/gif/b.gif will return the file d:\media\images\gif\b.gif.

Parent topic: Deployment Services and Listeners


Enterprise Server Instance Configuration Issues

You can configure various attributes of an Enterprise Server instance, for example how much memory is available to it, how many service execution processes it starts up with, what information is traced. Most of these options are fairly straightforward; in any case detailed advice on these options is available in the help for the Add Server and Edit Server pages.

An Enterprise Server instance and the objects it contains (services, listeners, etc) each have a specific Configuration Information field, accessible on the Add and Edit pages for each type of object. Entries in the Configuration Information field use the .ini file format, with section names in square brackets followed by name/value pairs:

[ASection]
name1=value1
name2=value2

Most settings are case-insensitive except:

  • The names of virtual paths for the "Web" listener are case-sensitive.
  • Shared Memory Area
  • Shared Memory Cushion
  • Number of Service Execution Processes
Parent topic: Planning your Configuration


Shared Memory Area

The shared memory area is an area of memory where an Enterprise Server instance stores all the information it needs to run (see the section reUZE Server Architecture in the chapter Introduction). The shared memory area is measured in pages of 4KB each. The shared memory area has to be big enough to contain all the definitions of the objects in the server, and all the current client requests. If you run out of shared memory while the server is running, the performance of the Enterprise Server instance will be significantly affected and this could prevent client requests from being processed.

Use the calculation described in this section to estimate the number of shared pages to allocate to an Enterprise Server instance.

Actual requirements vary according to the nature of the workload, but you are advised to allow a generous safety margin. Enterprise Server optimizes the use of the shared memory resource by minimizing the number of physical pages used at lower than maximum processing volumes.

Perform the calculations in the middle column of the table below and enter the result of each calculation in the right-hand column. The sum of these answers is the minimum number of bytes required for the shared memory. Divide this number by 4096 and round up to a whole number to get a figure for the number of shared pages needed.

Item | Calculation | Result
Overhead | Fixed size | 8192
Shared memory area management | Shared memory area size / 4096 |
Trace | If auxiliary trace not active: Number of entries x 24 |
Trace | If auxiliary trace active: Number of entries x 24 x 11 |
Local trace | Number of service execution processes x number of entries x 24 |
Services | Number of services x (128 + service-name-length) |
Service execution processes | Number of service execution processes x 144 |
Request handlers | Number of request handlers x (128+handler-name-length) |
Packages | Number of packages x (128+IDT-name-length + application-path-length + module-name-length) |
Resident IDTs | Number of resident IDTs x IDT-length |
Client requests | Number of client requests being processed at any one time x (256 + average size of client request) |
Clients | Peak number of concurrent clients x 64 |
Access Control Environment Elements | Peak number of signed-on users x 428 The number of signed-on users should include the 4 default users used by the system. |
Total |  |

where:

service-name-length | is the length of the service name
handler-name-length | is the length of the name of the request handler
IDT-name-length | is the length of the IDT name
application-path-length | is the length of the path to the COBOL application in the package
module-name-length | is the length of the name of the module containing the application
IDT-length | is the size of the IDT file for a package
Parent topic: Enterprise Server Instance Configuration Issues


Shared Memory Cushion

The shared memory cushion is part of the shared memory area. Its function is to handle short-term high demands on the server. When an Enterprise Server instance starts, the shared memory cushion is not available for use, and it is never used by incoming client requests. It is used only when a response needs to be passed back to a client, and there is insufficient free memory in the main area to handle the response.

The shared memory cushion is also measured in pages of 4KB each. Set the shared memory cushion to 10% of the size of the shared memory area.

Parent topic: Enterprise Server Instance Configuration Issues


Number of Service Execution Processes

When an Enterprise Server instance is created it contains two service execution processes (SEPs). SEPs process incoming client requests. When a response has been returned to a client, the SEP becomes available again to handle another request. If all the SEPs are busy handling requests, incoming requests must wait for one to become free. The number of SEPs in an Enterprise Server instance impacts performance. The kind of impact depends on a number of variables. You will need to experiment to find out the optimum number of SEPs in any particular enterprise server. For more advice see the section Performance Considerations .

You can change the number of SEPs in an enterprise server while it is running, although any change you make has an effect only until you stop the server. At this point the number of SEPs reverts to the value you set when you added the server or edited the server details.

Parent topic: Enterprise Server Instance Configuration Issues


Performance Considerations

How you configure an Enterprise Server instance for performance depends on a number of factors. One obvious factor is the expected workload of the server. You need to consider the frequency with which client requests arrive, and the required speed of response to those requests.

Two more factors are the type of services that run within the server and the type of requests for the services. Services can be categorized as I/O-bound or CPU-bound, while client requests can be categorized as short-running or long-running.

  • I/O-bound Services
  • CPU-bound Services
  • Short-running Client Requests
  • Long-running Client Requests
Parent topic: Planning your Configuration


I/O-bound Services

Services that perform a lot of I/O requests are often dormant while they are running, while they wait for the responses to their requests. However, processing I/O requests can sometimes make considerable demands on the CPU. You need to consider whether you might need more service execution processes for this type of service.

Parent topic: Performance Considerations


CPU-bound Services

Services that do not perform any I/O requests (or very few) are usually constrained by the use they make of the central processor. With CPU-bound services, fewer service execution processes usually work better, because the central processor switches between the running tasks, and this is an overhead.

Parent topic: Performance Considerations


Short-running Client Requests

Short-running client requests are requests where there is just one interaction between the client and the service; the client request arrives, the service runs, and a response is returned to the client. Requests from Web services clients are always short-running.

With short-running requests, you only need to consider whether or not the the service itself is I/O-bound or CPU-bound.

Parent topic: Performance Considerations


Long-running Client Requests

Long-running client requests are requests where the same client can make repeated requests of a service and needs data to be preserved between invocations of the service. In Java terms, they are stateful requests. So if the client is a stateful Java bean running in an application server such as WebLogic or WebSphere, the service will run for as long as the bean runs. In these circumstances, you need more service execution processes, even if the service itself is CPU-bound rather than I/O-bound.

If the Enterprise Server instance detects that the request is stateful, a new service execution process is started automatically. Dynamic growth of service execution processes consumes machine resources and can affect the performance of the enterprise server. We recommend that, unless your application design actually requires stateful interaction, you keep these types of request to a minimum.

Parent topic: Performance Considerations


Configuring the Server Instance Enviromnent

You can use the Configuration Information field on the Add Server and Edit Server pages for configuration data specific to each Enterprise Server instance. This field can contain the following section:

[ES-Environment]

Settings in this section are added to the environment of programs running under this enterprise server. You can use it to set arbitrary environment variables required by your programs, such as DDNAMEs, or to set system or COBOL run-time variables such as PATH and COBPATH.

You can also configure a setting that allows you to access and run JCL files from the local machine.

You can also use the Configuration Information field on the Add Server and Edit Server pages to set parameters for communications processes belonging to that Enterprise Server instance. Communications process settings in the server object apply to all of the communications processes for that Enterprise Server instance. To set parameters for only one communications process, use the Configuration Information field on the Add Communications Process or Edit Communications Process pages.

  • Configuring Environment Variables
  • About Communications Processes
  • Configuring Fileshare
Parent topic: Enterprise Server Configuration and Administration


Configuring Environment Variables

You can use Enterprise Server environment variables to configure many server instance environment properties. This section contains information on setting environment variables, and on the environment variables that are available.

Tip: This section contains an alphabetical listing of environment variables, and environment variables listed by functional group. For variable values, check the alphabetical listing, and if this does not contain values, search the online help for the variable name.
  • How Enterprise Server uses Environment Variables
  • Setting Environment Variables
  • Environment Variables by Groups
  • Environment Variables: Alphabetical Order
Parent topic: Configuring the Server Instance Enviromnent


How Enterprise Server uses Environment Variables

An Enterprise Server instance's environment depends on the method you use to start the server instance:

  • When you start an Enterprise Server instance from the Enterprise Server Administration user interface, it inherits its environment from the Directory Server.
  • When you start an Enterprise Server instance from the command line using the casstart command, it inherits its environment from that command-line shell.

This means that all the environment variables that you need to run your servers' workload, including directory settings for third-party software, can be set in the session where you start the Directory Server. If Directory Server is running as a Windows service, it will have the system environment.

You can set environment variables for an Enterprise Server instance in Configuration Information on the Add Server or Edit Server page. These apply to all services that run in the server.

Any environment variables set at the service level when the service was created using the Interface Mapping Toolkit override the settings at the server level.

The format for environment variables is

[ES-Environment]
environment-variable-name=environment-variable-setting

Use a semi-colon to separate elements within the string on Windows platforms. On Unix platforms, use a colon to separate elements within the string. For example:

  • For Windows:
    [ES-Environment]
COBPATH=c:\adirectory;c:\anotherdirectory
  • For UNIX:
    [ES-Environment]
COBPATH=/home/adirectory:home/anotherdirectory
Note:

We recommend that you do not set the COBDIR environment variable for an Enterprise Server instance, especially on UNIX. This is because $COBDIR is used to point to the product location. The results of setting $COBDIR are undefined. Use the COBPATH environment variable if you want to specify the location of service programs at the enterprise server level. If you do set the COBPATH environment variable at enterprise server level, you also need to specify "$COBPATH" in Package Path in the Add Package or Edit Package page for services that should be located using COBPATH.

When you specify an environment variable, you can use the resolved value of another already-created variable as part of the environment variable value. To do this, prefix the environment variable you want to include with a dollar ($) sign, for example:

  • For Windows:
    FILEROOT=d:\data
FILEA=$FILEROOT\mydata.dat

    For Windows, this resolves to d:\data\mydata.dat

  • For UNIX:

    For UNIX, this resolves to /home/data/mydata.dat

If you want to include a dollar sign in an environment variable value as part of the actual value, rather than as an indicator that another environment variable is being referred to, you can enable the dollar sign character to be escaped by inserting a backslash (\) character, for example:

FILEA=\$\$fsserver1\mydata.dat

For Windows, this resolves to $$fsserver1\mydata.dat

FILEA=\$\$fsserver1/mydata.dat

For UNIX, this resolves to $$fsserver1/mydata.dat

Parent topic: Configuring Environment Variables


Setting Environment Variables

You can use Enterprise Server environment variables to configure a wide range of settings to be used by enterprise server instances. You can set environment variables to apply to all server instances running on an installation, or to apply to specific server instances only. You can also use environment variables to allocate datasets.

  • Environment variables set at the Micro Focus Directory Server (MFDS) level apply to all Enterprise Server instances controlled by MFDS.
  • Environment variables set at the enterprise server instance level apply to the instance only.

You can set environment variables from the Enterprise Server Administration user interface, or from the command line.

  • Setting Environment Variables for Micro Focus Directory Server
  • To Set Environment Variables from the User Interface
  • To Set Environment Variables from the Command Line
  • To Specify Dataset Allocation Using Environment Variables
Parent topic: Configuring Environment Variables


Setting Environment Variables for Micro Focus Directory Server

When you set environment variables for a Micro Focus Directory Server (MFDS), the environment variables apply to all server instances that the MFDS controls.

Note: Environment variables set at the Enterprise Server instance level override any corresponding environment variables set at the MFDS level.

Windows environment

Under Windows, from a command shell you can use the net start command to start MFDS. However, environment variables set in the current command shell’s environment are inherited by the net.exe command, but they are NOT inherited by the MFDS service.

The net start command sends a message to the Windows service controller requesting that it start MFDS. The service controller starts the mfds.exe process, and MFDS inherits its environment.

To change the environment for the MFDS Windows service process, you need to change the system environment on the machine on which the service runs, for example using the System control panel, or by editing it in the Registry.

After you have made the changes, reboot the machine so that the Service Manager configures the new environment.

UNIX environment

Under UNIX, you configure the environment variables in the command shell from which you start MFDS. For example:

  1. Start a command shell.
  2. Set the environment variables that you want. For example, to set that the Enterprise Server instance uses the EBCDIC character set, use the following command:
    export MF_CHARSET=EBCDIC
  3. From the command shell, use the mfds command to start MFDS.
Parent topic: Setting Environment Variables


To Set Environment Variables from the User Interface

From the Enterprise Server Administration user interface, you can set environment variables to apply to each server instance that the interface displays.
  1. From the Enterprise Server Administration page, click the Edit button that corresponds to the enterprise server instance to configure.
  2. Select the Server > Properties > General tabs.
  3. In the Configuration Information text box, type: [ES-Environment]
  4. Enter the environment variable information to configure, using a separate line for each variable to configure.

    Enter the information in the form:

    <variable name>=<value>

  5. Click OK to apply the settings to the server instance.

For example, to configure that an enterprise server instance uses the EBCDIC character set, you would enter the following

[ES-Environment]
MF_CHARSET=EBCDIC
Parent topic: Setting Environment Variables


To Set Environment Variables from the Command Line

Before starting an Enterprise Server instance from the command line, you can set environment variables to apply to the Enterprise Server instance.
From the command line, set the environment variables:

For example, to set that the Enterprise Server instance uses the EBCDIC character set, use the following commands:

  • In the Windows environment:
    set MF_CHARSET=EBCDIC
  • In the UNIX environment:
    export MF_CHARSET=EBCDIC
  • Enter the casstart command to start the server instance.
Parent topic: Setting Environment Variables


To Specify Dataset Allocation Using Environment Variables

To configure datasets, you can specify the full path for each dataset accessed by Enterprise Server. However this is cumbersome and can make it difficult to move between test and production environments that have different directory structures.

To reduce the effort required when the system uses large numbers of data files, you can set environment variables to define the datasets that an Enterprise Server instance uses:

  1. From the Enterprise Server Administration page, click the Edit button that corresponds to the Enterprise Server instance to configure.
  2. Select the Server > Properties > General tabs.
  3. In the Configuration Information text box, type: [ES-Environment]
  4. Configure the datasets to use with the ENVIRONMENTVAR=path syntax where:
    • ENVIRONMENTVAR is the name of the environment variable you are creating
    • path is the full path, including the drive letter, to the dataset.

    You can create as many environment variables as you need to cover all of the paths you want to specify.

  5. When you have defined the datasets, click OK. The settings are applied to the Enterprise Server instance.
  6. In the catalog, when allocating datasets using the %PCDSN option to specify a physical file, you can substitute an environment variable that you defined to represent the path to the file. Prefix environment variable names with a dollar sign ($): $ENVIRONMENTVAR

    For example, you could create an environment variable named PRODDATA and set its value to d:\mydataset.

    Then, to allocate a dataset in the catalog for a file named MFIO1.SAMPLE.DATA, you would use this code:

     //*MFE:%PCDSN='$PRODDATA\MFI01.SAMPLE.DATA'
Parent topic: Setting Environment Variables


Environment Variables by Groups

The following sections list the environment variables by functional group.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
  • Assembler Option Environment Variables
  • CCI Environment Variables
  • CICS-Specific Environment Variables
  • Enterprise Server Communications Environment Variables
  • File Handling and Dataset Environment Variables
  • IMS-Specific Environment Variables
  • Input, Output and Display Environment Variables
  • JCL-Specific Environment Variables
  • Mainframe Access Environment Variables
  • PL/1-Specific Environment Variables
  • Security and Auditing Environment Variables
  • SORT Engine Environment Variables
  • Tracing and Debugging Environment Variables
  • Reserved Environment Variables
Parent topic: Configuring Environment Variables


Assembler Option Environment Variables

These environment variables are used to configure the component locations in Assembler Option. You can use STEPLIB and SYSLIB to configure multiple paths. The rest can set a single path only.

Variable | Description
STEPLIB | The paths for Loader input load-members .390 files (must contain SYSLMOD)
SYSIN | The path for macro input .MLC files.
SYSLIST | The path for Assemble and Link listing files: .MAT, .PRN, and .LST
SYSWORK | The path for Assemble, Link and Animator/370 work files .BAL .IDF/.IDX
SYSPUNCH | The path for Assemble output .PCH files for PUNCH statements
SYSMPC | The path for Assemble input precompiled macros: .MPC
SYSLIB | The paths for Assemble input macro and copy files .MAC .CPY
SYSLIN | The path for Link input .LIN files and Assemble output .OBJ files
SYSLMOD | The path for Link output load-member .390 files
SYSPARM | The path for the Macro input SYSPARM value
Parent topic: Environment Variables by Groups


CCI Environment Variables

This topic lists environment variables that relate to CCI.

Generic environment variable | Description
CCITIMEOUT Allows the specification, in tenths of seconds, of the maximum time out period that will be used with any CCI based application, such as Drag and Drop, SourceConnect, FileShare or the Compare and Syncronisation Monitor. The default is 2 minutes (1200), and the maximum value that can be used is 2,147,483,647. For example to set this value to 4 minutes:

SET CCITIMEOUT=2400

CCIERRLOG | Specifies the output location and filename of ccierr.log content which tracks first-instance errors reported from the operating systems. CCIERRLOG overrides any entries found in CCI.INI, where the syntax and content is explained in detail.
CCITRACE Specifies the level of CCI tracing

Values

Filename for and trace output and the trace options. The trace options are as follows:

Note: In all options, / or - must prefix the option. That is, /OFF is the same as -OFF.
  • /OFF

    Switches all CCI tracing off regardless of CCI.INI settings.

  • /N

    Do not trace any user data in the output. Only trace system activity.

  • /D

    Logs the contents of all buffers passed to and from the CCI functions. The default condition for this option is OFF. Data tracing may not be allowed if the application has been coded to prohibit data tracing for security reasons.

  • /F

    Logs the details of CCI API calls to the trace file. The default condition for this option is OFF, unless a filename or any other trace option are specified, in which case it is always ON.

  • /P

    Logs the details of protocol level calls to the trace file. If this flag is not ON, then only the details of the CCI user level API will be traced. If this flag is ON, the level of function tracing may be greatly increased. The default condition for this option is OFF.

TCP/IP specific variables | Description
CCITCP2 | Locates the TCP/IP registration program. Values: The hostname or the IP address of the machine hosting the CCITCP2 registration program.
CCITCP2_PORT | The port that is being used for the registration process. Values: The port on which the CCITCP2 registration program operates.
Secure Connection (SSL) specific variables | Description
RANDOM | If using SSL connections, externally generated random data that is stored as a numeric value in the RANDOM variable will be inserted into the initial salt value used to generate temporary key pairs used in SSL hand-shaking. The RANDOM value will only form part of the initial salt value and is an aid to generating more randomness and not an essential requirement.
COBSSL | If using SSL connections specifies the location of the DemoCA directory. If not found, SSLDIR is inspected instead.
SSLDIR | If using SSL connections specifies the generic location of the system's OpenSSL directory.
Parent topic: Environment Variables by Groups


CICS-Specific Environment Variables

These environment variables relate to configuring the CICS environment.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
CICS_SIT | The name of the SIT used by the region
ES_CICS_SINGLE | Configures CICS so that a user can only log on once
ES_CLASS_XPCT | Overrides the default CICS PCT resource class
ES_CLASS_XCMD | Overrides the default CICS CMD resource class
ES_CLASS_XDCT | Overrides the default CICS DCT resource class
ES_CLASS_XFCT | Overrides the default CICS FCT resource class
ES_CLASS_XJCT | Overrides the default CICS JCT resource class
ES_CLASS_XPPT | Overrides the default CICS PPT resource class
ES_CLASS_XPSB | Overrides the default CICS PSB resource class
ES_CLASS_XRES | Overrides the default CICS DOCTEMPLATE resource class
ES_CLASS_XTST | Overrides the default CICS TST resource class
ES_CLASS_XTRAN | Overrides the default CICS TRAN resource class
ES_ESM_CMDSEC | Indicates whether CICS processing honors the CMDSEC option specified on a transaction's PLT definition
ES_ESM_PLTPIUSR | The user id under which PLT programs run during CICS initialization
ES_ESM_RESSEC | Indicates whether CICS processing honors the RESSEC option specified on a transaction's PLT definition
ES_ESM_SECPRFX | Indicates whether CICS processing prefixes the resource names when making security queries
ES_ESM_XUSER | Indicates whether CICS processing performs surrogate user checks
ES_INQFILE_RETURN | Modifies EXEC CICS INQUIRE FILE behavior
ES_EZASOKET_SUPPORT | Switches on EZASOKET support
ES_PLI_SUPPORT | Tells the CICS Emulation that it needs to load its subsystem support for PL/I user programs. The default value is "N".
ES_SSTM_CICS | Location of the JCL used to initialize the SSTM CICS environment
ES_SURROGATE_JOB_USER | Associates a user ID with a job when submitting the job for processing through the internal reader from CICS
ES_USR_DFLT_CICS | Allows you to override the default user when no user is logged on for CICS authentication
ES_XA_RECONNECT | If this environment variable is set, when an error occurs on a call to XA, the server recycles the SEP and attempts to reconnect to the Resource Manager.
ES_xxxxx_NB_RETRIES | Specifies the number of times a SEP attempts to reconnect to an XA resource following a connection error, where xxxxx is the ID of the associated resource. The default is 5. If no connection is made, the XA switch is disabled.
TXTRANP | The location of the CICS application object files.
Parent topic: Environment Variables by Groups


Enterprise Server Communications Environment Variables

These environment variables relate to configuring the input and output and the display.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
CCITCP2 | Locates the TCP/IP registration program
CCITCP2_PORT | The port that is being used for the registration process
CCITRACE | Specifies the level of CCI tracing
ES_CAS_API | Indicates whether casout or cassub has been executed by a call and not from the command line
ES_CONSOLE_LOG | Sends console messages to the Windows Event Log
ES_CSKL_NO_MSG_CONSOLE | Stops CSKL writing messages to console.log
ES_ESMAC_DISP_MAX_OVERRIDE | The number of items displayed in the ESMAC catalog view
ES_LEGACY_ECI | Indicates that Enterprise Server must use ES dfhtex32 instead of IBM CTG
ES_MAX_CATALOG_LINES | Restricts the number of entries displayed in ESMAC catalog view
ES_MEM_STRATEGY | Selects the types of memory processes supported
ES_OTMA_TIMEOUT | The time that an OTMA client should wait for an answer
ES_SEP_DORMANT_TIME | Allows override of Transient SEP dormant time
ES_SERVER | Server name (used if no -r switch is specified on casstart or casstop).
ES_SYSOUT_HOLD | Message classes to route to the Out Hold queue
ES_TN3270_FORCE_ALT | Enables you to use a screen size other than the default when using a TN3270 terminal emulator
ES_TN3270_MODEL_LOG | Writes the TN3270 emulator's model name to a temporary storage queue named TN32MODL that can be viewed using the CEBR transaction
ES_USR_DFLT_CICS | Allows you to override the default user when no user is logged on for CICS authentication
ES_USR_DFLT_ESMAC | Allows you to override the default user when no user is logged on for ESMAC authentication
ES_USR_DFLT_JES | Allows you to override the default user when no user is logged on for JES authentication
ISPPROF | The location of ISPF dialog profiles
JAVA_HOME | Locates the JDK
LANG | Specifies the language environment
LINES | Specifies screen depth
LD_LIBRARY_PATH | Locates shared libraries (applies to all operating systems except HP/UX PA-RISC 32 bit and AIX)
LIBPATH | Locates shared libraries (applies to AIX only)
MAINFRAME_FLOATING_POINT | Specifies the format to use for floating point data items
MF_AMODE31ONLY | Indicates that all programs are AMODE(31)
MF_CHARSET | Specifies the system character set (ASCII or EBCDIC)
MF_USESCA5 | Specifies that the server should use version 5 of the Open Service Component Architecture
MF_SPOOL_ARCHIVE_LOC | The location of the file where the contents of the MVS SPOOL spool file are copied prior to deletion
MF_USESCA7 | Specifies that the server should use version 7 of the Open Service Component Architecture
MFCODESET | Specifies which translation tables to use
MFCSCFG | A configuration file to be used by the client/server binding client program
MFEXTMAP | Location of a mapper file
MFLOGDIR | Log file directory
MFLECONFIG | A configuration file for Language Environment (LE) run-time options
MFPRELOAD_USE | Calls MFPRELOAD to improve perfomance
MFSUB | Specifies whether to use SUBI or ASUBI
MFSCPY | The location of copybook files for MFSGEN utility
MFSYSCATDIR | The location of the system catalog directory
MFUSER | Default user ID
MFUSERCAT_LOC | The fully-qualified name of the SMS dataset
MQSERVER | The location of an MQSeries Server installation.
MULTMFENTMAP | Specifies whether special characters such as < and & are replaced with the equivalent HTML entities (for example &lt; and &amp;)
OOSW | OO run-time switches
PATH | Locates directories for all UNIX programs
PSBCPY | The location of copybook files for PSBGEN utility.
SHLIB_PATH | Locates shared libraries (applies to HP/UX only)
TERM | Specifies terminal type
TERMINFO | Locates the UNIX system terminfo database
TMPDIR | Locates the directory for temporary files
TX_TN3270_FORCE_ALT | Enables you to use a screen size other than the default when using a TN3270 terminal emulator
TXMAPP | The location of the BMS load module
TXRDTP | The location of MSS resource definition (RDO) files.
USER | Default user name
Parent topic: Environment Variables by Groups


File Handling and Dataset Environment Variables

This topic lists environment variables that relate to configuring the file and dataset handling.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
COBDATA | Specifies the directory or directories that the run-time system is to search for data files. Provides you with the facility to map data files globally, thus enabling you to put working data files in a directory whose name is not known until run time.
COBEXTFHBUF | Specifies that fixed-length sequential files are buffered.
DB2DBDFT | The default database for the DB2 SQL precompiler to process SQL statements against
ES_RLS_FILE_SUPPORT | Stops dirty records being returned when a record is locked by another process.
EXTFH | Specifies a configuration file for the Callable File Handler
FHREDIR | A configuration file to be used by the Fileshare Client
FS | A configuration file to be used by the Fileshare Server
FSCOMMS | Specifies that the Fileshare system is to run in single user mode
GDG.RECALL | Controls the recall of HSM archived datasets when accessing mainframe GDGs using MFA Data Access Services
HCOBND | A directory for DB2 bind files
LIB | The location of the DB2 LIB directory
MFALLOC_LOC | The location of the default allocated dataset
MFALLOC_PROP | Rules for generated PC dataset names on allocation (that is, the default catalog PC DSN format)
MF_NEWSPACE | Indicates whether SPACE is required for NEW datasets
MF_SYSLOGDSN | The Syslog Dataset name
MFLOCKING | Enables Locking Support
PROCLIB | Specifies PROCLIB datasets. This can be a concatenation of PDS names.
TXFILEP | The location of Micro Focus VSAM files
Parent topic: Environment Variables by Groups


IMS-Specific Environment Variables

This topic lists environment variables relate to configuring the IMS environment.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
DBDCPY | The location of copybook files used by the DBDGEN utility
ES_ALLOC_OVERRIDE | The location of a file containing rules that determine where new datasets are created. This applies only to JES and batch files, and not CICS, IMS, or Web services files.
ES_DFS3650 | The default transaction or MOD file to be displayed after successfully signing on to IMS
ES_ACBLIB | The location of IMS ACB files
ES_IMS_DIAGNOSE | Marks IMS TM as diagnose mode only for IMSMSGQ
ES_IMS_FORCE_SIGNON | Enables a user to force a sign-on to IMS on the current terminal and sign off from other terminals
ES_IMS_RELEASE | Allows the user to specify the IMS Release returned to the AIBTDLI INQY ENVIRON call
ES_IMS_REGION | Allows the user to specify the IMS Region returned to the AIBTDLI INQY ENVIRON call
ES_IMS_CONFIG | The IMS TM parameters
ES_IMSDB_LOCK_RETRY_DELAY | The IMS DB lock retry delay in milliseconds
ES_IMS_DOSVS_PCB | Emulates DOS/VSE PCB address alignment for EXEC DLI programs.
ES_IMS_SUPPORT | Enables IMS support
ES_IMSCFG | The location of the IMS configuraton files IMSCONFIG.DAT/.idx
ES_IMSDAT | The location of IMS DB data files
ES_IMSLIB | The location of DBDGEN2.DAT, DBDGEN2F.DAT and PSBGEN3.DAT files.
ES_IMS_IMSID | Allows the user to specify the IMS System ID returned to the AIBTDLI INQY ENVIRON call
ES_IMS_TLOG_PATH | The location of IMS DB transaction logging files.
ES_IMS_TLOG_THRESHOLD | Threshold size of the IMS DB transaction logging file
ES_IMS_TLOG_MAXSIZE | Maximum size of the IMS DB transaction logging file
ES_IMS_TLOG_FILES | Maximum number of IMS DB transaction log files that can be created before they start to be overwritten
ES_MFSLIB | The location of the control blocks generated by the MFS generation program
ES_MOD3650 | The default MOD file to be displayed after a successful sign-on to IMS
ES_SSTM_IMS | Location of the JCL used to initialize the SSTM IMS environment
ES_TRX3650 | The default transaction to run after a successful sign-on to IMS
ES_USR_DFLT_IMS | Allows you to override the default user when no user is logged on for IMS authentication
ICONN1 | Controls the client TCP connection status of an IMS Connect emulator
IMSCFG | Defines the location of IMS configuration files IMSCONFIG.DAT/.idx
IMSCPY | The location of copybook files for DBDGEN, PSBGEN and MFSGEN utilities
IMSDAT | The location of IMS DB data files
IMSLIB | The location of DBDGEN2.DAT, DBDGEN2F.DAT and PSBGEN3.DAT files
IMSNET | The location of network read-only IMS DB data files
IMSWRK | The location of the work directory for temporary files
MFIMS_ACBDUMP_TIMESTAMP | Suppresses date/time stamp display in ACB report
MFIMS_BMPCHKP | Returns a QC to a checkpoint call when it the call includes an IO area.
MFIMS_DIBSTAT_CODES | Specifies additional DIBSTAT return codes to be returned to EXEC DLI program.
MFIMS_DLI_OPT | Specifies DL/I call optimization flags
MFIMS_DIAG | Enables IMS BTS format diagnostic tracing
MFIMS_FLUSHTRACE | Flushes BTS trace file to disk after every write
MFIMS_FP_DA | Bypasses keycheck on IMS Fastpath DB delete
MFIMS_LOADMVS | Disables load of MVS support for IMS application programs.
MFIMS_PCBCALL | Allows a standalone EXEC DLI program to issue a PCB call.
Parent topic: Environment Variables by Groups


Input, Output and Display Environment Variables

These environment variables relate to configuring the input and output and the display.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
CCITCP2 | Locates the TCP/IP registration program
CCITCP2_PORT | The port that is being used for the registration process
CCITRACE | Specifies the level of CCI tracing
COBAIF | Locates .aif files
COBAIFNAME | The basename of .aif files
COBATTR | Specifies non-standard behavior for HIGHLIGHT and LOWLIGHT clauses used with ACCEPT and DISPLAY statements. It provides compatibility with earlier COBOL products.
COBCONFIG | Specifies a run-time configuration file that tailors the run-time configurable options in some way.
COBCONFIGJVM | Specifies a Java properties file that tailors the run-time configurable options for Java Virtual Machine applications.
COBCONFIG.BLOCK | The location of the application configuration file
COBDIR | Specifies the directory where the required Micro Focus COBOL system is installed. Many of the COBOL system components and utilities require and use this information. If the COBDIR environment variable is not set then the COBOL system acts as if it had been set to the default COBOL system directory.
COBKEYTIMEOUT | Maximum elapsed time, in tenths of a second, for the connected terminal to transmit any valid escape sequence to the run-time system.
COBLANG | The language environment in which your COBOL program runs
COBLPFORM | Logical printer channels
COBMAINSTACK | The size of the main stack
COBMODE | Whether to start the server in 32-bit or 64-bit mode
COBOPT | User default Cob utility options
COBPATH | The location of programs for dynamic loading
COBPRINTER | Specifies the name of a print spooler that is to receive, via its standard input stream (stdin), output from any DISPLAY UPON PRINTER statement.
COBPRFDIR | Location of .ipf files created by programs compiled with the PROFILE compiler directive
COBSES | The UNIX Session Recorder functions to perform
COBSW | Run-time system switch settings for the run-time system to observe when running an application
COBTERMINFO | The directory or directories to be searched by the run-time system for a terminfo database of terminal information tailored to the needs of COBOL applications. This enables COBOL applications to use different terminfo settings to those used by non-COBOL applications, such as vi, when using the same terminal.
COLUMNS | Specifies screen width
ES_CAS_API | Indicates whether casout or cassub has been executed by a call and not from the command line
ES_CONSOLE_LOG | Sends console messages to the Windows Event Log
ES_CSKL_NO_MSG_CONSOLE | Stops CSKL writing messages to console.log
ES_ESMAC_DISP_MAX_OVERRIDE | The number of items displayed in the ESMAC catalog view
ES_LEGACY_ECI | Indicates that Enterprise Server must use ES dfhtex32 instead of IBM CTG
ES_MAX_CATALOG_LINES | Restricts the number of entries displayed in ESMAC catalog view
ES_MEM_STRATEGY | Selects the types of memory processes supported
ES_OTMA_TIMEOUT | The time that an OTMA client should wait for an answer
ES_SEP_DORMANT_TIME | Allows override of Transient SEP dormant time
ES_SERVER | Server name (used if no -r switch is specified on casstart or casstop).
ES_SYSOUT_HOLD | Message classes to route to the Out Hold queue
ES_TN3270_FORCE_ALT | Enables you to use a screen size other than the default when using a TN3270 terminal emulator
ES_TN3270_MODEL_LOG | Writes the TN3270 emulator's model name to a temporary storage queue named TN32MODL that can be viewed using the CEBR transaction
ES_USR_DFLT_CICS | Allows you to override the default user when no user is logged on for CICS authentication
ES_USR_DFLT_ESMAC | Allows you to override the default user when no user is logged on for ESMAC authentication
ES_USR_DFLT_JES | Allows you to override the default user when no user is logged on for JES authentication
ISPPROF | The location of ISPF dialog profiles
JAVA_HOME | Locates the JDK
LANG | Specifies the language environment
LINES | Specifies screen depth
LD_LIBRARY_PATH | Locates shared libraries (applies to all operating systems except HP/UX PA-RISC 32 bit and AIX)
LIBPATH | Locates shared libraries (applies to AIX only)
MAINFRAME_FLOATING_POINT | Specifies the format to use for floating point data items
MF_AMODE31ONLY | Indicates that all programs are AMODE(31)
MF_CHARSET | Specifies the system character set (ASCII or EBCDIC)
MF_USESCA5 | Specifies that the server should use version 5 of the Open Service Component Architecture
MF_SPOOL_ARCHIVE_LOC | The location of the file where the contents of the MVS SPOOL spool file are copied prior to deletion
MF_USESCA7 | Specifies that the server should use version 7 of the Open Service Component Architecture
MFCODESET | Specifies which translation tables to use
MFCSCFG | A configuration file to be used by the client/server binding client program
MFEXTMAP | Location of a mapper file
MFLOGDIR | Log file directory
MFLECONFIG | A configuration file for Language Environment (LE) run-time options
MFPRELOAD_USE | Calls MFPRELOAD to improve perfomance
MFSUB | Specifies whether to use SUBI or ASUBI
MFSCPY | The location of copybook files for MFSGEN utility
MFSYSCATDIR | The location of the system catalog directory
MFUSER | Default user ID
MQSERVER | The location of an MQSeries Server installation.
MULTMFENTMAP | Specifies whether special characters such as < and & are replaced with the equivalent HTML entities (for example &lt; and &amp;)
OOSW | OO run-time switches
PATH | Directories to be searched for all UNIX programs
PSBCPY | The location of copybook files for PSBGEN utility.
SHLIB_PATH | Locates shared libraries (applies to HP/UX only)
TERM | Specifies terminal type
TERMINFO | Locates the UNIX system terminfo database
TMPDIR | Locates the directory for temporary files
TX_TN3270_FORCE_ALT | Enables you to use a screen size other than the default when using a TN3270 terminal emulator
TXMAPP | The location of the BMS load module
TXRDTP | The location of MSS resource definition (RDO) files.
USER | Default user name
Parent topic: Environment Variables by Groups


JCL-Specific Environment Variables

This topic lists environment variables relate to configuring the JCL environment.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
CASRDO44_NEWSUB | Enables access to JCL files held on the local machine on which the browser is running
CASSUB_JN_OVERWRITE | Enables job numbers to be reused without their job information being deleted manually or via automated spool housekeeping
ES_JES_DISABLE_RESTART_FLUSH | Indicates whether a region's jobs are moved from the Active queue to the Output Hold queue when a region is restarted
ES_JES_LEVEL | Sets the default JCL type to JES2, JES3 or VSE
ES_JES_RESTART | Enables JCL restart processing
ES_PL1_MFFH_JCL | Enables you to run Open PL/I programs that access JCL data definitions. The default value is "N".
ES_SSTM_CICS | Location of the JCL used to initialize the SSTM CICS environment
ES_SSTM_IMS | Location of the JCL used to initialize the SSTM IMS environment
ES_SYSOUT_HOLD | Sysout held classes
ES_USR_DFLT_JES | Allows you to override the default user when no user is logged on for JES authentication
MF_ALIAS | Specifies program aliases. Each set (pair) is 16 characters long - 8 characters for the program-name, and 8 characters for the alias.
MF_DUPJOBS | Enables jobs with identical names to run
MF_FALLTHRUCHECK | Specifies that MSS is to check that the main COBOL program ends by executing a GOBACK or STOP RUN.
MF_MVSJOB | MVS job number rules
MF_NODD | Specifies what action MSS is to take at run time if a job step uses a file that has not been allocated.
MF_RCCF | Enables Remote Job Step Execution (RJSE)
MF_SMS | Enables SMS support
MF_SPOOL_HK_TESTDATE | Spool housekeeping testing date override
MF_UCC11 | Enables emulation of UCC11, a third party add-on to the mainframe that affects data set disposition processing. If UCC11 is enabled, a data set disposition of NEW is accepted even if the data set already exists.
MFREXX_LSEQ_RECSIZE_MAX | Specifies the record length for the REXX EXECIO command when reading or writing a line sequential file that has been cataloged with a record length of zero.
MFREXX_NOT | Specifies one or more characters to be used for the NOT operator in addition to REXX's default, which is "¬".
MFREXX_OR | One or more characters to be used for the OR operator in addition to REXX's default, which is "|".
MFSYSCAT | The location of the JES system catalog.
MFUSERCAT_LOC | User catalog location
VSE_STARTUP_CFG | The location of the VSE JCL configuration file
Parent topic: Environment Variables by Groups


Mainframe Access Environment Variables

These environment variables relate to the Mainframe Access functionality.

AUTOCAT_IMP
Name of an input file name for automated catalog import using MFA Data Access Services.
Values
  • An input file path and name.
CCITIMEOUT

Allows the specification, in tenths of seconds, of the maximum time out period that will be used with any LSC style application, such as Drag and Drop, SourceConnect, or the Monitor. The default is 2 minutes (1200), and the maximum value that can be used is 2,147,483,647.

Example for setting this value to 4 minutes:
SET CCITIMEOUT=2400
COBCPY
Specifies the directory or directories that the Compiler and Animator should search for copyfiles.
Values
  • A list of search directories, each item separated by a semicolon.
DBG_MVSPSKEL
The skeleton JCL for debugging
ENTRYNAMEMAP
Location of the mfentmap.dat entry name map file.
Values
  • File path and name of the mfentmap.dat entry name map file.
GDG.RECALL
Controls the recall of HSM archived datasets when accessing mainframe GDGs using MFA Data Access Services.
HELP
The location of IBM PL/I help files
HOST_DISP
Determines whether JCL DISP will be honored for DELETE on mainframe resident datasets.
HOST_NEW
Determines whether JCL looks on the host for new datasets that are not cataloged locally.
MF_SET_USERID
Sets the default user ID.
MAINFRAME_FLOATING_POINT
Specifies the format to use for floating point data items.
Values
  • true specifies that IBM hexadecimal format floating point data items are to be used.
  • false specifies that IEEE format floating point data items are to be used.
Note:
  • Setting MAINFRAME_FLOATING_POINT to anything other than true has the same effect as setting it to false.
  • The setting of this environment variable can be overridden by the NATIVE-FLOATING-POINT directive.
MFACLIENTINI
The complete path to the INI file containing mainframe logon credentials, which defaults to:

c:\users\USERNAME\appdata\roaming\micro focus\mfaclient.ini

MFAIMBEDDEDHEX
Indicates that you wish to have all source code embedded hex values handled in the same way as the MDECONV application, in that all translated hex values less than x'1f' will have a null character inserted before the hex value. The COBOL run-time system will properly handle these imbedded hex values. Example:
SET MFAIMBEDDEDHEX=COBOL
MFAMAXHOTLINKS
If using the hot-link software from Micro Focus, the LSC applications will route all communication request through this hot-link. The hot-link remains active to the mainframe until you shut down your workstation, or enter the command MFDAELSC CLOSE. The hot-link is able to allocate and load balance more than multiple simultaneous links and will start up an additional link if any request has to wait for more than 15 seconds for a time slice. The maximum number of simultaneous links can be specified, with a default of 4 and a maximum of 10, as follows:
SET MFAMAXHOTLINKS=4
MFAMAXSENDLENGTH
Sets the maximum length of data, in a single communication packet, that can be transmitted to or from the mainframe. This does not affect the size of the file that can be transmitted, but only the size of each of the numerous data chunks that are transmitted to make up the entire file. This is only useful, when there is a router that limits the transfer length of data to or from the mainframe, or there is a restriction in the length of data that can be transferred. Example:
SET MFAMAXSENDLENGTH=4000
MFASERV
Controls how mainframe access checks for a dataset name (DSN):
  • ON

    If a DSN is not found in the local catalog, then the catalog API calls MFA to check the mainframe for the DSN.

  • Not set

    The catalog API does not call MFA to check the mainframe for the DSN.

MFE.FALLTHRUCHECK
Enables messages to be issued if the user program does not return from a main program via GOBAK or STOP RUN.
MFUSERCAT_NODE
User catalog node
MVSCATIO_TIMEOUT
Time allowed for a catalog input/output operation to complete
NEWJCL
Controls ISPF skeleton JCL processing
SHOW_CATALOG_WAIT
Displays a message when the enterprise server is waiting for a response from the catalog server.
Parent topic: Environment Variables by Groups


PL/1-Specific Environment Variables

This topic lists environment variables relate to configuring the PL-1 environment.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
ES_PL1_MFFH | Enables Micro Focus File Handler to perform all Open PL/I I/O operations. The default value is "Y". If it is set to "N", then all I/O will be routed to old Liant file handlers.
ES_PL1_MFFH_JCL | Enables you to run Open PL/I programs that access JCL data definitions. The default value is "N".
ES_PLI_SUPPORT | Tells the CICS Emulation that it needs to load its subsystem support for PL/I user programs. The default value is "N".
IBM_DBG_LANG | The language the IBM PL/I debugger should use
MF_USE_JAVA_CW | Enables you to use Java CodeWatch for debugging Open PL/I programs.
MFPLI_PRODUCT_DIR | The location of the Open PL/I installation. It is used to find files needed for compiling and linking.
Parent topic: Environment Variables by Groups


Security and Auditing Environment Variables

These environment variables relate to configuring the security and auditing environment.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
ES_CESN_NO_OS390 | Use this variable to override the default behaviour CESN transaction response for invalid user credentials. Default behaviour reports "Your userid is invalid" or "Your password is invalid". Setting this variable to any value will cause CESN to produce an invalid credential message instead.
ES_ESM_PLTPISEC | The level of security checking for PLTPI processing
ES_ESM_RCF | Determines how RACF is used for command authorization
ES_OLD_SEC_TSTD | Prevents security being enforced for TS or TD queues that are not declared in the security repository.
ES_SURROGATE_JOB_USER | Associates a user ID with a job when submitting the job for processing through the internal reader from CICS.
MF_ROOT_CERT | Enables the MF Directory Server process and any client applications to pick up the value of the root certificate file
MFAUDIT_LOGS | The location of audit log files that the auditing sytem generates
Parent topic: Environment Variables by Groups


SORT Engine Environment Variables

This topic lists environment variables that relate to the sorting functionality.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
MFJSENGINE | Specifies which sort engine the utility MFJSORT is to emulate.
MFJSTATS | Specifies to create a report containing statistics for a SORT.
SORTCOMPRESS | Tells the system whether or not to execute a compression routine on each record to be sorted. SORTCOMPRESS=5 allows for run-length encoding of sort records, resulting in much better performance when records contain multiple repeated characters. Note that 5 is the only valid value for this environment variable.
SORTSCHEME | Use in conjunction with SORTSPACE for improved performance. This is activated by setting SORTSCHEME=1. This is the only valid value for the environment variable. See SORTSPACE below for more information.
SORTSPACE | The amount of memory to be allocated to internal workspace for SORT operations. This can be specified in different formats: for example, you could specify 64M, 2G, and 1000000 to give sort memory areas of 64 Megabytes, 2 Gigabytes and 1000000 bytes respectively.
SORTTEMPSPACE | The amount of temporary memory to be allocated to internal workspace for SORT operations. This can be specified in different formats much like the SORTSPACE environment variable. By using SORTTEMPSPACE, you can maximize available memory.
SORTTYPE | Setting SORTTYPE=2 forces SORT to use the file handler, so that format modifications are picked up from the extfh.cfg file. Not setting this means SORT will try to use CBL_ routines to read and write files to improve performance. Note that 2 is the only valid value for this environment variable.
Parent topic: Environment Variables by Groups


Tracing and Debugging Environment Variables

This topic lists environment variables relate to the tracing and debugging functionality.

Note: The Environment Variables: Alphabetical Order topic contains the values for most environment variables.
Variable | Description
CCITRACE | Specifies the level of CCI tracing
COBANIMOPT | Directives to be used by Animator
COBANIMSRV | Attaches Animator to a running program
COBIDY | The location of Animator information (.idy) file for the program being animated if it is not found in the same directory as the intermediate code (.int) file.
CODEWATCH_SRCPATH | The location of source files for the debugger to use if none are found in directories specified when invoking CodeWatch
CODEWATCH_STBPATH | The location of STB files for the debugger to use if none are found in directories specified when invoking CodeWatch
DBG_MVSPSKEL | The skeleton JCL for debugging
ES_DDBG_PORT_RANGE | A range of ports to use for dynamic debugging
MFTRACE_ANNOTATIONS | The location of the Net Express trace files
MFTRACE_CONFIG | The location of the CTF configuration file
MFTRACE_LOGS | The location of the CTF log files
MFTSO_DEBUG | Controls the display of debug message
TX_MQTRACE | Enables tracing in dfh0mqis for MQSeries calls
Parent topic: Environment Variables by Groups


Reserved Environment Variables

CAUTION:
These variables are for Micro Focus use only and must not be set unless advised to do so by Micro Focus Support Line.
APPCLLU | ASLMFNET | BTRMAXREC
BTRPAGE | CCITCPS_servername | CCITCPT_servername
CHECKER | COBFSTATCONV | COBHNF
COMMIT_COUNT | CPDIR | DEBUGEXIT
DSQUERY | DYNDIR | ES_CESN_NO_OS388
ES_DB_APPLICATION_PLAN | ES_DB_PACKAGE_PATH | ES_DB_PACKAGESET
ES_EMP_EXIT_1(n) | ES_MNM_SUPPORT |
ES_IMS_TRACE | ES_HOME | ES_IDEBIN
ES_LOAD_SWITCH_PLUS | ES_LOG_PERF_EVENTS | ES_STAGING_FOLDER
ES_TSC_TRACE | ES_USR_DFLT_JCL | ES_WORKING_MODE
ES_XDBLIB | FSIDXINTEGRITY | FSSERVER
GCC_LIB | HELPFILES | IBM_DBG_IOCRESFILE
IBM_DBG_LANG | IPF_PATH30 |
MF_JOBDIAG | MF_MVSJOB | MF_ROOT_CERT
MF_SPPOOL_HK_TESTDATE | MFAUTOCTL_XREF_DSN | MFDS_PORT
MFE.AMODE31ONLY | MFEDATA | MFE-TRAP-IMS-AMP
MFIMS_DB_AUTOSTOP | MFJCLHF | MFJCOMPARE.FILE
MFJDEBUG | MFJSENGINE | MFJSTATS
MFJUXITLOG | MFMVSUSER | MFREXX_LSEQ_RECSIZE_MAX
MFREXX_NOT | MFREXX_OR | MFUCC12
NCG | NLS_TIMESTAMP_FORMAT |
 | SSLDIR | TMF
TX_UNICLI_SESSIONS | XFH2BTR | XFH2BTR
XFHNODE | LIBLIST |
Parent topic: Environment Variables by Groups


Environment Variables: Alphabetical Order

CASRDO44_NEWSUB
Category: General
Enables access to JCL files held on the local machine on which the browser is running.
Values
  • ON

    Access JCL files on the local machine on which the browser is running.

  • OFF

    Access JCL files from the machine running the enterprise server.

CASSUB_JN_OVERWRITE
Enables job numbers to be reused without their job information being deleted manually or via automated spool housekeeping.
Values
  • ON

    Job numbers can be reused without their job information being deleted.

  • OFF

    You must delete job numbers in order to re-use them. This is the default.

CCITIMEOUT

Allows the specification, in tenths of seconds, of the maximum time out period that will be used with any LSC style application, such as Drag and Drop, SourceConnect, or the Monitor. The default is 2 minutes (1200), and the maximum value that can be used is 2,147,483,647.

Example for setting this value to 4 minutes:
SET CCITIMEOUT=2400
CCIERRLOG
Specifies the output location and filename of ccierr.log content which tracks first-instance errors reported from the operating systems. CCIERRLOG overrides any entries found in CCI.INI, where the syntax and content is explained in detail.
CCITCP2
Locates the TCP/IP registration program.
Values
  • The name or the IP address of the machine hosting the CCITCP2 registration program.
CCITCP2_PORT
The port that is being used for the registration process.
Values
  • The port on which the CCITCP2 registration program operates.
CCITRACE
Specifies the level of CCI tracing
Values

Filename for and trace output and the trace options. The trace options are as follows:

  • /F or -F

    Logs the details of CCI API calls to the trace file. The default condition for this option is OFF, unless a filename or any other trace option are specified, in which case it is always ON.

  • /P or -P

    logs the details of protocol level calls to the trace file. If this flag is not ON, then only the details of the CCI user level API will be traced. If this flag is ON, the level of function tracing may be greatly increased. The default condition for this option is OFF.

  • /D or -D

    Logs the contents of all buffers passed to and from the CCI functions. The default condition for this option is OFF. Data tracing may not be allowed if the application has been coded to prohibit data tracing for security reasons.

CICS_SIT
The name of the SIT used by the region.
Values
  • The name of the SIT that the region uses.
COBAIF
The path location of the .aif files.
Values
  • The path where the .aif files are located.
COBAIFNAME
The basename of animator session (.aif) files.
Values
  • The base animator session filename.
COBANIMOPT
Additional directives to be used by Animator.
Values
  • An Animator directive, or a list of directives. Must not be a filename.
COBANIMSRV
Attaches Animator to a running COBOL program.
Values
  • The progid identifier that is used to identify the program to which Animator will attach.
COBATTR

Specifies non-standard behavior for HIGHLIGHT and LOWLIGHT clauses used with ACCEPT and DISPLAY statements. It provides compatibility with earlier COBOL products. You should avoid using it wherever possible as support might be discontinued at some future date.

Values

A value in the range 0 through 7. It can be one of the following values, or a cumulative value; for example, specifying a value of 6 would result in the behavior described for values 4 and 2.

  • 0

    Provides standard, default behavior.

    When a COBOL program displays text subject to a HIGHLIGHT or LOWLIGHT clause, the run-time system uses respectively the bold or dim mode specified in the terminfo entry for the terminal. If the bold or dim mode is not specified, then the HIGHLIGHT or LOWLIGHT clause respectively has no effect.

  • 1

    When a COBOL program displays text subject to a HIGHLIGHT clause, the run-time system uses the bold mode. The run-time system uses the default mode for normal text. Specifying dim mode in the terminfo entry for the terminal has no affect. The LOWLIGHT clause has no effect.

  • 2

    High and low intensity space characters are not assumed to be the same as normal mode space characters.

  • 3

    As for 1 and 2 above

  • 4

    Provides compatibility with default behavior of products before COBOL version 3.2.

    When a COBOL program displays text subject to a HIGHLIGHT clause, the effect depends on whether the dim mode is specified in the terminfo entry for the terminal. If dim mode is specified, then the run-time system uses the default mode for highlighted text and the dim mode for normal text. If the dim mode is not specified, then the run-time system uses the bold mode for highlighted text and default mode for normal text. The LOWLIGHT clause has no effect, giving the same appearance as normal text.

COBCONFIG
Specifies a run-time configuration file that tailors the run-time configurable options in some way.
Values
  • The location of a COBOL runtime configuration file.
COBCONFIGJVM
Specifies a Java properties file that tailors the run-time configurable options for Java Virtual Machine applications.
Values
  • The location of a properties file.
COBCONFIG.BLOCK
The location of the application configuration file.
COBDATA
Specifies the directory or directories that the run-time system is to search for data files. Provides you with the facility to map data files globally, thus enabling you to put working data files in a directory whose name is not known until run time..
Values
  • A list of search directories, each item separated by a semicolon.
COBDIR
Specifies the directory where the required Micro Focus COBOL system is installed. Many of the COBOL system components and utilities require and use this information. If the COBDIR environment variable is not set then the COBOL system acts as if it had been set to the default COBOL system directory.
Values
  • A list of search directories, each item separated by a semicolon.
COBEXTFHBUF
Specifies that fixed-length sequential files are buffered.
Values
  • The buffer size in bytes.
COBIDY
The location of Animator information (.idy) file for the program being animated if it is not found in the same directory as the intermediate code (.int) file.
Values
  • A list of search directories, each item separated by a semicolon.
COBKEYTIMEOUT

Specifies the maximum elapsed time, in tenths of a second, for the connected terminal to transmit any valid escape sequence to the run-time system.

Values
  • Terminal timeout time in tenths of a second.
COBLANG
The language environment in which your COBOL program runs
Values
  • A COBOL language environment (LE) value.
COBLPFORM
Logical printer channels.
Values
  • A valid logical printer channel.
COBMAINSTACK
The size of the main stack.
Values
  • A number in the range 1 through nnn that represents the size of the main stack in bytes.
COBMODE
Whether to start the server in 32-bit or 64-bit mode.
Values
  • 32

    The system starts in 32-bit mode

  • 64

    The system starts in 64-bit mode

COBOPT
User default Cob utility options.
Values
  • environment-variable Any one of the environment variables supported by the COBOL system and listed in this appendix.
  • value The value to which you want to set the specified environment variable.
  • options One or more cob command line options. See the chapter COBOL System Interface (cob) for details on the format of cob options.
  • .ext A filename extension that, in addition to the standard ones of .cob, .CBL, or .cbl, denotes a file that Cob should treat as a COBOL source file. The extension must begin with a period, and if more than one is specified on one line then they must be separated by a space or tab character. You can use more than one cobextn line.
  • pathname The directory that the COBOL system is to search for an options file.
  • filename The name of a file containing cob options.
COBPATH
The path location of programs for dynamic loading.
Values
  • A list of search directories, each item separated by a semicolon.
COBPRINTER

Specifies the name of a print spooler that is to receive, via its standard input stream (stdin), output from any DISPLAY UPON PRINTER statement.

Values
  • A command line supported by your system and that can be executed by the system shell. Typically, it is simply the name of a print spooler or other executable, but if the shell is escaped when setting the value then any command-line arguments can be used.
COBPRFDIR
Location of .ipf files created by programs compiled with the PROFILE compiler directive.
Values
  • A list of search directories, each item separated by a semicolon.
COBSES
The UNIX Session Recorder functions to perform.
Values

COBSES={option[filename]}..., where option can be one or more of the following:

  • -a Include keystrokes made to and screen output from the Animator
  • -f filename Play back recording in fast forward mode
  • -p filename Play back recording in filename at normal speed
  • -r filename Record keystrokes
  • -s filename Record screen output
  • -t terminal number Indicate terminal number for multi-user screen recordings
COBSSL
If using SSL connections specifies the location of the DemoCA directory. If not found, SSLDIR is inspected instead.
COBSW
Run-time system switch settings for the run-time system to observe when running an application.
Values

A list of the runtime switches to set or unset.

  • + sets a switch.
  • - un-sets a switch.
COBTERMINFO
The directory or directories to be searched by the run-time system for a terminfo database of terminal information tailored to the needs of COBOL applications. This enables COBOL applications to use different terminfo settings to those used by non-COBOL applications, such as vi, when using the same terminal.
Values
  • A list of search directories, each item separated by a semicolon.
CODEWATCH_SRCPATH
The location of source files for the debugger to use if none are found in directories specified when invoking CodeWatch
Values
  • A list of search directories, each item separated by a semicolon.
CODEWATCH_STBPATH
The location of STB files for the debugger to use if none are found in directories specified when invoking CodeWatch.
Values
  • A list of search directories, each item separated by a semicolon.
COLUMNS
Sets the screen width.
Values
  • An integer number of columns.
DB2DBDFT
The default database for the DB2 SQL precompiler to process SQL statements against.
Values
  • The location and name of the default database.
DBDCPY
The location of copybook files used by the DBDGEN utility.
Values
  • The copybook file location.
ES_ACBLIB
The IMS ACB files location.
Values
  • The path location of the IMS ACB files.
ES_ALLOC_OVERRIDE
The location of a file containing rules that determine where new datasets are created. This applies only to JES and batch files, and not CICS, IMS, or Web services files.
Values
  • File path and name of the dataset rules file.
ES_CAS_API
Indicates whether casout or cassub has been executed by a call and not from the command line
ES_CESN_NO_OS390
Overrides the default behaviour CESN transaction response for invalid user credentials. Default behaviour reports "Your userid is invalid" or "Your password is invalid".
Values
  • Setting this variable to any value causes CESN to produce an invalid credential message instead of a specific invalid user or invalid password message.
ES_CICS_SINGLE
Configures CICS so that a user can only log on once.
Values
  • Y A user can only log on once.
  • Not set: A user can log on multiple times. This is the default.
ES_CLASS_XPCT
Overrides the default CICS PCT resource class
Values
  • Yes
  • No
  • The overriding class. The default is: ACICSPCT
ES_CLASS_XCMD
Overrides the default CICS CMD resource class
Values
  • Yes
  • No
  • The overriding class. The default is: CCICSCMD
ES_CLASS_XDCT
Values
  • Yes
  • No
  • The overriding class. The default is: DCICSDCT
Overrides the default CICS DCT resource class
ES_CLASS_XFCT
Overrides the default CICS FCT resource class
Values
  • Yes
  • No
  • The overriding class. The default is: FCICSFCT
ES_CLASS_XJCT
Overrides the default CICS JCT resource class
Values
  • Yes
  • No
  • The overriding class. The default is: JCICSJCT
ES_CLASS_XPPT
Overrides the default CICS PPT resource class
Values
  • Yes
  • No
  • The overriding class. The default is: MCICSPPT
ES_CLASS_XPSB
Overrides the default CICS PSB resource class
Values
  • Yes
  • No
  • The overriding class. The default is: PCICSPSB
ES_CLASS_XRES
Overrides the default CICS DOCTEMPLATE resource class
Values
  • Yes
  • No
  • The overriding class.
ES_CLASS_XTST
Overrides the default CICS TST resource class
Values
  • Yes
  • No
  • The overriding class. The default is: SCICSTST
ES_CLASS_XTRAN
Overrides the default CICS TRAN resource class
Values
  • Yes
  • No
  • The overriding class. The default is: TCICSTRN
ES_CONSOLE_LOG
Sends console messages to the Windows Event Log
Values
  • Yes Console messages are sent to the Windows Event Log
ES_CSKL_NO_MSG_CONSOLE
Stops CSKL writing messages to console.log
Values
  • Yes CSKL messages are not written to the console log.
ES_DDBG_PORT_RANGE
A range of ports to use for dynamic debugging
ES_DFS3650
The default transaction or MOD file to be displayed after successfully signing on to IMS.
ES_ESM_CMDSEC
Indicates whether CICS processing honors the CMDSEC option specified on a transaction's PLT definition.
Values
  • ASIS

    CICS honors the CMDSEC option defined in a transaction's resource definition. CICS calls its command security checking routine only when CMDSEC(YES) is specified in a transaction resource definition.

  • ALWAYS

    CICS overrides the CMDSEC option, and always calls its command security checking routine to issue the appropriate call to the SAF interface.

ES_ESM_PLTPISEC
The level of security checking for PLTPI processing.
Values
  • NONE

    You do not want any security checking on PLT initialization programs.

  • CMDSEC

    You want CICS to perform command security checking only.

  • RESSEC

    You want CICS to perform resource security checking only.

  • ALL

    You want CICS to perform both command and resource security checking.

ES_ESM_PLTPIUSR
The user id under which PLT programs run during CICS initialization.
Values
  • The userid that CICS is to use for security checking for PLT programs that run during CICS initialization.
ES_ESM_RCF
Determines how RACF is used for command authorization
Values:
  • A Includes options T, C, and S.
  • C Specifies that RACF is to be used for ETO terminal command authorization.
  • N Specifies that no sign-on, transaction, or command authorization is to be performed by RACF.
  • S Specifies that RACF is to be used for static and ETO terminal command authorization. Includes option C.
  • T Specifies that RACF is to be used for sign-on and transaction authorization.
  • Y Includes options T and C.
ES_ESM_RESSEC
Indicates whether CICS processing honors the RESSEC option specified on a transaction's PLT definition.
Values:
  • ASIS .

    The RESSEC option of a transaction's resource definition will be honored. That is, resource security checking is performed only when RESSEC is set to yes on the PLT definition.

  • ALWAYS

    CICS processing always performs resource security checking irrespective of the RLS security setting on the transaction definition.

ES_ESM_SECPRFX
Indicates whether CICS processing prefixes the resource names when making security queries.
Values
  • NO

    No prefixes are used

  • YES

    Resource names are prefixed with the CICS region user ID.

  • <prefix>

    A string to be used as the prefix for resource names. It can be 1 to 8 upper case alphanumeric characters and it must start with an alphabetic character.

ES_ESM_XUSER
Indicates whether CICS processing performs surrogate user checks.
Values
  • NO

    No surrogate user checking is performed.

  • YES

    Perform surrogate user checking wherever such checks are permitted.

ES_ESMAC_DISP_MAX_OVERRIDE
The number of items displayed in the ESMAC catalog view
Values
  • An integer number of the ESMAC catalog view items to display.
ES_IMS_DIAGNOSE
Marks IMS TM as diagnose mode only for IMSMSGQ
ES_IMS_FORCE_SIGNON
Enables a user to force a sign-on to IMS on the current terminal and sign off from other terminals
ES_IMS_IMSID
Specifies the IMS System ID returned to the AIBTDLI INQY ENVIRON call
ES_IMS_RELEASE
Specifies the IMS Release returned to the AIBTDLI INQY ENVIRON call
ES_IMS_REGION
Specifies the IMS Region returned to the AIBTDLI INQY ENVIRON call
ES_IMS_CONFIG
Specifies the IMS TM parameters
ES_IMSDB_LOCK_RETRY_DELAY
Specifies the IMS DB lock retry delay in milliseconds
ES_IMS_DOSVS_PCB
Emulates DOS/VSE PCB address alignment for EXEC DLI programs.
ES_IMS_SUPPORT
Enables IMS support
ES_IMSCFG
Specifies the location of the IMS configuraton files IMSCONFIG.DAT/.idx
ES_IMSDAT
Specifies the location of IMS DB data files
ES_IMSLIB
Specifies the location of DBDGEN2.DAT, DBDGEN2F.DAT and PSBGEN3.DAT files.
ES_IMS_TLOG_PATH
Specifies the location of IMS DB transaction logging files.
ES_IMS_TLOG_THRESHOLD
Threshold size of the IMS DB transaction logging file
ES_IMS_TLOG_MAXSIZE
Maximum size of the IMS DB transaction logging file
ES_IMS_TLOG_FILES
Maximum number of IMS DB transaction log files that can be created before they start to be overwritten
ES_INQFILE_RETURN
Modifies EXEC CICS INQUIRE FILE behavior
ES_JES_DISABLE_RESTART_FLUSH
Indicates whether a region's jobs are moved from the Active queue to the Output Hold queue when a region is restarted
ES_JES_LEVEL
Sets the default JCL type to JES2, JES3 or VSE
ES_JES_RESTART
Enables JCL restart processing
ES_LEGACY_ECI
Indicates that Enterprise Server must use ES dfhtex32 instead of IBM CTG
ES_MAX_CATALOG_LINES
Restricts the number of entries displayed in ESMAC catalog view
ES_MEM_STRATEGY
Selects the types of memory processes supported
ES_MFSLIB
The location of the control blocks generated by the MFS generation program
ES_MOD3650
The default MOD file to be displayed after a successful sign-on to IMS
ES_OLD_SEC_TSTD
Prevents security being enforced for TS or TD queues that are not declared in the security repository.
ES_OTMA_TIMEOUT
The time that an OTMA client should wait for an answer
ES_PL1_MFFH
Enables Micro Focus File Handler to perform all Open PL/I I/O operations. The default value is "Y". If it is set to "N", then all I/O will be routed to old Liant file handlers.
ES_PL1_MFFH_JCL
Enables you to run Open PL/I programs that access JCL data definitions. The defaul value is "N".
ES_PLI_SUPPORT
Tells the CICS Emulation that it needs to load its subsystem support for PL/I user programs. The default value is "N".
ES_RLS_FILE_SUPPORT
Stops dirty records being returned when a record is locked by another process.
ES_SEP_DORMANT_TIME
Allows override of Transient SEP dormant time
ES_SERVER
Server name (used if no -r switch is specified on casstart or casstop).
ES_SSTM_CICS
Location of the JCL used to initialize the SSTM CICS environment
ES_SSTM_IMS
Location of the JCL used to initialize the SSTM IMS environment
ES_SURROGATE_JOB_USER
Associates a user ID with a job when submitting the job for processing through the internal reader from CICS.
Values
  • Any value

    The user ID that started the ES region is used in the job submission.

  • No Value

    The CICS default user CICSUSER, or as specified by ES_USR_DFLT_CICS, is used in the job submission.

ES_SYSOUT_HOLD
Sysout held classes
ES_TN3270_FORCE_ALT
Enables you to use a screen size other than the default when using a TN3270 terminal emulator
ES_TN3270_MODEL_LOG
Writes the TN3270 emulator's model name to a temporary storage queue named TN32MODL that can be viewed using the CEBR transWritesaction
ES_TRX3650
The default transaction to run after a successful sign-on to IMS
ES_USR_DFLT_CICS
Allows you to override the default user when no user is logged on for CICS authentication
ES_USR_DFLT_ESMAC
Allows you to override the default user when no user is logged on for ESMAC authentication
ES_USR_DFLT_JES
Allows you to override the default user when no user is logged on for JES authentication
ES_USR_DFLT_IMS
Allows you to override the default user when no user is logged on for IMS authentication
ES_XA_CONNECT
Enables you to reconnect to an XA resource following an error
ES_XA_????_NB_RETRIES
Operates in conjunction with ES_XA_CONNECT. Sets the number of connection re-tries when attempting to connect to a resource:

ES_XA_????_NB_RETRIES= nnnn where:

  • ???? is the XA ID defined in MFDS.
  • nnnn is the number of retries allowed.
ES_XA_RECONNECT

If this environment variable is set, when an error occurs on a call to XA, the server recycles the SEP and attempts to reconnect to the Resource Manager. The ES_XA_????_NB_RETRIES variable specifies the number of attempts to be made.

EXTFH
Specifies a configuration file for the Callable File Handler
ES_EZASOKET_SUPPORT
Switches on EZASOKET support
FHREDIR
A configuration file to be used by the Fileshare Client.
FS
A configuration file to be used by the Fileshare Server.
FSCOMMS
Specifies that the Fileshare system is to run in single user mode.
Values
  • "\$local" Run the Fileshare System in single user mode.
HCOBND
A directory for DB2 bind files.
ICONN1
Controls the client TCP connection status of an IMS Connect emulator
IMSCFG
Defines the location of IMS configuration files IMSCONFIG.DAT/.idx.
IMSCPY
The location of copybook files for DBDGEN, PSBGEN and MFSGEN utilities.
IMSDAT
The location of IMS DB data files.
IMSLIB
The location of DBDGEN2.DAT, DBDGEN2F.DAT and PSBGEN3.DAT files.
IMSNET
The location of network read-only IMS DB data files.
IMSWRK
The location of the work directory for temporary files.
ISPPROF
The location of ISPF dialog profiles.
JAVA_HOME
Locates the JDK.
LANG
Specifies the language environment.
Values
  • language The language in which your program is to run.
  • _ (underscore) The delimiter for language and territory, if territory is specified.
  • territory The country in which your program is to run.
  • . (period) The delimiter for territory and codepage, if codepage is specified.
  • codepage The character set to use for your program.

Example: LANG=fr_FR

LD_LIBRARY_PATH

Specifies the directory or directories for the UNIX system, Cob and the run-time system to search for shared libraries and callable shared objects. It must be set to include $COBDIR/lib on all platforms, except AIX and HP/UX, which use a different environment variable. It should also include any directories that contain callable shared objects used by your application.

Values
  • A path or a list of paths, each separated by a colon (:).
LIB
The location of the DB2 LIB directory
LIBPATH
Locates shared libraries (applies to AIX only).
Values
  • A path or a list of paths, each separated by a colon (:).
LINES
Specifies screen depth in lines.
Values
  • An integer that specifies the number of lines.
MF_ALIAS
Specifies program aliases. Each set (pair) is 16 characters long - 8 characters for the program-name, and 8 characters for the alias. You can specify up to 10 pairs. This list is searched first and thus can potentially override the IDE defined (MFE only) and the built-in list. If not found, and you are using MFE, the IDE definition is searched. If still not found, or you are not using MFE, the built-in alias table is searched.
MF_AMODE31ONLY
Indicates that all programs are AMODE(31).
MF_CHARSET
Specifies the system character set (ASCII or EBCDIC).
MF_DUPJOBS
Enables jobs with identical names to run.
Values:
  • Y
  • N (Default)
MF_FALLTHRUCHECK
Specifies that MSS is to check that the main COBOL program ends by executing a GOBACK or STOP RUN.
Values:
  • y (default)
  • n
MF_MVSJOB
MVS job number rules.
MF_NEWSPACE
Indicates whether SPACE is required for NEW datasets.
MF_NODD
Specifies what action MSS is to take at run time if a job step uses a file that has not been allocated.
MF_RCCF
Enables Remote Job Step Execution (RJSE).
MF_ROOT_CERT
Enables the MF Directory Server process and any client applications to pick up the value of the root certificate file
MF_SMS
Enables SMS support
MF_SPOOL_ARCHIVE_LOC
The location of the file where the contents of the MVS SPOOL spool file are copied prior to deletion.
MF_SPOOL_HK_TESTDATE
Spool housekeeping testing date override.
MF_SYSLOGDSN
The Syslog Dataset name.
MF_UCC11
Enables emulation of UCC11, a third party add-on to the mainframe that affects data set disposition processing. If UCC11 is enabled, a data set disposition of NEW is accepted even if the data set already exists.
Values
  • y
  • n (Default)
MF_USESCA5
Specifies that the server should use version 5 of the Open Service Component Architecture
Values:
  • ON (Default)
  • OFF
MF_USESCA7
Specifies that MSS accepts CA7 Scheduler control statements as comments rather than diagnosing them as errors.
Values:
  • ON (Default)
  • OFF
MF_USE_JAVA_CW
Enables you to use Java CodeWatch for debugging Open PL/I programs.
MFALLOC_LOC
The location of the default allocated dataset.
MFALLOC_PROP
Rules for generated PC dataset names on allocation (that is, the default catalog PC DSN format).
MFAUDIT_LOGS
The location of audit files.
MFCODESET
Specifies which translation tables to use.
Values
  • A value from 2000 through 9999 that indicates the required translation table. Values below 2000 are reserved for Micro Focus use.
MFCSCFG
A configuration file to be used by the client/server binding client program
MFE.SMS
Enables SMS support.
MFEXTMAP
Location of a mapper file.
MFIMS_ACBDUMP_TIMESTAMP
Suppresses date/time stamp display in ACB report.
MFIMS_BMPCHKP
Returns a QC to a checkpoint call when it the call includes an IO area.
MFIMS_DIBSTAT_CODES
Specifies additional DIBSTAT return codes to be returned to EXEC DLI program.
MFIMS_DLI_OPT
Specifies DL/I call optimization flags.
MFIMS_DIAG
Enables IMS BTS format diagnostic tracing.
MFIMS_FLUSHTRACE
Flushes BTS trace file to disk after every write.
MFIMS_FP_DA
Bypasses keycheck on IMS Fastpath DB delete.
MFIMS_LOADMVS
Disables load of MVS support for IMS application programs.
MFIMS_PCBCALL
Allows a standalone EXEC DLI program to issue a PCB call.
MFJSENGINE
Specifies which sort engine the utility MFJSORT is to emulate.
Values:
  • DFSORT (Default)
  • SYNCSORT
MFJSTATS
Specifies to create a report containing statistics for a SORT.
MFLECONFIG
Path and filename for a configuration file for Language Environment (LE) run-time options
MFLOCKING
Enables Locking Support
MFLOGDIR
A directory that the client/server binding process is to use for log files.
MFPLI_PRODUCT_DIR
The location of the Open PL/I installation. Used to find files needed for compiling and linking.
MFPRELOAD_USE
Calls MFPRELOAD to improve perfomance.
MFREXX_LSEQ_RECSIZE_MAX

Specifies the record length for the REXX EXECIO command when reading or writing a line sequential file that has been cataloged with a record length of zero.

Values:
  • Record length to use (Default = 255)
MFREXX_NOT
Specifies one or more characters to be used for the NOT operator in addition to REXX's default, which is "¬".
Values
  • One or more characters for each operator; each character you specify is used in addition to the default operator. Each additional character must be defined within single or double quotes, or in hexadecimal. Separate multiple characters with a space or a comma.
MFREXX_OR
One or more characters to be used for the OR operator in addition to REXX's default, which is "|".
Values
  • One or more characters for each operator; each character you specify is used in addition to the default operator. Each additional character must be defined within single or double quotes, or in hexadecimal. Separate multiple characters with a space or a comma.
MFSUB
Specifies whether to use SUBI or ASUBI
Values
  • SUBI
  • ASUBI
MFSCPY
The location of copybook files for MFSGEN utility
MFSYSCAT
The location of the JES system catalog.
MFSYSCATDIR
The location of the system catalog directory
MFTRACE_ANNOTATIONS
The location of the Net Express trace files
MFTRACE_CONFIG
The location of the CTF configuration file
MFTRACE_LOGS
The location of the CTF log files
MFTSO_DEBUG
Controls the display of debug message
MFUSERCAT_LOC
User catalog location
MQSERVER
The location of an MQSeries Server installation.
MULTMFENTMAP
Specifies whether special characters such as < and & are replaced with the equivalent HTML entities (for example &lt; and &amp;)
OOSW
OO run-time switches
PATH
Directories to be searched for all UNIX programs.
PROCLIB
Specifies PROCLIB datasets. This can be a concatenation of PDS names.
PSBCPY
The location of copybook files for PSBGEN utility.
RANDOM
If using SSL connections, externally generated random data that is stored as a numeric value in the RANDOM variable will be inserted into the initial salt value used to generate temporary key pairs used in SSL hand-shaking. The RANDOM value will only form part of the initial salt value and is an aid to generating more randomness and not an essential requirement.
SHLIB_PATH
Locates shared libraries (applies to HP/UX only).
SORTCOMPRESS
Tells the system whether or not to execute a compression routine on each record to be sorted.
Values
  • SORTCOMPRESS=5 allows for run-length encoding of sort records, resulting in much better performance when records contain multiple repeated characters.
    Note: 5 is the only valid value for this environment variable.
SORTSCHEME
Activates a sortscheme. Use in conjunction with SORTSPACE for improved performance.
Values
  • SORTSCHEME=1 - this is the only valid value for the environment variable. See SORTSPACE below for more information.
SORTSPACE
The amount of memory to be allocated to internal workspace for SORT operations. This can be specified in different formats: for example, you could specify 64M, 2G, and 1000000 to give sort memory areas of 64 Megabytes, 2 Gigabytes and 1000000 bytes respectively.
Values
  • n[K|k|M|m|G|g No letter indicates bytes. Defaults to 1 megabyte.
SORTTEMPSPACE
The amount of temporary memory to be allocated to internal workspace for SORT operations. This can be specified in different formats much like the SORTSPACE environment variable. By using SORTTEMPSPACE, you can maximize available memory.
SORTTYPE
Defines the sort type.
Values
  • SORTTYPE=2 Forces SORT to use the file handler, so that format modifications are picked up from the extfh.cfg file.
  • Not setting this means SORT will try to use CBL_ routines to read and write files to improve performance.
Note: 2 is the only valid value for this environment variable.
SSLDIR
If using SSL connections specifies the generic location of the system's OpenSSL directory.
STEPLIB
The paths for Loader input load-members .390 files (must contain SYSLMOD) .
Note: For this environment, you can specify multiple paths, each separated by a semi colon.
SYSIN
The path for macro input .MLC files.
SYSLIST
The path for Assemble and Link listing files: .MAT, .PRN, and .LST.
SYSWORK
The path for Assemble, Link and Animator/370 work files .BAL .IDF/.IDX.
SYSPUNCH
The path for Assemble output .PCH files for PUNCH statements.
SYSMPC
The path for Assemble input precompiled macros: .MPC.
SYSLIB
The paths for Assemble input macro and copy files .MAC .CPY.
Note: For this environment, you can specify multiple paths, each separated by a semi colon.
SYSLIN
The path for Link input .LIN files and Assemble output .OBJ files.
SYSLMOD
The path for Link output load-member .390 files.
SYSPARM
The path for the Macro input SYSPARM value.
TERM
Sets the terminal type.
Values
  • name The name of the terminal in the terminfo database.
TERMINFO
Locates the UNIX system terminfo database.
TMPDIR
Locates the directory for temporary files.
TX_MQTRACE
Enables tracing in dfh0mqis for MQSeries calls.
TX_TN3270_FORCE_ALT
Enables you to use a screen size other than the default when using a TN3270 terminal emulator.
TXFILEP
The location of Micro Focus VSAM files.
TXMAPP
The location of the BMS load module.
TXRDTP
The location of MSS resource definition (RDO) files.
TXTRANP
The location of the CICS application object files.
USER
Default user name.
VSE_STARTUP_CFG
The location of the VSE JCL configuration file
Parent topic: Configuring Environment Variables


Configuring Fileshare

You will need to set the FHREDIR environment variable to specify the location of the FHREDIR configuration file if any services in your Enterprise Server instance make use of Fileshare to access files across the network. For example:

[ES-Environment]
FHREDIR=home/mydir/client.cfg

As the FHREDIR configuration is static, the contents of the FHREDIR configuration file are read at when the Enterprise Server instance is initialized and cannot be dynamically changed. This means that the FHREDIR configuration file should contain entries for all services that are deployed, or could be deployed to the Enterprise Server instance. If a service is dynamically deployed to an Enterprise Server instance and it requires different configuration for Fileshare then there is no option but to stop and restart the Enterprise Server instance.

If all your Enterprise Server instances use the same configuration file, you can set $FHREDIR on the command line before you start the Directory Server, rather than have separate configuration entries for each Enterprise Server instance.

You should start all the Fileshare servers that the services in an Enterprise Server instance might need to access before you start the Enterprise Server instance. You should stop the Enterprise Server instance before you stop the Fileshare servers.

For more information about Fileshare see the section of the help that covers Fileshare.

Parent topic: Configuring the Server Instance Enviromnent


Configuring XA-Compliant Resources

If your Enterprise Server instance includes container-managed services that access databases, you need to specify information about the resource managers that the application container needs to interact with. You can only use resource managers that are XA-compliant. The XA interface describes a structure called a switch table, which lists the names of the xa_ routines implemented in the resource manager. This structure is called xa_switch_t. To access an XA-compliant resource manager, you need a switch module, the purpose of which is to obtain the address of the XA switch data structure implemented by the resource manager.

If you want to access Oracle or IBM DB2 databases from JES-initiated transactions, that is, using IKJEFT01, you must build an additional switch module to use with the standard Oracle or IBM DB2 switch module.

Enterprise Server includes the source for switch modules for Oracle, IBM DB2, SQL Server, a generic one-phase switch module and the additional switch modules for using with JES-initiated transactions in the %ProgramFiles%\Micro Focus\reUZE Developer x.x \base\source\enterpriseserver\xa directory. The source files are:
ESORAXA.CBL | Oracle
ESDB2BXA.CBL | IBM DB2
ESMSSQL.CBL | SQL Server
ESODBCXA.CBL | Generic one-phase commit for ODBC
ESORAOPC.pco | JES-initiated transactions connecting to Oracle data sources
ESDB2OPC.CBL | JES-initiated transactions connecting to IBM DB2 data sources
This directory also contains two batch files, build.bat for 32-bit applications and build64.bat for 64-bit applications, that you can use to build the switch module you require. The syntax required to run the build or build64 command varies slightly depending on the switch module you are building. To run the batch file:
  • For 32-bit applications:
    1. Open a Net Express 32-bit command prompt.
    2. Change to the base\source\enterpriseserver\xa directory.
    3. Enter build
  • For 64-bit applications:
    1. Open a Net Express 64-bit command prompt.
    2. Change to the base\source\enterpriseserver\xa directory.
    3. Enter build64
Note:

If you are running Enterprise Server in standalone mode, build the required switch module in reUZE Developer, and make it available for use with the standalone reUZE Server.

You specify the details of XA resource managers using the Edit Server > Properties > XA Resources page in the Web interface. You can also edit and delete XA resource manager definitions. You can enable resource managers individually to control which are active when an Enterprise Server instance starts.

  • Handling XA Connection Errors
  • Oracle
  • DB2
  • SQL Server
  • Generic one-phase commit for ODBC
  • To Add an XA Resource to an Enterprise Server Instance
  • To Delete an XA Resource
  • To Edit an XA Resource
  • To Enable or Disable an XA Resource
  • Handling XA Connection Errors
Parent topic: Enterprise Server Configuration and Administration


Handling XA Connection Errors

The way a server instance handles XA resource connection errors is controlled by the following environment variables:

  • ES_XA_RECONNECT

    If this environment variable is set to True, when an error occurs on a call to XA, the server recycles the SEP and attempts to reconnect to the Resource Manager.

    If it cannot reconnect, the server monitors the number of attempts made.

  • ES_XA_????_NB_RETRIES
    The format for setting this is:
    ES_XA_????_NB_RETRIES=nnnn

    where ???? defines the XA ID, and nnnn is the number of connection re-try attempts to be made. The default is 5.

If the connection is not made in the set number of re-tries, the switch is disabled.

You can configure this behaviour from an Enterprise Server administration page. This configuration page allows you to switch and recycle all SEPs, BATs and MPRs when the connection to the RM has been restored.

To access this administration page:

  1. From the Enterprise Server Administration screen, click Edit next to the enterprise server instance.
  2. Select the Server > Properties > XA Resources tabs

Need details

Parent topic: Configuring XA-Compliant Resources


Oracle

You can build switch modules for several versions of oracle. Execute the build command as follows:

build oracle-version

where oracle-version can be:

ora8 | For Oracle 8 databases
ora9 | For Oracle 9 databases
ora10 | For Oracle 10 databases

To connect to Oracle data sources from JES-initiated tasks, you must build an additional switch module. Execute the build command as follows:

build ora1pc

This additional module must be loaded by the main switch module; therefore include the full path to it in your system's PATH environment variable.

Parent topic: Configuring XA-Compliant Resources


DB2

Before building a switch module for DB2, ensure your LIB environment variable contains the path to your DB2 LIB directory. If you want to connect to IBM DB2 data sources using JES-initiated tasks via IKJEFT01, you must build an additional module.

To build a standard IBM DB2 switch module, execute the build command as follows:

build db2

To connect to IBM DB2 data sources from JES-initiated tasks, you must build an additional switch module. Execute the build command as follows:

build db21pc db2_database_alias [db2_userid db2_password]

db2_database_alias | The database alias cataloged to the DB2 client on the machine where Enterprise Server is running
db2_userid db2_password | The user ID and password for connecting to DB2; required only if different from the user ID and password for the user currently logged in

This additional module must be loaded by the main switch module; therefore include the full path to it in your system's PATH environment variable.

Parent topic: Configuring XA-Compliant Resources


SQL Server

Execute the build command as follows:

build mssql

You must define the SQL Server switch module within Enterprise Server. See the topic SQL Server XA switch module for more information.

Note:

If you want to access SQL Server data sources using JES-initiated tasks via IKJEFT01, you must also build the Generic one-phase commit XA switch module for ODBC and include the full path to that module on your system's environment variable. For information on building the Generic one-phase XA switch module for ODBC, see the section Generic one-phase commit for ODBC later in this chapter.

Parent topic: Configuring XA-Compliant Resources


Generic one-phase commit for ODBC

Execute the build command as follows:

build odbc

You must define the generic one-phase commit for ODBC switch module within Enterprise Server. See the topic Generic one-phase commit XA switch module for ODBC for more information.

You specify the details of XA resource managers using the Edit Server > Properties > XA Resources page in the Web interface. You can also edit and delete XA resource manager definitions. You can enable resource managers individually to control which are active when an Enterprise Server instance starts.

Parent topic: Configuring XA-Compliant Resources


To Add an XA Resource to an Enterprise Server Instance

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server that you want to edit.
  2. Click the XA Resources tab.
  3. Click Add.
  4. Specify the details of the resource manager.
  5. Click Add.
Note: You cannot add a resource manager until all the mandatory fields have values.
Parent topic: Configuring XA-Compliant Resources
Parent topic: Work with Servers
Parent topic: Database Managers Supported


To Delete an XA Resource

CAUTION:

Deleting a registered XA resource might cause application connection errors and loss of data.

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server that owns the XA resource you want to delete.
  2. Click the XA Resources tab.
  3. Click Edit next to the XA resource you want to delete.
  4. Click Delete.
  5. Click OK on the confirmation page.
Note:

You cannot delete an XA resource if the server is started.

Parent topic: Configuring XA-Compliant Resources
Parent topic: Work with Servers


To Edit an XA Resource

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server that owns the XA resource you want to edit.
  2. Click the XA Resources tab.
  3. Click Edit next to the XA resource you want to edit.
  4. Update the attributes on the page as required.
  5. Click OK.
Note: You cannot update the attributes of an XA resource if the server is started.

To reconnect to an XA resource following an error

  1. Set the following environment variables in Configuration Information on the Edit Server page:
    • ES_XA_CONNECT. This enables you to reconnect to the XA resource following an error.
    • ES_xxxxx_NB_RETRIES, where xxxxx is the ID of the resource. This specifies the number of times a SEP will attempt to reconnect to the XA resource following an error. The default is 5. If no connection is made, the switch is disabled.
Parent topic: Configuring XA-Compliant Resources
Parent topic: Work with Servers


To Enable or Disable an XA Resource

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server that owns the XA resource you want to enable or disable.
  2. Click the XA Resources tab.
  3. Click Edit next to the XA resource you want to enable or disable.
  4. Check or uncheck Enabled as required.
  5. Click OK on the confirmation page.
Parent topic: Configuring XA-Compliant Resources
Parent topic: Work with Servers


Configuring and Administering Enterprise Server Instances

The Enterprise Serveer user interface displays a list of the Enterprise Server instances that your installation maintains. The interface displays whether each Enterprise Server instance is running or stopped, and also some details for each server.

You can view and configure the details for each Enterprise Server instance, and for the ones that are running, you can access the Enterprise Server Monitor and Control (ESMAC) screen, to view and configure operating configurations.

  • Creating and Configuring Enterprise Server Instances
  • Connecting to a Server Instance
  • Administering Enterprise Server Instances using ESMAC
  • Stopping and Restarting an Installation
  • Using the Command-line Interface
Parent topic: Enterprise Server Configuration and Administration


Creating and Configuring Enterprise Server Instances

This section describes the processes and methods for creating, licensing, configuring, and deleting Enterprise Server instances.

  • To Add an Enterprise Server Instance
  • To Change the Number of ES licenses
  • To Copy an Enterprise Server Instance
  • To Delete an Enterprise Server Instance
  • To Delete a CCI Server
  • To Export Server Information
Parent topic: Configuring and Administering Enterprise Server Instances


To Add an Enterprise Server Instance

  1. On the Home page of Enterprise Server Administration, click Add at the bottom of the table of servers.
  2. Specify a name for the server in Name.
  3. Select the Working Mode for the server. If you are creating your server in an environment that supports both 32-bit and 64-bit applications, you must specify the server's working mode. A server with a 32-bit working mode can run only 32-bit applications. A server with a 64-bit working mode can run only 64-bit applications.
    Note:
    • You cannot change the working mode of the server once it has been created. You can however, change the mode when you copy or import a server.
  4. Choose a server type:
    • Click Micro Focus Enterprise Server if you plan to run COBOL application programs as services in a service-oriented architecture.
    • Click Micro Focus Enterprise Server with Mainframe Transaction Option if you plan to run CICS or JCL applications that have been migrated from the mainframe.
  5. Click Next>>.
  6. Specify a host name or IP address in the second of the two fields next to Server Address. You can leave the value as *:*, where the first asterisk (*) indicates the IP address of the current machine and the second indicates any available port number.
  7. Specify the location for files output by the Directory Server, such as trace and dump diagnostics files, in System Directory. This directory cannot be shared between enterprise servers. The default is %SYSTEMDRIVE%\Documents and Settings\user-ID\My Documents\Micro Focus\<product name X.X\WORKAREA\es-name where es-name is the name of the enterprise server, and user-ID is the user account that is running it.

    If you specify a directory in this field, that directory must exist; Enterprise Server does not create it for you.

  8. Specify the start-up configuration you want in the fields under Startup Options.
  9. Specify any trace flags you want to be set in the fields under Trace Flags.
  10. Specify any configuration information the server requires in Configuration Information For information on what you can specify, see the section Configuration Information in the chapter Servers in your Configuration and Administration Guide.
  11. Specify a text description of the server in Description (optional).
  12. Click Add.
Parent topic: Creating and Configuring Enterprise Server Instances
Parent topic: Work with Servers


To Change the Number of ES licenses

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the Enterprise Server instance for which you want to change the number of licenses.

    The Server > Properties > General page is displayed.

  2. Specify the new number of licenses in Requested Licenses.
  3. Click OK.
Note:

If the status of the Enterprise Server instance is "Started", you can also change the number of licenses by clicking Details in the Current status column, then on the Enterprise Server > Control page, specifying the new number in Requested licenses and clicking Update. The Directory Server allocates additional licenses requested immediately, up to the number available. It removes any unwanted licenses immediately. However, any change you make here is temporary only; after you stop the server, the number of processes reverts to the number set on the Server > Properties > General page.

Parent topic: Creating and Configuring Enterprise Server Instances
Parent topic: Work with Servers


To Copy an Enterprise Server Instance

Note:

When you copy an Enterprise Server instance to another of the same working mode, the default behavior is to copy all the objects associated with it - communications processes, service listeners, services, request handlers and implementation packages. If the working mode of the new Enterprise Server instance is different from that of the existing server, the copy process cannot copy deployed services (that is, services that have an associated package and handler). Therefore, where the existing server has deployed services and you want the copy to have a different working mode, you must check Do not copy deployed services and packages.

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the Enterprise Server instance that you want to copy.
  2. On the Properties > General page click Copy.
  3. Specify the name of the new server in Name under ...to new server...
  4. Click the Working Mode checkbox if you want to change the working mode for the new server.
  5. In Initial Communications Processs Address under ...to new server... specify a host name or IP address to replace the first asterisk (*) and a port number to replace the second asterisk. You can leave the value as *:*, where the first asterisk (*) indicates the IP address of the current machine and the second indicates any available port number.
  6. Click Do not copy deployed services and packages if you do not want to copy the deployed services and packages to the new server.
  7. Click OK.
Parent topic: Creating and Configuring Enterprise Server Instances
Parent topic: Work with Servers


To Delete an Enterprise Server Instance

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server that you want to delete.
  2. Click Delete on the Properties > General page.
  3. Click OK on the Confirmation page.
CAUTION:

Deleting a registered server might cause application connection errors and loss of data.

Parent topic: Creating and Configuring Enterprise Server Instances
Parent topic: Work with Servers


To Delete a CCI Server

CAUTION:

Deleting a registered server might cause application connection errors and loss of data.

  • Click Delete to the left of the server name on the Home page.
Note:

Only CCI servers are deleted in this way. CCI servers are identified by type MFCCI.

Parent topic: Creating and Configuring Enterprise Server Instances
Parent topic: Work with Servers


To Export Server Information

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server for which you want to change the number of instances.

    The Server > Properties > General page is displayed.

  2. Click Export.
  3. On the Export Server page, specify the location to which you want to save the server information in Target directory. This defaults to C:\Documents and Settings\All Users\Application Data\Micro Focus\<product name X.X\MFDS\backup (assuming that your %SYSTEMDRIVE% is c:).
  4. Click OK.

    If the location you specified contains previously exported information, you will now be presented with a confirmation page. This displays details of the information currently held in the target location. The details shown include: any Enterprise Servers, the Security Manager pool, and Security Manager lists and security configuration settings.

    If you confirm the export, existing information in the target location will be overwritten.

Note:
  • When you export server information, you create a backup copy of the server definition.
  • If you specify a directory that does not exist, it will be created if the directory containing it exists; otherwise it will not be created and the export will fail.
  • You can export all server definitions in the MF Directory Server repository. See To export the repository.
  • For instructions on importing server definitions, see To import a repository.
Parent topic: Creating and Configuring Enterprise Server Instances
Parent topic: Work with Servers


Connecting to a Server Instance

From Enterprise Server Administration you can connect to the Enterprise Server instance and access the details of the server that you want to monitor.

Provided the server has been started, you can access the Enterprise Server Monitoring and Control (ESMAC) screen from the server's Details screen.

You can return to Enterprise Server Administration by clicking Home from the left pane of these screens.

  • To start an enterprise server instance
  • To stop a server Instance
  • To Edit an Enterprise Server Instance
  • To Log On to Enterprise Server Administration
  • To Log Off from Enterprise Server Administration
  • Using Start and Stop Scripts
Parent topic: Configuring and Administering Enterprise Server Instances


To start an enterprise server instance

  1. In the table of servers on the Enterprise Server Administration Home page, find the row for the server that you want to start, and click Start in the Current Status column.

    A screen is displayed showing the server details and security configuration information. This screen also gives you the option of specifying operating system and Enterprise Server security credentials to be used.

  2. Click OK.

    The Enterprise Server Administration Home page is displayed, and progress is shown in the in the Status Log column. If you have Show local console checked on the Edit Server page, the enterprise server console daemon window appears indicating the progress.

  3. After a few seconds click Refresh on the Home page.

    When the server starts, the value in Current Status changes to Started.

Note:

If the server does not start for a prolonged time the reason might be that it has encountered an unrecoverable error but the server process remains active. In this case click Details to go to the Server > Control page, then click Stop Server to shut down the unsuccessful server process. Alternatively it might have encountered an unrecoverable error during the startup process and shut down without informing the Directory Server. In this case you can restart it using Start Server on the Server > Control page.

Parent topic: Connecting to a Server Instance
Parent topic: Work with Servers
Parent topic: Configuring the Enterprise Server
Parent topic: To change the SIT associated with a server
Related information
Configuring and Starting Transaction Data Collection
Viewing HSF Information in ESMAC


To stop a server Instance

This procedure describes how to stop an enterprise server instance from the Enterprise Server Administration screen. You can use the server shut down process if you need more control over the process, or you want to produce a system dump.

  1. In the table of servers on the Home page of Enterprise Server Administration, find the row for the server that you want to stop, and click Stop in the Current Status column.

    A screen is displayed indicating the server details and security configuration information. This screen also gives you the option of specifying operating system and Enterprise Server security credentials to be used. For more about security credentials, see the help section on Enterprise Server security.

  2. Click OK.

    The Home page of Enterprise Server Administration is displayed, and the Status Log column displays server termination progress messages. If you have Show local console checked on the Edit Server page, the enterprise server console daemon window appears, showing progress messages.

  3. After a few seconds click Refresh on the Home page.

    The value in Current Status changes to "Stopped".

Note:

If the server remains in the "Stopping" state for a prolonged time the reason might be that it has encountered an unrecoverable error during the shutdown. You can force a shutdown by clicking Details to go to the Server > Control page, then clicking Force Stop. Alternatively it might have encountered an unrecoverable communications error and shut down without informing the Directory Server. In this case you can restart it using Start Server on the Server > Control page.

Parent topic: Connecting to a Server Instance
Parent topic: Work with Servers
Parent topic: To change the SIT associated with a server


To Edit an Enterprise Server Instance

  1. In the table of servers on the Home page of Server Enterprise Edition Administration, click Edit to the left of the row for the server that you want to edit.
  2. The top row of tabs displays Server, Listeners, Services, Handlers and Packages. Select the tab for the type of attribute you want to edit.
  3. Click the Edit button for each listener, service, handler or package that you want to edit.
  4. Update the attributes as required.
  5. Click OK.
  6. Click the Server tab.
  7. Click one of the tabs: Properties, Control, and Diagnostics to select the type of attribute you want to update. The Properties page is the default.
  8. What you do next depends on what tab you selected in the previous step:
    • If you selected Properties, click one of the tabs General, XA Resources, MSS, Scripts, Permissions and Security to select the page containing the attributes you want to update. The General page is the default.
    • If you selected Control, you see the Control page. If the server is not running all you see is a message giving the server state. If the server is running, the number and type of processes will be displayed. Click ES Monitor & Control... to display server information and diagnostics.
    • If you selected Diagnostics, click one of the tabs Trace, Dump, ES Console and CS Console to select the page containing the attributes you want to update. The Trace page is the default.
  9. Update the attributes on the page as required.
  10. Click OK.
Parent topic: Connecting to a Server Instance
Parent topic: Work with Servers


To Log On to Enterprise Server Administration

  1. Click Log On on the menu on the left-hand side of the Enterprise Server Administration home page.
  2. Specify your user ID in User ID.
  3. Specify your password in Password.
  4. Click OK.
  5. Click Continue on the Welcome page.
Note:

You can see the Log On option only if user access is restricted and you are not currently logged on.

Parent topic: Connecting to a Server Instance
Parent topic: Log On and Off


To Log Off from Enterprise Server Administration

  • Click Log Off on the menu on the left-hand side of an Enterprise Server Administration Web page.
    Note:

    You can see the Log Off option only if user access is restricted and you are currently logged on.

Parent topic: Connecting to a Server Instance
Parent topic: Log On and Off


Using Start and Stop Scripts

You can supply start and stop scripts to take additional actions before or after starting or stopping an enterprise server. You must include the casstart command in your start script, and the casstop command in your stop script. If you omit them the server will not actually be started or stopped.

The Directory Server sets some environment variables in the scripts' environment, which you can use in your scripts:

ES_HOME | Server work directory (location of log files); this comes from the System Directory field on the Add Server or Edit Server > Properties > General page.
ES_SERVER | Server name (note that Enterprise Server will use this as the server name if no -r switch is specified on casstart or casstop).
ES_WORKING_MODE | The working mode of the server. This indicates whether the server is to run 32-bit or 64-bit applications.
MFDS_PORT | The port on which the Directory Server listens (usually 86).
For example, the start script could be used to set environment variables for the server, as follows;
set MY_VARIABLE=value
rem start the enterprise server
echo Enterprise Server %ES_SERVER% is starting
casstart

where value is the value of the environment variable.

If your stop script contains commands that should only be executed after the server has stopped completely, it should pause after executing casstop until thecascd process for that server has exited. This is because the casstop command returns before the server has actually finished shutting down. You would need third-party tools to do this on Windows.

Then you could back up the log files or perform other tasks that should only be started after the server finishes shutting down.

When you click the server's Start or Stop button, the commands that you specify are used to generate a Windows batch file, which is then executed.

You can also create an "On server not responding" script. This script will be executed when all of the running communications processes for a server have entered the "Not Responding" state. That might indicate that the server is hung or has crashed, or it might result from network connectivity problems between the Directory Server and the enterprise server (if they run on different systems). You can use this script to notify a system administrator of the problem.

You specify start, stop and "On server not responding" scripts on the Edit Server > Properties > Advanced page.

Parent topic: Connecting to a Server Instance


Administering Enterprise Server Instances using ESMAC

Enterprise Server Monitor and Control (ESMAC) enables you to view and control Enterprise Server instances, and the services, packages, and handlers that run on them.

Note: The Enterprise Server instance to administer must be started before the ESMAC screen becomes available.

From ESMAC, you can:

  • Monitor and control an Enterprise Server instance, including service execution processes, services, packages, and so on.
  • Monitor the current activity and performance of Enterprise Server instances and applications, and monitor the trends in that activity and performance.
  • Obtain diagnostic information (dumps and traces) for your applications.

ESMAC enables you to define who can use ESMAC, and the permissions they have to view and update resources. For more information on setting up ESMAC users, see the section Security.

  • To Start ESMAC for an Enterprise Server instance
  • To Shut Down a Server from ESMAC
  • Viewing Enterprise Server Instance Details
  • The ESMAC User Interface
  • Defining Enterprise Server Instance Administrators
  • Managing an Enterprise Server Instance's SEPs
  • Interacting with Services
Parent topic: Configuring and Administering Enterprise Server Instances


To Start ESMAC for an Enterprise Server instance

The Enterprise Server instance must be started before the ESMAC screen becomes available.

  1. Open the Enterprise Server Administration user interface.
  2. In the list of servers next to the server to access, click Details in the Status column to display the details screen for the Enterprise Server instance.
  3. On the Enterprise Server instance details screen, click the ES Monitor & Control button.

    The ESMAC screen is displayed.

Parent topic: Administering Enterprise Server Instances using ESMAC
Parent topic: Administer a Server Using ESMAC
Parent topic: To change the SIT associated with a server


To Shut Down a Server from ESMAC

You can shut down a server from the Monitor and Control (ESMAC) screen. This allows you more control over the shutdown process, and you can specify that the shut down process produces a dump.

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To shut down a server

  1. Click Control.
  2. If you want a dump, check Dump. A system dump is produced at the beginning and at the end of the final stage of system shutdown.
  3. If you want an immediate shutdown, check Immediate. If you force an immediate shutdown, you will see the "The page cannot be displayed" error, as there is no longer a server to connect to.
  4. Click Shutdown.
Parent topic: Administering Enterprise Server Instances using ESMAC
Parent topic: Administer a Server Using ESMAC


Viewing Enterprise Server Instance Details

ESMAC provides information about the enterprise server you are currently viewing. Use the tabs at the top of the page to access the information that you want.

For example, click the Server tab to display the Server Information page. The Server Information page provides information that enables you to monitor the operation of the enterprise server, providing details on:

  • Times - such as the time the enterprise server was started, and the time for which it has been available.
  • Counts - such as the number of services, dumps, and trace blocks.
  • Sizes - such as maximum number of tasks enabled on the server, the amount of memory available, and the size of diagnostic files.
  • States - such as the dump state and the currently set dump datasets.
  • Activity - average times taken to complete tasks.

The information provided enables you to quickly determine the state of the server. For example:

  • The Activity information enables you to see whether any services are behaving in unexpected ways by, for example, taking more time to complete than you expect.
  • The State information provides information on the current dump state, showing, for example, that a dump is taken when the system abends, but not when the service abends.

Based on the information presented on this page you can make changes using other ESMAC pages that you can access using the tabs.

Parent topic: Administering Enterprise Server Instances using ESMAC


The ESMAC User Interface

The ESMAC interface is displayed using a browser. You can, therefore, monitor and control Enterprise Server instances across the Internet, or your intranet, from a browser.

When you first view ESMAC, the Server Information page is displayed, as shown below:

Figure 1. ESMAC Server information page
ESMAC Server information page

ESMAC enables you to:

  • Obtain information about the server you are currently connected to.
  • Monitor services occurring on the server.
  • View and change various parameters associated with server, such as the number of service execution processes, the active diagnostic datasets, and any trace control flags set.
  • View information about service execution processes (SEPs), stop SEPs and obtain trace information for them.
  • View information about client processes running on the server.
  • View console logs, and dump and trace information.
  • View information about the services, packages and request handlers defined on the server.
  • Add, delete and change the permissions of users who can administer servers.
  • View the environment variables associated with the server.
  • Login as an administrator.

The ESMAC interface is split into two areas:

  • A menu, in a sidebar on the left side of the page, which provides buttons with which you can control ESMAC.
  • The main body of the page, which displays the monitor and control information. The information and controls available here depend on the button you click in the menu.
  • Sidebar
  • Body
  • Status Line
  • Refreshing a Page
Parent topic: Administering Enterprise Server Instances using ESMAC


Sidebar

The ESMAC menu appears in a sidebar on the left side of the page. You see only the menu options that are appropriate to your permission level.

Parent topic: The ESMAC User Interface


Body

Control and monitor information is presented in the body of the page.

The body of the page changes when you click a button in the menu. The body of the page usually contains one or more controls, which you can use to enter and modify information required by the Enterprise Server instance.

Parent topic: The ESMAC User Interface


Status Line

The status line appears at the top of the page. This line tells you:

  • The enterprise server you are connected to.
  • The server on which the enterprise server is running.
  • Your user name.
  • The date and time at which the current page was displayed.
Parent topic: The ESMAC User Interface


Defining Enterprise Server Instance Administrators

This topic describes how to set up the users who can access Enterprise Server administration, and set the appropriate permissions for those users.

The default security access configuration depends on how your system is set up. A system can be set up with or without the special user mfuser defined:

  • If mfuser is not defined, by default all users can perform any action.

    For an installation used for development, we recommend that you do not configure an mfuser.

  • If mfuser is defined, the default security level is the same as that defined for mfuser.

    For an installation used for production, we recommend that you do configure an mfuser, and give mfuser only minimum privileges.

You create user names, passwords, and set permissions using the Users page.

You can see which administrators are currently set up by accessing the ESMAC screen and clicking Users. This displays the Users page, which lists all users. Click Details on the Users page to get detailed information on a user's permissions.

If you do not have the required read or update permissions, the options available to you in ESMAC are limited. You can only:

  • View server information. See the section Server Information for details.
  • Monitor the performance. See the section Monitoring Services for details.
  • View environment variables. See the section Environment Variables for information.
  • Change to a different user.
Parent topic: Administering Enterprise Server Instances using ESMAC
Related concepts
Enterprise Server Execution Control Under Windows


Managing an Enterprise Server Instance's SEPs

You can view details of the SEPs running in an Enterprise Server instance using ESMAC. You do this using the Control page, which can be displayed by clicking Control on the ESMAC menu.

For example, you can view various information about an Enterprise Server instance, including the dump state. If you wanted to change the dump state, you would use the Control page.

The Control page enables you to veiw the following details:

  • The number of SEPs running on the Enterprise Server instance.
  • Dump and trace parameters, including the size of the auxiliary trace and dump file, the datasets to be used for dumps and traces, and so on.
  • Whether programs are reloaded each time they are invoked.
  • The trace control flags set.
  • The size of the data blocks passed across shared memory for HTTP output.
  • The timeout value that will be used for all users of the Enterprise Server instance who do not have a timeout value set for their user ID.

You can also shut down the Enterprise Server instance from this page, and you can obtain a dump of the server on shutdown.

  • About Service Execution Processes
  • To Change the Number of SEPs
Parent topic: Administering Enterprise Server Instances using ESMAC


About Service Execution Processes

Service execution processes are provided within an enterprise server. COBOL applications are executed within these service execution processes. For more information on service execution processes, see the section Service Execution Processes in the chapter Configuration in your Enterprise ServerConfiguration and Administration Guide.

You can view information on the SEPs running on an enterprise server by displaying the SEPs (Service Execution Processes) page. To do this, click SEPs in the menu.

The SEPs (Service Execution Processes) page displays details for all SEPs on the current enterprise server, including:

  • The process ID
  • The type of SEP
  • The task number
  • The number of services that have run in this SEP

You can also terminate SEPs and create and view traces for SEPs.

Parent topic: Managing an Enterprise Server Instance's SEPs


To Change the Number of SEPs

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server for which you want to change the number of instances.

    The Server > Properties > General page is displayed.

  2. Specify the new number of instances in Service execution processes.
  3. Click OK.
Note:

If the status of the server is "Started", you can also change the number of service execution processes by clicking Details in the Current status column, then on the Enterprise Server > Control page, specifying the new number in Requested service execution processes and clicking Update. The new processes will take a few seconds to appear in the list. However, any change you make here is temporary only; after you stop the server, the number of processes reverts to the number set on the Server > Properties > General page.

Parent topic: Managing an Enterprise Server Instance's SEPs
Parent topic: Work with Servers


Interacting with Services

Programs running as services in an enterprise server can include ACCEPT FROM CONSOLE and DISPLAY UPON CONSOLE statements. When execution reaches a DISPLAY UPON CONSOLE statement, the display text is displayed in the console log, and the service continues. When execution reaches an ACCEPT FROM CONSOLE statement, the service pauses and asks for input using pages in ESMAC. You must provide the input in order for the service to continue executing.

  • To Reply to an ACCEPT FROM CONSOLE Statement
Parent topic: Administering Enterprise Server Instances using ESMAC


To Reply to an ACCEPT FROM CONSOLE Statement

  1. Click Reply in the menu. You see a page listing all the current pending ACCEPTs. They are identified by PID (Process ID).
  2. Click Select next to the process that you want to reply to.
  3. Specify your reply in the Enter field, then click Reply just above it.
Parent topic: Interacting with Services
Parent topic: Administer a Server Using ESMAC


Stopping and Restarting an Installation

Before stopping the Directory Server or shutting the machine down, you should stop all Enterprise Server instances that are running. When you stop the Directory Server using Enterprise Server Administration, there is an option to stop all servers first.

On system restart, unless Restore Servers on Startup on the Configure Options page is checked, the Directory Server does not automatically start any Enterprise Server instances that were not stopped before shutdown (and so are still marked as "Started" in the Directory Server repository). If the Server Monitor is enabled on the Configure Options page it will check whether these Enterprise Server instances are still active, and will mark them as "Not Responding" in the Enterprise Server Administration servers table on the Home page. Each Enterprise Server instance will then need to be restarted manually. You can do this by clicking Details and then clicking Start Server for each server.

If Restore Servers on Startup is selected, when Directory Server is restarted, it reads the list of servers that were previously marked as started, checks to see if they are running, and if not, attempts to restart them.

Parent topic: Configuring and Administering Enterprise Server Instances


Using the Command-line Interface

A number of commands are available for administering servers. You can run these commands from an application command prompt. For example to access the Windows application command prompt from a Micro Focus Studio Enterprise Edition installation, from the Start menu, select: Micro Focus Studio Enterprise Edition > Compatibility Tools > Net Express Command Prompt

  • casdump
    Forces a system dump.
  • casdup
    Formats a system dump or auxiliary trace dump so that it is suitable for analysis.
  • casperm
    Prepares Enterprise Server for use.
  • cassi
    Starts a service execution process. You should use this command only when you want to debug a service, using the /a option.
  • casstart
    Starts an enterprise server.
  • casstop
    Stops an enterprise server.
Parent topic: Configuring and Administering Enterprise Server Instances


casdump

Syntax:

casdump [/res-name]
        [/d]
        [/f]
        [/i]

Parameters:

/res-name | Name of the enterprise server to dump. Defaults to ESDEMO
/d | Do not lock shared memory
/f | Dump the FAQE chain
/i | Trigger an IMS TM dump

Dependencies:

To use this command:

  • You must have started the enterprise server named with the /r flag first.
  • You must be running under the same user ID as the enterprise server named with the /r flag. If the Directory Server was started as a system service, and the enterprise server was started using the Administration interface, then the enterprise server is probably running under the LOCAL_SYSTEM user ID, and this command will not work. For more information see the section Starting and Stopping the Directory Server in the chapter Introduction to Enterprise Server Administration in your Enterprise Server Configuration and Administration Guide.
Note:

The parameters /d and /i cannot be used at the same time.

Comments:

On UNIX you can use a dash (-) before a parameter as an alternative to a forward slash (/).

Parent topic: Using the Command-line Interface
Parent topic: Administration and Configuration Commands


casdup

Syntax:

casdup [/res-name]
       [/a|/b|/x]
       [/c]
       [/ifile-name]
       [/ffile-name]
       [/h]
       [/mxx{,xx}...]
       [/pnn{,nn}...]
       [/snnnnnn]
       [/t]
       [aux]

Parameters:

/res-name | Name of the enterprise server that owns the dump. Defaults to ESDEMO
/a | Use the A data set (default)
/b | Use the B data set
/c | Display only the application program information entries
/ifile-name | The name of the input trace file. Overrides /a, /b, /r, /x and aux
/ffile-name | The name of the output formatted dump file
/h | Omit page headers
/mxx{,xx}... | The module IDs to be included in the trace
/pnn{,nn}... | The process IDs to be included in the trace
/snnnnnn | Split output after every nnnnnn lines
/t | Transpose address display between big endian and little endian format
/x | Use the X data set (for external dumps produced by casdump /d)
aux | Format an auxiliary trace dump data set. The default is that a system dump is formatted

Dependencies:

You must have created a system dump or auxiliary dump before you can issue casdup.

Comments:

Parent topic: Using the Command-line Interface
Parent topic: Administration and Configuration Commands


casperm

Syntax:

casperm

Parameters:

None

Comments:

The casperm command asks you a series of questions. For further information see the topic To run casperm

Parent topic: Using the Command-line Interface
Parent topic: Administration and Configuration Commands


cassi

Syntax:

cassi [/res-name]
      [/a]

Parameters:

/res-name | Name of the enterprise server for which to start a service execution process. Defaults to ESDEMO
/a | Debug any application that runs in this service execution process

Dependencies:

To use this command:

  • You must have started the enterprise server named with the /r flag first.
  • You must be running under the same user ID as the enterprise server named with the /r flag. If the Directory Server was started as a system service, and the enterprise server was started using the Administration interface, then the enterprise server is probably running under the LOCAL_SYSTEM user ID, and this command will not work. For more information see the section Starting and Stopping the Directory Server in the chapter Introduction to Enterprise Server Administration in your Enterprise Server Configuration and Administration Guide.

Comments:

If the execution of this command takes the number of service execution processes over the configured number, Enterprise Server will terminate one of the service execution processes.

Parent topic: Using the Command-line Interface
Parent topic: Administration and Configuration Commands


casstart

Syntax:

casstart [/res-name] [/oconfig-name][/uusername] [/ppassword] [/cgroup] [/w]

Parameters:

/res-name | Name of the enterprise server to start. Defaults to ESDEMO
/oconfig-name | When using this option in MSS enabled regions, the config-name should be the name of a SIT. The region will start up using the specified SIT rather than the one defined in the Enterprise Server Administration pages.
/uuserid | An authorized user. This user must exist within the security domains of both: the enterprise server and MF Directory Server. That is, the security configuration for both enterprise server and Directory Server must be able to verify the user credentials supplied. Note that enterprise server and Directory Server may be using different security managers. Therefore, it may be necessary that the user is defined in more than one security repository. In order to update Directory Server status information, within the Directory Server domain, the user must have modify permission on the appropriate enterprise server resource within the Servers resource class. In order to successfully run the casstart command, within the enterprise server's security domain, the user must have alter permissions on the casstart resource within the OPERCMDS resource class. Note: This is only required if you have configured security.
/ppassword | The password for the user
/cgroup | The sign-on group for the user. By default, when a user requests access to a resource, some external security managers will only apply rules that refer to that user and the user's current sign-on group. If this option is not specified, the user is signed on with a default group as determined by the security manager.
/w | Wait for startup to be completed

Comments:

On UNIX you can use a dash (-) before a parameter as an alternative to a forward slash (/).

The command line utilities: casstart, casstop, casfile, casout, and cassub can be invoked by program using the call interface and passing the command line parameters to the call. For instance, we might use the following to start a server:

01 ws-cmd-parms.
     05 ws-cmd-len         pic x(02) comp-x.
     05 ws-cmd-value     pic x(1024).
......
......
......
      *> Start up the Server
      move 1                to ws-cmd-len
      move low-values  to ws-cmd-value
      string "-rMyRegion" delimited by size
               " -uSYSAD -pSYSAD /w" delimited by size
               into ws-cmd-value with pointer ws-cmd-len
      end-string
      subtract 1 from ws-cmd-len
      call 'casstart' using ws-cmd-parms end-call
......
......

When used on platforms that support running both 32-bit and 64-bit applications, casstart checks its environment to determine whether to start the Enterprise Server in 32-bit or 64-bit mode. If the server's working mode (as specified when it was created) does not match the mode specified by the environment, casstart will fail and issue an appropriate message. On Unix platforms, you choose the mode by setting the COBMODE environment variable to 32 or 64 as appropriate. On Windows platforms, youYou can choose the environment by choosing the relevant command prompt from the Net Express Start Menu.

Parent topic: Using the Command-line Interface
Parent topic: Administration and Configuration Commands


casstop

Syntax:

casstop [/res-name] [/sprototype:host:WebServiceport] [/lserver-name] [/i] [/w] [/f] [/uuserid] [/ppassword] [/ggroup] [/tshutdowntransaction

Parameters:

/res-name Name of the enterprise server to stop. Defaults to ESDEMO. To use this option:
  • You must have started the enterprise server named with the /r flag first.
  • You must be running under the same user ID as the enterprise server named with the /r flag. If the Directory Server was started as a system service, and the enterprise server was started using the Administration interface, then the enterprise server is probably running under the LOCAL_SYSTEM user ID, and this command will not work. For more information see the section Starting and Stopping the Directory Server in the chapter Introduction to Enterprise Server Administration in your Enterprise Server Configuration and Administration Guide.
Note:

When calling this utility from JCL or from a WEB service (that is, when you are running the utility within a SEP) you cannot use the /r option to connect to the server. Where this is the case, you must use the /s or /l options to connect to the server.

or:
/sprototype:host:WebServiceport | Location of the Web Services listener for the enterprise server to be stopped. For example, /stcp:localhost:9003
or:
/lserver-name | Name of the enterprise server. This differs from the /s option, in that it performs a lookup to locate the Web Service for the enterprise server
/i Immediate shutdown

When you use this option, all SEPs and all in-progress transactions are immediately terminated, and the PLT shutdown is not run. The region then terminates normally.

/w | Wait for shutdown to be completed
/f Force a shutdown. This option cannot be used in conjunction with /s or -/l

When you use this option, all processes are killed and the region stops with no shutdown processing.

/uuserid An authorized user. This user must exist within the security domains of both: the enterprise server and MF Directory Server. That is, the security configuration for both enterprise server and Directory Server must be able to verify the user credentials supplied. Note that enterprise server and Directory Server may be using different security managers. Therefore, it may be necessary that the user is defined in more than one security repository.

In order to update Directory Server status information, within the Directory Server domain, the user must have modify permission on the appropriate enterprise server resource within the Servers resource class. In order to successfully run the casstop command, within the enterprise server's security domain, the user must have alter permissions on the casstop resource within the OPERCMDS resource class.

Note:

This is only required if you have configured security.

/ppassword | The password for the user
/cgroup The sign-on group for the user. By default, when a user requests access to a resource, some external security managers will only apply rules that refer to that user and the user's current sign-on group.

If this option is not specified, the user is signed on with a default group as determined by the security manager.

/ttransaction-id | The MSS shutdown transaction to run. If none is specified, this defaults to CQIT.
Note:

Options /r, /s, /l are alternative ways of identifying the enterprise server to be stopped and are mutually exclusive.

Note:

Where an external security manager is configured for the enterprise server, a userid and password must be supplied when stopping it.

Comments:

Many of the command line utilities, including casstart, casstop, casfile, casout, and cassub, can be invoked by program using the call interface and passing the command line parameters to the call. For an example, see casstart.

Parent topic: Using the Command-line Interface
Parent topic: Administration and Configuration Commands


Configuring Client-Server Communications

A communications process is the component of an Enterprise Server instance that handles communications between clients and the Enterprise Server instance. It contains a number of service listeners. An Enterprise Server instance is created with one communications process, but you can add more.

A service listener accepts incoming client requests on behalf of services. A service can have multiple listeners, and a listener can accept client requests on behalf of multiple services.

  • About Communications Processes
  • Displaying Communications Process and Listener Information
  • About Securing Communications
  • Configuring Communications Processes
  • Configuring Listener Conversation Types
  • Configuring Listeners
Parent topic: Enterprise Server Configuration and Administration


Displaying Communications Process and Listener Information

You can see the information held in the repository for communications processes and listeners by clicking Details on the Home page in the Communications Process column for the Enterprise Server instance that you are interested in. The communications process and listener table is shown below.

Figure 1. Communications Processes and Service Listeners Table
Communications Processes and Service Listeners Table

The information for a communications process is as follows:

  • Auto-start - whether or not the communications process is started automatically when the Enterprise Server instance starts.
  • Listeners - the number of listeners owned by this communications process.
  • Process ID - the process ID of this communications process. This is present only when the communications process is running.
  • Control Channel Address - this is an internal address used by Enterprise Server instance components for communications. An asterisk at the end of the IP address or port number indicates that this part of the address is not fixed but supplied by the host system on startup.
  • Status information - you can see the current status and the time of the last status change.
  • Status log - this supplies information about the most recent event that occurred for this communications process.
  • Version - this is the version number of the communications process software.

Communications processes do not have names; instead they have sequence numbers. The communications process that is automatically created when you add a new Enterprise Server instance is Communications Process 1, and any further communications processes that you create are numbered in ascending order of creation. When you delete a communications process, existing communications processes are not renumbered, however, the next communications process you create will use the same number as the process that was deleted - the lowest available number.

The information for a listener is as follows:

  • Name
  • Address - this is the network address on which the listener listens for incoming client requests. An asterisk at the end of the IP address or port number indicates that this part of the address is not fixed but supplied by the communications process on startup.
  • Status information - you can see the current status and the time of the last status change
  • Status Log - this supplies information about the most recent event that occurred for this listener
  • Conversation Type - this indicates what type of client requests the listener handles. Possible values are:
    • Web Services and J2EE for SOAP or J2EE requests
    • Web for World Wide Web (HTTP) requests; Enterprise Server uses a Web listener for service deployment
    • Fileshare for Fileshare client requests
    • TN3270 for requests from TN3270 terminals
    • MSS Inter-System Communication, MSS Inter-System Communication (inbound only) and CICS Transaction Gateway for CICS Intersystem Communication (peer-to-peer) and for requests for CICS transactions from non-CICS programs
    • Custom for any other type of requests

    TN3270 and the MSS ISC types are only available for use with MSS.

  • Custom configuration data - for more information see the section Configuration Information
  • Description

Listener display flters control how much listener information you can see. These appear just above the infomation for the first communications process. There are three listener display filters:

  • Process (communications process)
  • Conversation type
  • Status

Each has a number of options that vary depending on the field; for example the Process filter allows you to select to see no listener details, all listener details, or listener details for a particular communications process, while the Status filter allows you to see all listener details regardless of status or just listener details for listeners with a specifc status:

For example, to see listener details for communications process 2, choose 2 in Listener Display Filters Process; to see only Web Services and J2EE listeners, choose Web Services and J2EE in Listener Display Filters Conversation Type; to see all listener details choose All in all three filters. Use all the filters in combination to achieve the maximum control over the level of detail you see.

When you first see the Communications Process and Listeners table, the Process filter is set to None and the other filters are set to All.

Parent topic: Configuring Client-Server Communications
Related information
Configuration Information


About Securing Communications

There are a number of additional configuration options, for logging and setting an SSL passphrase, that can be set in the file mf-server.dat. (On UNIX environments, this file is located in $COBDIR/etc. On Windows environments it is located in the base/bin directory of your product installation.) These are mostly options that require setting before the Micro Focus Communication Server (MFCS) contacts the MF Directory Server. In the case of logging, this can be useful where there are problems with the connection between MFCS and MFDS. For instructions on the use of mf-server.dat to configure logging for MFCS, see the help on securing communications in the Security secection, or see the section Communications Process Log Files in the Troubleshooting chapter.

Parent topic: Configuring Client-Server Communications


Configuring Communications Processes

Your responsibilities as administrator include:

  • Adding communications processes as required, by copying and editing existing ones
  • Updating and deleting communications processes as required
  • Starting and stopping communications processes
  • Adding, updating and deleting listeners as required
  • Associating listeners with services and disassociating them
  • Starting and stopping listeners
Note: You can use the Configuration Information field on the Edit Communications Process page, and the Add Listener and Edit Listener pages for configuration data specific to a communications process or a listener.
  • Editing Communications Settings
  • To Edit a Communications Process
  • To Copy a Communications Process
  • To Delete a Communications Process
  • To Start a Communications Process
  • To Stop a Communications Process
  • To View Communications Processes and Listeners for an Enterprise Server Instance
  • To View Statistics for a Communications Process
Parent topic: Configuring Client-Server Communications


Editing Communications Settings

The Configuration Information field on the Edit Communications Process page can contain the following sections and settings:

[CCI]
timeout-grain=timeout-grain-number-of-seconds
[ISC]
listener-wait=listener-wait-number-of-seconds
[listeners]
logging=logging-level
[MFCC]
trace=trace-setting
[threading]
limit=number-of-threads

The parameters are explained below.

  • timeout-grain
    Specifies the CCI timeout in seconds. Any MFCS timeout will be rounded up to a multiple of this value.
  • listener-wait (MSS only)
    Specifies how many seconds to wait for a local ISC listener to become available when starting an ISC outbound connection to connect to another MSS instance or other ISC-compatible system.
  • logging
    Enables additional logging when starting listeners.
  • trace
    Controls common client (MFCC) tracing, in conjunction with the MFCC configuration file.
  • limit
    Specifies the thread limit.
Parent topic: Configuring Communications Processes


timeout-grain

Syntax:

timeout-grain=timeout-grain-number-of-seconds

Properties:

Default: 5 seconds

Comments:

The communications process (MFCS) lets each conversation and listener set its own timeout value for receiving data, but because MFCS runs as part of CCI, and CCI only maintains one global timeout value for the whole process, the granularity of MFCS timeout values is limited by the CCI timeout setting. Setting a larger value than the default will make MFCS timeouts less precise, but will reduce CPU consumption, interrupts, and other factors, improving performance.

Parent topic: Editing Communications Settings


listener-wait (MSS only)

Syntax:

listener-wait=listener-wait-number-of-seconds

Properties:

Default: 10 seconds

Comments:

MFCS needs to have an ISC listener available to support outbound ISC communications. This is most useful if you have outbound ISC connections configured at startup.

Parent topic: Editing Communications Settings


logging

Syntax:

logging=logging-level

Parameters:

logging-level Can be one of:
0 | No extra logging (default)
1 or Yes | Basic logging, which includes extra CCI error information
2 | Also log CCI loading and configuration, and listener address information
3 | Also log SSL configuration
Default: 0

Properties:

Default: 0
Parent topic: Editing Communications Settings


trace

Syntax:

trace=trace-setting

Parameters:

trace-setting
One of:
0 | Disable MFCC tracing
any non-zero value | Enable MFCC tracing during MFCS startup

Properties:

Default: 0

Comments:

MFCC tracing is off by default but can be enabled in the configuration file, which by default is mf-client.dat in the base\bin directory of your COBOL development system installation, but you can create your own configuration file of any name or location and identify it using the MFC_CONFIG environment variable. . MFCS uses MFCC during startup to verify that its control channel is working. If MFCC tracing is enabled in the configuration file, you can set this option to “0” to disable MFCC tracing in MFCS. Alternatively, you can set it to a non-zero value to enable MFCC tracing during MFCS startup, to diagnose a failure there.

Parent topic: Editing Communications Settings


limit

Syntax:

limit=number-of-threads

Properties:

Default: 2000 on Windows

Comments:

MFCS limits the number of threads it will try to start, in order to avoid exceeding system limits. Currently, MFCS uses one thread for each active conversation, so this limit directly affects the number of simultaneous conversations. Note that the operating system might not allow MFCS to actually create as many threads as the number you set.

Parent topic: Editing Communications Settings


To Edit a Communications Process

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server whose communications process you want to edit.
  3. On the Edit Server - Listeners page click Edit to the left of the row for the communications process you want to edit.
  4. Update the attributes of the communications process as required.
  5. Click OK.
Note:

You can make some changes to a communications process on the Edit Server - Listeners page: toggle Auto-start, and stop and start the communications process.

Parent topic: Configuring Communications Processes
Parent topic: Work with Communication Processes and Service Listeners


To Copy a Communications Process

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server whose communications process you want to copy.
  3. On the Edit Server - Listeners page click Copy at the top right-hand side of the area that shows the details of the communications process you want to copy.
  4. In Control Channel Address specify a host name or IP address to replace the first asterisk (*) and a port number to replace the second asterisk. You can leave the value as *:*, where the first asterisk (*) indicates the IP address of the current machine and the second indicates any available port number.
  5. Check Auto-start if you want the new communications process to be started automatically when the enterprise server starts or, if the enterprise server is already running, after it is created. It is checked by default.
  6. Click OK.
Note:

When you copy a communications process, you also copy all the listeners associated with it; the new communications process has exactly the same number and type of listeners as the original, with the same names. You might want to edit the names to reduce confusion.

Parent topic: Configuring Communications Processes
Parent topic: Work with Communication Processes and Service Listeners


To Delete a Communications Process

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server whose communications process you want to delete.
  3. On the Edit Server > Listeners page click Delete at the top right-hand side of the area that shows the details of the communications process you want to delete.
  4. Click Delete on the confirmation page.
Note:

If an enterprise server has only one communications process, you cannot delete it.

Parent topic: Configuring Communications Processes
Parent topic: Work with Communication Processes and Service Listeners


To Start a Communications Process

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking
    expand button
  2. Click Details in the Communications Processes cell for the server whose communications process you want to delete.
  3. On the Edit Server - Listeners page click Start at the top right-hand side of the area that shows the details of the communications process you want to start.
Note:
  • You can start a communications process only if:
    • The enterprise server is started.
    • The status of the communications process is "Stopped".

    When an enterprise server starts, any stopped communications processes are started automatically if Auto-start is set on.

  • When a communications process starts, all the service listeners it owns start too.
Parent topic: Configuring Communications Processes
Parent topic: Work with Communication Processes and Service Listeners


To Stop a Communications Process

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server whose communications process you want to delete.
  3. On the Edit Server - Listeners page click Stop at the top right-hand side of the area that shows the details of the communications process you want to stop.
Note:
  • You can stop a communications process only if:
    • The enterprise server is started.
    • The status of the communications process is "Started".
  • When a communications process stops, all the service listeners it owns stop too.
Parent topic: Configuring Communications Processes
Parent topic: Work with Communication Processes and Service Listeners


To View Communications Processes and Listeners for an Enterprise Server Instance

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server whose listeners you want to view.
  3. If you can't see the listeners, choose All from the list of options in Listener Display Filters Process.
Parent topic: Configuring Communications Processes
Parent topic: Work with Communication Processes and Service Listeners


To View Statistics for a Communications Process

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server whose communications process you want to view statistics for. This server must have been started already.
  3. On the Edit Server - Listeners page click Statistics at the top right-hand side of the area that shows the details of the communications process.

    The Statistics are displayed in a new Web browser window.

Parent topic: Configuring Communications Processes
Parent topic: Work with Communication Processes and Service Listeners


Configuring Listener Conversation Types

A listener's conversation type is shown in the Conversation Type column on the listener configuration page.

The available configuration settings for a listener are grouped its conversation type.

Some conversation types use TCP/IP protocol, and some use Legacy Micro Focus Application Format. The format that the conversation uses is shown on the Legacy Micro Focus Application Format checkbox on the Edit Listener page. With the Custom Format type, you can choose whether or not to use Legacy Micro Focus Application Format.

  • Web Services and J2EE conversation type
  • Web conversation type
  • Fileshare conversation type
  • TN3270 conversation type
  • TN3270E conversation type
  • MSS Inter-System Communication conversation type
  • MSS Inter-System Communication (inbound only) conversation type
  • CICS Transaction Gateway conversation type
Parent topic: Configuring Client-Server Communications


Web Services and J2EE conversation type

There are no settings for this conversation type.

Parent topic: Configuring Listener Conversation Types


Web conversation type

These options are checked for each request.

The [virtual paths] section is used to translate between the top-level path elements specified in URLs and the actual file-system directories they correspond to. For example, for the URL “http://host/path/to/file”, the [virtual paths] section will be consulted for an entry for “path”. Entries in this section are case-sensitive. For a more detailed explanation of the way these settings work, see the section Deployment Services and Listeners in the chapter Configuration.

The [allow] section is used to restrict what files the Web connector will serve out of a given directory.

[options]
logging=logging-level
[virtual paths]
<default>=default-directory
element=file-system-path
[allow]
element=list-of-filenames
  • logging
    Controls what information is logged.
  • default
    Specifies the directory to which unrecognized URL top-level path elements will be mapped.
  • element in [virtual paths] Section
    Specifies the file-system path to which element will be mapped.
  • element in [allow] Section
    Lists one or more filenames or wildcard pattern specifications, separated by spaces, which the connector is allowed to serve for files on this virtual path.
Parent topic: Configuring Listener Conversation Types
Related information
Deployment Services and Listeners


logging

Syntax:

logging=logging-level

Parameters:

logging-level
Can be one of:
yes or 1 | Log various information while processing web requests, including path translation and CGI program execution
any other value | No logging

Properties:

Default: No logging
Parent topic: Web conversation type


default

Syntax:

default=default-directory

Properties:

Default: /dev/null

Comments:

The default directory must not exist, so that when the communications process translates the URL into a full path, the request will fail.

Parent topic: Web conversation type


element in [virtual paths] Section

Syntax:

 element=file-system-path

Parameters:

element The file-system path that element will be mapped to. element must be the top-level (first) element in the URL’s path. Some special tokens can be specified at the beginning of the value:
<ES>: | Replaced with the path to the base installation directory on Windows
<ASEE>: | Historical synonym for ES.
<$name>: | Replaced with the contents of environment variable name
Parent topic: Web conversation type


element in [allow] Section

Syntax:

element=list-of-filenames

Parameters:

element | The file-system path that element will be mapped to.
list-of-filenames | Zero or more filenames or filename patterns, separated by spaces. Only files which match one of these filenames will be served. You can use the wildcards "?" (matches any one character) and "*" (matches zero or more characters).

Properties:

Default: Permit serving all files
Parent topic: Web conversation type


Fileshare conversation type

The Fileshare connector checks these settings at the beginning of each conversation. Changes to them will take effect for subsequent conversations.

[Operation]
timeout=number-of-seconds
[Trace]
control=control-flow-trace
data=data-trace
file=pathname
  • timeout
    Sets the timeout, in seconds, for receiving data from the client.
  • control
    Enables the tracing of control flow in the connector.
  • data
    Enables the tracing of sent and received data.
  • file
    Specifies the full path of the file to receive trace messages.
Parent topic: Configuring Listener Conversation Types


timeout

Syntax:

timeout=number-of-seconds

Properties:

Default: Timeout for the communications process, which is 7200 seconds (two hours)
Parent topic: Fileshare conversation type


control

Syntax:

control=control-flow-trace

Parameters:

control-flow-trace Set to "yes" to trace various connector activities, such as passing a request to an enterprise server

Properties:

Default: Control flow tracing is disabled
Parent topic: Fileshare conversation type


data

Syntax:

data=data-trace

Parameters:

data-trace Set to "yes" to include data in the trace

Properties:

Default: Data tracing is disabled.
Parent topic: Fileshare conversation type


file

Syntax:

file=pathname

Properties:

Default: Trace messages are written to the MFCS log (as HTML)
Parent topic: Fileshare conversation type


TN3270 conversation type

The TN3270 connector checks the settings below periodically; changes affect current and new conversations.

[logging]
client-close=client-close-logging
[Operation]
default-terminal-type=terminal-type-name
Timeout=number-of-seconds
TN3270E=negotiation-type
[Trace]
trace=control-flow-trace
data=data-trace
length=trace-length
sem=send-semaphore-trace
file=trace-filename
  • client-close
    Controls the logging of client disconnection.
  • default-terminal-type
    Overrides an invalid terminal type sent by the client.
  • Timeout
    Specifies the receive timeout, in seconds.
Parent topic: Configuring Listener Conversation Types


client-close

Parameters:

client-close-logging If this is set to “yes”, log normal client disconnection

Properties:

Default: Log only abnormal client disconnection
Parent topic: TN3270 conversation type


default-terminal-type

Parameters:

terminal-type-name A valid terminal-type name, for example, “ibm-3278-2”

Properties:

Default: None

Comments:

TN3270 conversation negotiation includes the client telling the server what terminal type it is emulating. TN3270E specifies a set of allowed terminal types, but classic TN3270 has less strict requirements, and even some TN3270E clients do not conform to the specification. When the connector receives an illegal terminal type, it normally asks the client to specify a different one, but some clients (for example NetManage ViewNow) do not respond correctly. In this case you are advised to provide this setting.

Parent topic: TN3270 conversation type


Timeout

Syntax:

Timeout=number-of-seconds

Properties:

Default: 84600 seconds (one day)
Parent topic: TN3270 conversation type


TN3270E conversation type

Syntax:

Disables TN3270E (Enhanced TN3270) negotiation.

TN3270E=negotiation-type

Parameters:

negotiation-type Set to “no” to disable TN3270E negotiation

Properties:

Default: Enhanced TN3270 negotiation is enabled

Comments:

Currently required for some NetManage terminal emulator products, such as ViewNow 1.0 Host Access Quick Connect 3270.

  • trace
    Enables the tracing of control flow in the connector.
  • data
    Enables data tracing.
  • length
    Specifies the maximum number of data bytes to include in the data trace.
  • sem
    Enables the tracing of operations on the send semaphore.
  • file
    Specifies the full path of the file to receive trace messages. The file is written as HTML (unlike the Fileshare and ISC traces).
Parent topic: Configuring Listener Conversation Types


trace

Syntax:

trace=control-flow-trace

Parameters:

control-flow-trace Set to “yes” to enable control flow tracing

Properties:

Default: Tracing is disabled
Parent topic: TN3270E conversation type


data

Syntax:

data=data-trace

Parameters:

data-trace
Can be one of:
yes or all
Trace all data flows
nvt
Trace data flows only in NVT mode (which essentially means only during negotiation)
any other value
Disable data tracing

Properties:

Default: Tracing is disabled
Parent topic: TN3270E conversation type


length

Syntax:

length=trace-length

Properties:

Default: 40 bytes
Parent topic: TN3270E conversation type


sem

Syntax:

sem=send-semaphore-trace

Parameters:

send-semaphore-trace Set to “yes” to trace operations on the send semaphore

Properties:

Default: Tracing is disabled

Comments:

This setting might be useful useful when problems with the send semaphore are suspected, for example, because conversations seem to hang but ESMAC does not show them as busy.

Parent topic: TN3270E conversation type


file

Syntax:

file=trace-filename

Properties:

Default: Trace messages are written to the MFCS log (as HTML)
Parent topic: TN3270E conversation type


MSS Inter-System Communication conversation type

Only one listener with this conversation type can be active for a region. To create others, use the MSS Inter-System Communication (inbound only) or the CICS Transaction Gateway types depending on your requirements.

[Operation] changes take effect for the conversations that commence after you make changes, but not for the current conversation.

[Trace] changes take effect for both new and existing conversations.

[Operation]
timeout=number-of-seconds
[Trace]
trace=control-flow-trace
data-trace=data-trace-setting
allmax=dump-size
file=pathname
  • timeout
    Sets the timeout, in seconds, for receiving data from the client.
  • trace
    Enables the tracing of control flow in the connector.
  • data-trace
    Enables the tracing of sent and received data.
  • allmax
    If data-trace is set to “all”, sets the maximum number of bytes to include in the user data dump.
  • file
    Specifies the full path of the file to receive trace messages. The file is plain text.
Parent topic: Configuring Listener Conversation Types


timeout

Syntax:

timeout=number-of-seconds

Properties:

Default: Timeout for the communications process, which is 7200 seconds (two hours)
Parent topic: MSS Inter-System Communication conversation type
Parent topic: MSS Inter-System Communication (inbound only) conversation type
Parent topic: CICS Transaction Gateway conversation type


trace

Syntax:

trace=control-flow-trace

Parameters:

control-flow-trace Set to “yes” to trace various connector activities, such as passing a request to an enterprise server

Properties:

Default: Tracing is disabled
Parent topic: MSS Inter-System Communication conversation type
Parent topic: MSS Inter-System Communication (inbound only) conversation type
Parent topic: CICS Transaction Gateway conversation type


data-trace

Syntax:

data-trace=data-trace-setting

Parameters:

data-trace-setting
Can be one of:
no
Do not trace data flows
header
Create formatted trace of CTG protocol headers
fmh or structure
Create formatted trace of CTG headers and request and response headers
all
Create formatted trace of headers and dump of user data
dump
Create unformatted dump of all data

Properties:

Default: Tracing is disabled
Parent topic: MSS Inter-System Communication conversation type
Parent topic: MSS Inter-System Communication (inbound only) conversation type
Parent topic: CICS Transaction Gateway conversation type


allmax

Syntax:

allmax=dump-size

Parameters:

dump-size Set to 0 (unlimited) if you want to include all the data

Properties:

Default: Unlimited, that is, include all the data.
Parent topic: MSS Inter-System Communication conversation type
Parent topic: MSS Inter-System Communication (inbound only) conversation type
Parent topic: CICS Transaction Gateway conversation type


file

Syntax:

file=pathname

Properties:

Default: Trace messages are written to the MFCS log (as HTML).
Parent topic: MSS Inter-System Communication conversation type
Parent topic: MSS Inter-System Communication (inbound only) conversation type
Parent topic: CICS Transaction Gateway conversation type


MSS Inter-System Communication (inbound only) conversation type

Describes the MSS Inter-System Communication (inbound only) listener type.

This conversation type is used for MSS ISC listeners other than MF MTO Inter-System Communication.

[Operation] changes take effect for the conversations that commence after you make changes, but not for the current conversation.

[Trace] changes take effect for both new and existing conversations.

[Operation]
timeout=number-of-seconds
[Trace]
trace=control-flow-trace
data-trace=data-trace-setting
allmax=dump-size
file=pathname
  • timeout
    Sets the timeout, in seconds, for receiving data from the client.
  • trace
    Enables the tracing of control flow in the connector.
  • data-trace
    Enables the tracing of sent and received data.
  • allmax
    If data-trace is set to “all”, sets the maximum number of bytes to include in the user data dump.
  • file
    Specifies the full path of the file to receive trace messages. The file is plain text.
Parent topic: Configuring Listener Conversation Types


CICS Transaction Gateway conversation type

This conversation type is used for MSS ISC listeners other than MF MSS Inter-System Communication that do not use the Legacy Micro Focus Application format.

[Operation] changes take effect for the conversations that commence after you make changes, but not for the current conversation.

[Trace] changes take effect for both new and existing conversations.

[Operation]
timeout=number-of-seconds
[Trace]
trace=control-flow-trace
data-trace=data-trace-setting
allmax=dump-size
file=pathname
  • timeout
    Sets the timeout, in seconds, for receiving data from the client.
  • trace
    Enables the tracing of control flow in the connector.
  • data-trace
    Enables the tracing of sent and received data.
  • allmax
    If data-trace is set to “all”, sets the maximum number of bytes to include in the user data dump.
  • file
    Specifies the full path of the file to receive trace messages. The file is plain text.
Parent topic: Configuring Listener Conversation Types


Configuring Listeners

This section covers the tasks involved in creating and configurings service listeners.

  • To Add a Service Listener to an Enterprise Server Instance
  • To Edit a Listener
  • To Associate a Listener with a Service
  • To delete a listener
  • To Disassociate a Listener from a Service
  • To Start a Listener
  • To Stop a Listener
Parent topic: Configuring Client-Server Communications


To Add a Service Listener to an Enterprise Server Instance

  1. If the table of servers on the Enterprise Server administration page is displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server to which you want to add the listener.
  3. Click Add in the Listeners column for the communications process to which you want to add the listener.
  4. Specify a name for the service listener in Name.
  5. In Endpoint Address specify a host name or IP address to replace the first asterisk (*) and a port number to replace the second asterisk. You can leave the value as *:*, where the first asterisk (*) indicates the IP address of the current machine and the second indicates any available port number. Endpoint Protocol is always TCP.
  6. Choose an initial status from the list in Initial Status. Usually you should choose "Stopped".
  7. Click one button to choose a Supported Conversation Type for the listener:
    • Web Services / J2EE for client requests that use either of the conversation protocols supported by the Micro Focus request handlers, MFRHBINP and MFRHSOAP
    • Web for World Wide Web (HTTP) requests; Enterprise Server uses a Web listener for service deployment
    • Fileshare for Fileshare client requests
    • TN3270 for requests from TN3270 terminals
    • MSS Inter-System Communication for CICS Intersystem Communication (peer-to-peer) and for requests for CICS transactions from non-CICS programs. This conversation type handles both inbound and outbound calls. Only one listener of this type can be used with an enterprise server. The corresponding conversation type in previous Enterprise Server software releases is Micro Focus MTO Inter-System Communication.

      This conversation type uses Legacy Micro Focus Application Format.

    • MSS Inter-System Communication (inbound only) is similar in functionality to the MSS Inter-System Communications conversation type. The corresponding conversation type in previous Enterprise Server software releases is the MSS ISC type that did not have a name of Micro Focus MTO Inter-System Communciations.

      This conversation type uses Legacy Micro Focus Application Format.

    • CICS Transaction Gateway is similar in functionality to the previous two conversation types, except that it does not use Legacy Micro Focus Application Format.
    • Custom can be used for any other type of requests. You can select whethr or not to use Legacy Micro Focus Application Format.
  8. If you clicked Custom in step 6, enter the name of the connector module for this type of request in the entry field next to Custom.
  9. Specify any configuration information the listener requires in Configuration Information.
  10. Specify a text description of the listener in Description (optional).
  11. Click Add.
Note: You can also reach the Add Listener page by clicking Edit to the left of the server to which you want to add the listener, clicking the Listeners tab and clicking Add.
Parent topic: Configuring Listeners
Parent topic: Work with Communication Processes and Service Listeners
Parent topic: Common Configuration Tasks


To Edit a Listener

  1. If the table of servers on the Enterprise Server administration page is displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server that owns the listener you want to edit.
  3. If you can't see the listener you want to edit, choose All from the list of options in Listener Display Filters Process.
  4. Click Edit to the left of the row containing the service listener that you want to edit.
  5. Update the attributes of the listener as required.
  6. Click OK.
Parent topic: Configuring Listeners
Parent topic: Work with Communication Processes and Service Listeners


To Associate a Listener with a Service

  1. Click Details in the Objects column for the server that owns the service that you want to associate the listener with.
  2. Click Edit in the Operation column of the row containing the service that you want to associate the listener with.
  3. In Available Listeners click the service listener that you want to associate with the service.
  4. Click Add.

    The Directory Server associates the listener with the service immediately and redisplays the service table.

  5. If you want to associate another listener with this service, repeat steps 3 through 5.
Note: A service must always have at least one listener associated with it.
Parent topic: Configuring Listeners
Parent topic: Work with Communication Processes and Service Listeners


To delete a listener

  1. If the table of servers on the Enterprise Server administration page is displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server that owns the listener you want to delete.
  3. If you can't see the listener you want to delete, choose All from the list of options in Listener Display Filters Process.
  4. Click Edit to the left of the row containing the service listener that you want to delete.
  5. Click Delete.
  6. Click Delete on the confirmation page.
Note:
  • You cannot delete a listener if it is the only listener for a communications process.
  • You cannot delete a service listener if it is associated with any service.
  • You cannot delete the deployment listener called Web that is created automatically when you create a new enterprise server.
Parent topic: Configuring Listeners
Parent topic: Work with Communication Processes and Service Listeners


To Disassociate a Listener from a Service

  1. Click Details at the bottom of the Objects column.
  2. Click Edit in the Operation column for the row containing the service from which you want to disassociate the listener.
  3. In Associated Listeners click the service listener that you want to disassociate from the service.
  4. Click Remove.

    The Directory Server disassociates the listener from the service immediately and redisplays the service table.

  5. If you want to disassociate another listener from this service, repeat steps 3 through 5.
Note: A service must always have at least one listener associated with it.
Parent topic: Configuring Listeners
Parent topic: Work with Communication Processes and Service Listeners


To Start a Listener

  1. If the table of servers on the Enterprise Server administration page is displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server that owns the listener you want to start.
  3. If you can't see the listener you want to start, choose All from the list of options in Listener Display Filters Process.
  4. Click Edit to the left of the row containing the service listener that you want to start.
  5. Click Started in New Status.
  6. Click OK.
Note:

You can start a listener only if the server is started. When a server starts, any stopped listeners are started automatically.

Parent topic: Configuring Listeners
Parent topic: Work with Communication Processes and Service Listeners


To Stop a Listener

  1. If the table of servers on the Enterprise Server administration page is displayed in summary form, expand it by clicking expand button
  2. Click Details in the Communications Processes cell for the server that owns the listener you want to stop.
  3. If you can't see the listener you want to stop, choose All from the list of options in Listener Display Filters Process.
  4. Click Edit to the left of the row containing the service listener that you want to stop.
  5. Click Stopped in New Status.
  6. Click OK.
Note: You can stop a listener only if the server is started. When a server starts, any stopped listeners are started automatically.
Parent topic: Configuring Listeners
Parent topic: Work with Communication Processes and Service Listeners


Monitoring the Directory Server

This section describes the facilities for monitoring the activities of the Directory Server.

  • Starting and Stopping the Directory Server
  • Displaying Server Information
  • Accessing Remote MF Directory Servers
  • Monitoring Facilities
Parent topic: Enterprise Server Configuration and Administration


Starting and Stopping the Directory Server

In order to access the Enterprise Server Administration user interface, the Directory Server must be running.

When Enterprise Server is installed, the Directory Server is configured to start automatically as a Windows service. As with other Windows services, you can stop the Directory Server and start it again if required.

You can also start Directory Server from the command line using the mfds command. This method of starting the Directory Server is useful if you want to debug applications running as services. Before you can use the mfds command, you must stop Directory Server running as a Windows service. If you start Directory Server using the mfds command, you must stop it using a menu option on the Web interface.

The mfds command also provides options to deinstall and reinstall the Directory Server as a Windows service.

To access the Directory Server using the Web interface, you start a Web browser and enter the address where the Directory Server is running.

Alternatively, if you are running Studio Enterprise Edition, you can right click on Enterprise Servers in the Server Explorer pane and select Administration from the drop-down menu.

Depending on how the Directory Server has been configured, and what you want to do, you might require a user ID and password. What you see and what you can do using Enterprise Server Administration depends on the security configuration settings and the permissions granted to your user account.

  • To Start the Directory Server
  • To Start the Directory Server from the Command Line
  • To Stop the Directory Server
  • To Stop the Directory Server Not Running as a Service
  • To Delete the Repository
  • To Import a Repository
  • To Restore the Repository
  • To Export the Repository
Parent topic: Monitoring the Directory Server


To Start the Directory Server

  1. Open the Windows Control Panel.
  2. Select Services; how you do this differs between Windows operating systems.
  3. In the list of services select Micro Focus Directory Server.
  4. Click Start.
Note:

You would normally need to do this only if you stopped the Directory Server using the Services dialog. This is because the Directory Server is configured at installation time to start automatically when Windows starts.

Parent topic: Starting and Stopping the Directory Server
Parent topic: Start and Stop the Directory Server


To Start the Directory Server from the Command Line

  1. Enter:
    mfds /param

    where param can be:

    d | Show debug information
    dn network-address | Bind to specific adapter and show debug information
    n network-address | Bind to specific adapter
    r | Refuse access to the Enterprise Server Administration interface
    j journal-path | Override the journal path
    p port-number Bind to a non-standard port
    CAUTION:

    This option should be used with caution, as many programs depend on Directory Server using the default port (86).

    In addition to options for starting Directory Server, the mfds command also provides a number of other options for reporting and exporting information, stopping the server, and for the installation or removal of Windows services.

Parent topic: Starting and Stopping the Directory Server
Parent topic: Start and Stop the Directory Server


To Stop the Directory Server

  1. Open the Windows Control Panel.
  2. Select Services; how you do this differs between Windows operating systems.
  3. In the list of services select Micro Focus Directory Server.
  4. Click Stop.
Note:

You can leave Directory Server running all the time, whether or not you are using Enterprise Server Administration. You should not shut down Directory Server if servers are started.

Parent topic: Starting and Stopping the Directory Server
Parent topic: Start and Stop the Directory Server


To Stop the Directory Server Not Running as a Service

When the Directory Server is not running as a Windows service, you can shut it down from the Enterprise Server Administration user interface:

  1. Click Shut down on the menu on the left-hand side of any Enterprise Server Administration Web page.
  2. Click Yes on the confirmation page.
Note:

You can leave Directory Server running all the time, whether or not you are using Enterprise Server Administration. You should not shut down Directory Server if servers are started.

Parent topic: Starting and Stopping the Directory Server
Parent topic: Start and Stop the Directory Server


To Delete the Repository

CAUTION:

When you click Delete, all information in the current repository is deleted. If you have currently active clients and services, this will cause client application connection errors and loss of data.

  1. Click Delete All under Actions on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. If you are sure you want to delete the repository, click OK. Otherwise click Cancel.
Parent topic: Starting and Stopping the Directory Server
Parent topic: Work with the Directory Server Repository


To Import a Repository

  1. Click Import under Actions on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Specify the location of the repository that you want to import in Source directory containing server data to restore. This defaults to C:\Documents and Settings\All Users\Application Data\Micro Focus\<product name> X.X\MFDS\backup (assuming that your %SYSTEMDRIVE% is c:).

    A list of recently used locations is supplied. Choosing an item from this list and clicking Select puts the value into Source directory containing server data to restore.

  3. Click Next and follow the screen prompts.
Note:

When you import, you have the option of excluding any server that has the same name as one already present in the repository. Where the export contains security information, you also have the option of including or excluding it. See the context help for details.

Parent topic: Starting and Stopping the Directory Server
Parent topic: Work with the Directory Server Repository


To Restore the Repository

  1. Click Restore under Actions on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Specify the location from which you want the repository to be restored in Source directory containing server data to restore. This defaults to C:\Documents and Settings\All Users\Application Data\Micro Focus\<product name> X.X\MFDS\backup (assuming that your %SYSTEMDRIVE% is c:).
  3. Choose whether you want to set the status of all restored servers to "Stopped", or to whatever they were when the servers were last saved, by clicking one of the radio buttons under When restoring servers.
  4. Check restore even if source repository is a duplicate, in part or whole, of the current one if you want server data to be restored even if all the server names in the backup repository are duplicates of server names in the current repository.
  5. Click OK.
Note:

You can go back to the repository as it was when Enterprise Server was originally installed, by restoring from C:\Documents and Settings\All Users\Application Data\Micro Focus\Studio Enterprise Edition X.X\MFDS\IVP

Note: Warning:

If you want to keep the information currently in the repository make sure you have saved it before you restore. When you restore the repository all the information in the repository is overwritten with the restored data. This might cause application connection errors and loss of data.

Parent topic: Starting and Stopping the Directory Server
Parent topic: Work with the Directory Server Repository


To Export the Repository

  1. Click Export under Actions on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Specify the location to which you want the repository to be saved in Export information to this directory. This defaults to C:\Documents and Settings\All Users\Application Data\Micro Focus\<product name> X.X\MFDS\backup (assuming that your %SYSTEMDRIVE% is c:).
  3. Choose the export option that you require and click OK.
    Note:

    If the target directory contains previously exported information, you will be presented with a confirmation page. This page will show the contents of the target directory. Proceeding with the export will overwrite previously exported details.

Note:
  • We recommend that you export the repository only when all the registered servers have a status of "Stopped".
  • When exporting to a file system location, if you specify a directory that does not exist, it will be created if the directory containing it exists, otherwise it will not be created and the export will fail.
  • Export enables you to export either: server definitions only, Security Manager definitions only, or server definitions and all related security configuration information.
Parent topic: Starting and Stopping the Directory Server
Parent topic: Work with the Directory Server Repository


Accessing Remote MF Directory Servers

Providing you have sufficient authorization, you can log on to remote MF Directory Servers and administer the installations they maintain. You can display all directory servers accessible from your network that are listening on port 86.

  • To View and Use Remote Directory Server Instances
Parent topic: Monitoring the Directory Server


To View and Use Remote Directory Server Instances

  1. Click Directories on the menu on the left-hand side of the Enterprise Server Administration Web page.

    Enterprise Server searches the network for all MF Directory Servers that use port 86, and displays a list of the MF Directory Servers that it finds.

  2. Click the right-pointing arrow in the DNS Resolved Hostname column for the remote machine that you want to view.

    A new browser window opens at the home page of Enterprise Server Adminstration for the instance of Directory Server running on the other machine.

Parent topic: Accessing Remote MF Directory Servers
Parent topic: Monitor Directory Server
Parent topic: Submitting to a Remote Machine


Monitoring Facilities

Enterprise Server Administration provides four facilities for monitoring the activities of the Directory Server:

  • The Directories Page
  • Viewing a MF Directory Server's Statistics
  • Viewing a MF Directory Server's Sessions List
  • Viewing the Journal
Parent topic: Monitoring the Directory Server


The Directories Page

The Directories page displays a table of all the other instances of Directory Server that are running on the local network and that are using the default Directory Server port (86). For each instance, it shows:

  • The version number of Directory Server
  • The IP address of the machine on which it is running
  • The DNS-resolved hostname of the machine on which it is running. Next to the hostname is a right-pointing arrow, which you can click to open a new Enterprise Server Administration window on your machine, giving you access to the other Directory Server and its objects without having to remember its IP address.
Note:

You should take care to ensure that an appropriate level of security has been set up for all the instances of Directory Server on a local network, to reduce the possibility of unauthorised access using the Directories page. For more on security and the options available, see Introduction to reUZE Server Security.

Parent topic: Monitoring Facilities
Related information
Introduction to Enterprise Server Security


Viewing a MF Directory Server's Statistics

The Statistics page displays statistics and other information about the Directory Server and the current activity on it. The information is of four types:

  • Repository location and status
  • Objects in the repository, subdivided into servers, listeners, services, request handlers and packages, with a total. The services number actually represents the number of service operations
  • Request processing statistics
  • Configuration options settings
  • File paths used by the Directory Server

You might find the information on this page helpful if you are experiencing problems, for example, if you deployed a service, but you cannot find it in the Services table, you can check whether the numbers of services and packages have changed.

  • To View Directory Server Statistics
Parent topic: Monitoring Facilities


To View Directory Server Statistics

  • Click Statistics on the menu on the left-hand side of any Enterprise Server Administration Web page.
Parent topic: Viewing a MF Directory Server's Statistics
Parent topic: Monitor Directory Server


Viewing a MF Directory Server's Sessions List

The Sessions list is a list of all the Web browser client and program clients currently connected to the MF Directory Server. The sessions may be active, or they may be dormant but not yet removed because the time period between inactivity and removal has not yet been exceeded.

If user access is unrestricted (that is, if security has not been configured for Directory Server), only one Web browser client session is shown, with the Session ID "Developer".

If user access is restricted, individual sessions are shown for each Web browser client session user, identifed by unique user IDs.

  • To View the Sessions List
Parent topic: Monitoring Facilities


To View the Sessions List

  • Click Sessions on the menu on the left-hand side of any Enterprise Server Administration Web page.
Parent topic: Viewing a MF Directory Server's Sessions List
Parent topic: Monitor Directory Server


Viewing the Journal

The Journal is a file that records some of the activity occurring on the MF Directory Server. It can track usage and help with support issues.

You can choose one of three levels of journaling:

  • Errors only (default)
  • Errors and warnings
  • All information. With this level there is a performance degradation. The scale of the degradation depends on many factors such as file system performance and client traffic; a system with a large number of highly active program clients suffers the most

You set the journaling level using the Configure Options page.

  • To View the Journal
  • To Export the Journal as a Text File
  • To Delete Journal Entries
Parent topic: Monitoring Facilities


To View the Journal

  • Click Journal on the menu on the left-hand side of any Enterprise Server Administration Web page.
Parent topic: Viewing the Journal
Parent topic: Directory Server Journal
Parent topic: Monitor Directory Server


To Export the Journal as a Text File

  1. Click Journal on the menu on the left-hand side of any Enterprise Server Administration Web page.
  2. Click Export as Text. The text file journal.txt will be created in the directory C:\Documents and Settings\All Users\Application Data\Micro Focus\<product name> x.x \ver (assuming your %SYSTEMDRIVE% is c:). If the file already exists it will be overwritten.
Parent topic: Viewing the Journal
Parent topic: Monitor Directory Server


To Delete Journal Entries

  1. Click Journal on the menu on the left-hand side of any Enterprise Server Administration Web page.
  2. Click Delete. A new journal is started.
Parent topic: Viewing the Journal
Parent topic: Monitor Directory Server


Monitoring and Managing Enterprise Server on Windows

This chapter describes the monitoring and management support provided for Enterprise Server on Windows. The support includes:

  • Console Log messages logged to the Windows Event Log
  • Custom performance counters provided through the Windows Management Instrumentation (WMI) infrastructure
  • Integration with Microsoft System Center Operations Manager supported through the provision of Enterprise Server Management Packs
  • Recording details of task executions using the Historical Statistics Facility (HSF)
Note: Monitoring and Managing Micro Focus Server is only available from Net Express version 5.1 and later. For potential version coexistence issues, see Backward Compatibility with Earlier Releases of Enterprise Server and Application Server in your Product Information.
  • Server Instance Statuses
  • Windows Event Log
  • Performance Counters
  • Management Packs for System Center Operations Manager
  • Collecting and Viewing Data on Transactions
  • What You Can Do
Parent topic: Enterprise Server Configuration and Administration


Server Instance Statuses

An enterprise server instance can have any of the following statuses:

Stopped | The server is currently not running.
Stopping | The server is currently in the process of terminating. This is normally a short-lived status value which should be shortly followed by a change to the value "Stopped".
Started | The server is currently running and can respond to client and server requests. At least one communications process is started.
Starting | The server is currently in the process of starting. This is normally a short-lived status value which should be shortly followed by a change to the value "Started".
Not Responding The server process was previously marked as "Started", but the server monitor has subsequently not been able to contact it. There may be some network connection error, or the server itself may have abnormally terminated without first marking itself as "Stopped".

If network communications are restored, and the server is still running, and the server monitor is on, then the server will be remarked as "Started" when the server monitor next checks whether the server is active.

The server might have encountered an unrecoverable communications error and the server process remains active, in which case you can shut it down by using Stop Server on the Server Details page.

The server might have encountered an unrecoverable communications error, that is, all the communications processes are inactive or not responding. If this happens, the server process shuts down. You can start it by using Start Server on the Server Details page.

Invalid | An error has occurred such that it has not been possible to set the status to any other value.

A CCI Server can only have the status Registered. This status indicates that the Directory Server has been notified that a CCI server has started. When the server stops, it deregisters itself and disappears from the list of servers.

Parent topic: Monitoring and Managing Enterprise Server on Windows


Windows Event Log

The Enterprise Server product can be configured to log the console log messages to the Windows Event Log. Each Enterprise Server instance, which is configured to enable this feature, will then log each console log message as a separate Windows event under the Enterprise Server Windows Event Log. The events logged under the Enterprise Server Windows Event Log can be viewed using the Windows Event Viewer.

Parent topic: Monitoring and Managing Enterprise Server on Windows


Performance Counters

You are able to configure Enterprise Server to provide custom Windows performance counters through the WMI infrastructure. Each Enterprise Server instance that is configured to provide performance counters exposes performance information through the WMI. This information can then be monitored using applications such as the Windows Perfmon tool.

The provided performance counters are:

  • Available Shared Memory
  • Average Request Latency
  • Average Task Duration
  • Dump Count (since start-up)
  • Pending request Count
  • SEP Count
  • Task Count (last 60 seconds)
  • Task Count (since start-up)
Parent topic: Monitoring and Managing Enterprise Server on Windows


Management Packs for System Center Operations Manager

System Center Operations Manager (SCOM) is a Microsoft product that manages Windows Server Systems. It enables event, health and performance monitoring and also provides the capability to highlight relevant and important information to help prevent issues from going unseen.

Management Packs are provided in Enterprise Server to define specific rules and monitors. In addition, they provide a means of discovering instances of Enterprise Server instances and their properties, monitoring of the Windows Event Log for key messages and displaying performance counter data.

Integration with Operations Manager requires a SCOM agent to be deployed to each machine that is to be managed. This agent monitors events and performance data based upon rules defined in the Management Packs. For information on how to deploy SCOM agents, refer to the System Center Operations Manager documentation.

There are three Enterprise Server Management Packs:

  • MicroFocus.Server.Core.Library.mp
  • MicroFocus.Server.EnterpriseServer.ManagementPack.mp
  • MicroFocus.Server.EnterpriseServer.MTO.ManagementPack.mp
Note:

Discovery will occur for each enterprise server instance regardless of whether it is enabled for event logging or performance monitoring.

The discovery interval is 15 minutes, so a change of properties in a server may not immediately appear in Operations Manager.

  • Monitors
  • Rules
  • Discovery
  • Enterprise Server Tasks
  • Extending and Overriding Management Packs
Parent topic: Monitoring and Managing Enterprise Server on Windows


Monitors

A monitor is a state machine that is used to represent a particular aspect of the application, device, or service being monitored. They are used to determine the health state of a particular component and are integral part of the health model. The monitor can check for a single event or a wide range of events that represent many different problems.

When a key message is reported to the event log, it will be indicated in the Health Explorer for the relevant Enterprise Server instance. The server's overall state will also indicate that an error or warning has occurred.

In the event of an error, a monitor will need to be reset in order to return it to a healthy state. An exception to this is the Shared memory storage constrained message. If a message is detected that indicates the constraint has ended, then the health state for that monitor will return to healthy.

The following monitors, with associated error codes and descriptions, are included in the Micro Focus Management Packs:

  • Monitor Category: Availability
  • Monitor Category: Configuration
  • Monitor Category: Micro Focus Server Operation
  • Monitor Category: Performance
Parent topic: Management Packs for System Center Operations Manager


Monitor Category: Availability

The following Availability monitors, with associated codes and descriptions, are included in the Micro Focus Management Packs:

Database Connectivity
Code | Error Description
CASRM0002S | ODBC resource manager initialization terminated abnormally
Processes
Code | Error Description
CASSP0003E | Process termination recovery initiation failed
CASSP0004E | Process termination recovery initiation failed
CASSP0014S | Process termination due to RTS error
Resources
Code | Error Description
CASSI0006S | Error opening RDO file
CASFC0008I | Error accessing file. File closed and disabled.
SEPs
Code | Error Description
CASCD0144S | SEP failed to initialize
CASCD0154S | SEP abended
Server Manager Operation state
Code | Error Description
CASCD0152S | Service execution process manager abended
CASCD0142S | Service execution process manager abended
CASCD0141S | Service execution process manager failed in initialization
CASSI1001S | Service execution process manager initialization failure
CASSI1002S | Server manager failed the license check
CASSI1003W | Service execution process manager initialization error, no MSS license found
CASCD0143S | Service execution process manager failed in termination
CASCD0151S | Service execution process manager abended in initialization
CASCD0153S | Service execution process manager abended in termination
XA Resources
Code | Error Description
CASXO0001S | XA Resource Manager initialization error
CASXO0016S | XA interface initialization failure
CASXO0023S | Severe error detected in XA interface, RM interface disabled
CASXO0025I | XA Switch enabled on demand
CASXO0015I | XA interface initialized successfully
ES Communications Server
Code | Error Description
CASCD0169S | ES Communications Service execution process abended
CASCD1040S | ES Communications Service execution process exited
Parent topic: Monitors


Monitor Category: Configuration

The following Configuration monitors, with associated error codes and descriptions, are included in the Micro Focus Management Packs:

General
Error Code | Error Description
CASSI0005S | Requested SIT could not be found
Parent topic: Monitors


Monitor Category: Micro Focus Server Operation

The following Micro Focus Server Operation monitors, with associated error codes and descriptions, are included in the Micro Focus Management Packs:

Database Connectivity
Error Code | Error Description
CASRM0005S | ODBC resource manager error
Processes
Error Code | Error Description
CASKC6001S | Unable to kill process
Resources
Error Code | Error Description
CASSP0010S | Syncpoint failure - resource state unpredictable
CASSP0011S | Syncpoint failure - resources ROLLEDBACK
CASSP0013S | Rollback failure - resource state unpredictable
XA Resources
Error Code | Error Description
CASXO0002S | Switch Load Module failed to load
Parent topic: Monitors


Monitor Category: Performance

The following performance monitors, with associated error codes and descriptions, are included in the Micro Focus Management Packs:

Shared Memory
Error Code | Error Description
CASKC0007W | Shared memory storage constrained
CASKC0008I | Shared memory storage constraint ended
Transactions (CICS)
Transaction ABENDs
Error Code | Error Description
CASKC0001E | Transaction abend (system)
CASKC0041E | Transaction abend (timeout)
CASKC0042I | Transaction abend (user)
Transaction Thresholds
Error Code | Error Description
CASKC6003I | Transaction threshold breached
CASKC6004I | Transaction completed, but threshold breached
JES Time Threshold (JES only)
Error Code | Error Description
CASKC6002I | Job terminated due to exceeding TIME parameter
IMS Time Threshold (IMS only)
Error Code | Error Description
CASIP0026I | Transaction completed but exceeded its threshold
CASKC6005I | Transaction has exceeded its threshold
Parent topic: Monitors


Rules

Rules collect data from Micro Focus provided Performance Counters and event log occurrences. Alerts can be generated from the collected monitoring data.

An example rule is included which monitors for abnormal SEP termination (CASCD0154S). If this particular error is reported to the event log, then an alert will be raised indicating which enterprise server reported the alert.

Parent topic: Management Packs for System Center Operations Manager


Discovery

Once an agent has been installed on a machine, it will discover all Enterprise Server instances that reside there. For each instance, the following, if defined, is also discovered:

  • Properties from the General tab in the ES Admin pages
  • Listeners and their properties
  • Services and their properties
  • Request Handlers and their properties
  • Packages and their properties
  • CICS properties
  • JES properties
  • JES Initiators and their properties
  • JES printers and their properties
  • IMS properties
  • IMS DB properties
  • IMS TM properties
  • IMS MPRs' and their properties
Note:

Discovery will occur for each enterprise server instance regardless of whether it is enabled for event logging or performance monitoring.

The discovery interval is 1 hour, so a change of properties in a server may not immediately appear in Operations Manager.

Parent topic: Management Packs for System Center Operations Manager


Enterprise Server Tasks

The management packs give you two tasks in Operations Manager's Actions pane that you can use to start administration pages.

View Enterprise Server Administration Page
Opens the Enterprise Server Administration page for the machine on which the selected server is installed.
SEPs View
Opens the Enterprise Server Monitor and Control page for the selected server in SEPs view.
Parent topic: Management Packs for System Center Operations Manager


Extending and Overriding Management Packs

Although the Enterprise Server Management Packs cannot be modified directly, custom Management Packs can be created to override and extend their behaviour. Refer to the System Center Operations Manager documentation for details on how to do this.

Parent topic: Management Packs for System Center Operations Manager


Collecting and Viewing Data on Transactions

You can create records for tasks that have been executed and completed under Enterprise Server using the Historical Statistics Facility (HSF). These records can be written to a .csv file and also a limited number can be saved in memory to view in the Enterprise Server Monitoring and Control console (ESMAC).

The records contain information such as the ID of a user that initiates the task, the response time, and names of any files accessed.

Information is provided for the following resources:

  • CICS transactions
  • IMS transactions
  • Batch jobs (JCL) - for each JCL job, HSF generates a start record, an end record and one record for each step
  • Web services
  • CGI programs
  • Configuring and Starting Transaction Data Collection
  • Viewing HSF Information in ESMAC
  • Viewing HSF Information as a .csv File
  • Analyzing Aggregated HSF Data in .csv Files
Parent topic: Monitoring and Managing Enterprise Server on Windows


Configuring and Starting Transaction Data Collection

In order to use HSF to collect data about transactions, you need to set a number of configuration options in Enterprise Server Administration. You can also use ESMAC to override these settings dynamically.

Note: In order to collect information on EXEC SQL statements, you need to compile the application with the SMFTRACE directive set.

To configure HSF

  1. Access the Enterprise Server Administration screen for your installation.
  2. Check that the server you want has stopped, and if not, stop it.
  3. In the Status column of the Enterprise Server to monitor, click Details.
  4. Select the Historical Statistics tab.
  5. Set the configuration options:
    Enable collection of HSF records
    This switches on HSF processing.
    Write to disk
    Enables writing of HSF records to comma-separated files. These are called cashsf-a.csv and cashsf-b.csv, and are written to the system directory.
    Max HSF file size
    If you have selected Write to disk, this is the size in kilobytes the .csv file will reach before Enterprise Server switches to the alternate .csv file. A value 0 selects the maximum size possible (4 Gb).
    Number of records to view in ESMAC
    The number of HSF records that Enterprise Server will hold in memory. These records can be viewed by clicking on the HSF button in ESMAC while the server is running. When this number is reached, older records will be deleted when a new one is created. Records older than one hour are deleted too.
    The minimum value is 0 (no HSF data displays in ESMAC), the maximum is 4096.

To reconfigure HSF while a server is running

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the Status column of the started Enterprise Server, click Details.
  3. Select the Server > Control tab and click ES Monitor & Control, then click Control.
  4. Set the configuration options. These are the same as those in the Enterprise Server Administration Historical Statistics tab described above apart from the following differences:
    Enable collection of HSF records
    To enable this option you must first either set Write to disk or enter a value in the Number of records to view field.
    Switch
    Clicking this button will switch collection to the alternate .csv file before the active file has reached the maximum size.
  5. Click Apply to start collecting the data
Tip: When you switch to the alternate file, either by clicking the ESMAC Switch or when the active file reaches the maximum size, if the alternate file already exists it is automatically deleted and a new one created with the same name. Therefore, in order to keep existing records, you should back up files before a switch takes place.
Parent topic: Collecting and Viewing Data on Transactions
Related reference
GUID-BF902075-A392-4300-B1CF-DD618B3C4ECF
Related information
To start an enterprise server instance


Viewing HSF Information in ESMAC

If you have enabled collection of HSF records and specified the number of records to collect in ESMAC, you can use ESMAC to view aggregated information on transactions, and details of individual runs of those transactions.

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To view the transaction information:

  1. Click the HSF button.

This shows the period of time (displayed in minutes and seconds next to Historical Statistics) between the earliest records displayed and the current time, and the following information for each transaction:

Average Latency
The average time, in hundredths of a second, between Enterprise Server receiving the requests and the tasks beginning to run.
Average Response Time
The average time, in hundredths of a second, that the tasks ran for (not including latency time).
Count
How many times the task has run.

By clicking on the magnifying glass icon [image] next to a task you get a detailed view of the individual runs.

Latency+Resp
The sum of latency and response time averages.
Transaction
The name of task:
  • for CICS and IMS tasks, the transaction ID
  • for JCL, the job name
  • for Web services, the service name
  • for CGI programs, the program name
Program
  • for CICS and IMS tasks, the program name
  • for JCL, the program name or the job number, depending on the JCL record type
Process ID
Process ID of the SEP which ran the task.
Task Number
A unique task number.
Date
The date the task started to run, in the format yyymmdd.
Time
The time the task started to run, in the format hhmmsscc.
User
The ID of the user that initiated the task.
LU/Step
  • for CICS tasks, the logical unit or net name (the identifier of the terminal used to initiate the task).
  • for JCL, either the step name, the JOBSTART constant indicator, or the job return code depending on the JCL record type. All three of these record types are generated for each JCL job.
Parent topic: Collecting and Viewing Data on Transactions
Related information
To start an enterprise server instance


Viewing HSF Information as a .csv File

If you have enabled the collection and writing of HSF records to disk, you can view details of individual runs of transactions in comma-separated files that you can import into a spreadsheet. These files contain one HSF record per line. The filenames are cashsf-a.csv and cashsf-a.csv.

Once the active file is full, or when you click the the Switch button in ESMAC, records are then written to the alternate file until the maximum file size is reached or the Switch button is clicked.

The files are saved in the system directory.

The .csv files have the header
Type,PID,Task,Date,Time,Tran,User,LU,Prog,Latent,Resp,API,SQL,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
and contain the following fields:
Type
The type of task. One of:
  • CICS
  • IMS
  • JCL
  • WEB
  • CGI
PID
Process ID of the SEP which ran the task.
Task
A unique task number.
Date
The date the task started to run, in the format yyyymmdd.
Time
The time the task started to run, in the format hhmmsscc.
Tran
The name of task:
  • for CICS and IMS tasks, the transaction ID
  • for JCL, the job name
  • for Web services, the service name
  • for CGI programs, the program name
User
The ID of the user that initiated the task.
LU
  • for CICS tasks, the logical unit or net name (the identifier of the terminal used to initiate the task).
  • for JCL, either the step name, the JOBSTART constant indicator, or the job return code depending on the JCL record type. All three of these record types are generated for each JCL job.
Prog
  • for CICS and IMS tasks, the program name
  • for JCL, the program name or the job number, depending on the JCL record type
Latent
The time, in hundredths of a second, between Enterprise Server receiving the request and the task beginning to run.
Resp
The time, in hundredths of a second, that the task ran for (not including latency time).
API
The time, in hundredths of a second, spent in CICS API (EXEC CICS statements) for this task.
SQL
The time spent, in hundredths of a second, in SQL API (EXEC SQL statements) for this task.

The following additional fields may be repeated up to five times:

File(x)
The name of a file that the transaction accessed.
Count(x)
The number of times the transaction accessed this filex.
Time(x)
The time, in hundredths of a second, the transaction spent accessing filex.
Ts(x)
The name of a temporary storage queue (TSQ) that the transaction accessed.
Count(x)
The number of times the transaction accessed Ts x.
Time(x)
The time, in hundredths of a second, the transaction spent accessing Ts x.

Examples

JCL:
Type PID Task Date Time Tran User LU Prog Latent Resp API SQL 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

JCL 6952 70 20110512 14060697 JOB3STEP MFIUSER4 JOBSTART JOB01009 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
JCL 6952 70 20110512 14060713 JOB3STEP MFIUSER4 STEP01   IDCAMS   0  3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
JCL 6952 70 20110512 14060718 JOB3STEP MFIUSER4 STEP02   IDCAMS   0  1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
WEB 6960 69 20110512 14060654 MFRHBINP:CASA_Sub_JCL               1 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
JCL 6952 70 20110512 14060719 JOB3STEP MFIUSER4 STEP03   IEFBR14  0  2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
JCL 6952 70 20110512 14060721 JOB3STEP MFIUSER4 RC=0000  JOB01009 0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CICS:
Type PID Task Date Time Tran User LU Prog Latent Resp API SQL 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

CICS 6960 34 20110512 14012857 CFLE SYSAD NETA000 DFHZDFDM 1 1 1 0 0 0 0 0 0 0 0 0 0 0 A000CFLE 2 0 DYNMA000 1 0 CFLEA000 1 0 HELPA000 1 0 SEQ@A000 1 0
CICS 6960 49 20110512 14031085      SYSAD NETA000          1 1 0 0 0 0 0 0 0 0 0 0 0 0          0 0          0 0          0 0          0 0          0 0
CICS 6960 50 20110512 14031254 CESF SYSAD NETA000 CASZCESN 1 1 0 0 0 0 0 0 0 0 0 0 0 0          0 0          0 0          0 0          0 0          0 0
CICS 6960 51 20110512 14031321            NETA000          1 1 0 0 0 0 0 0 0 0 0 0 0 0          0 0          0 0          0 0          0 0          0 0
CICS 6960 52 20110512 14031506 CESN       NETA000 CASZCESN 1 1 0 0 0 0 0 0 0 0 0 0 0 0          0 0          0 0          0 0          0 0          0 0
CICS 6960 53 20110512 14032002 CESN       NETA000 CASZCESN 1 1 0 0 0 0 0 0 0 0 0 0 0 0          0 0          0 0          0 0          0 0          0 0
IMS:
Type PID Task Date Time Tran User LU Prog Latent Resp API SQL 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

IMS 5740 16 20110513 9185775 MFDEMO SYSAD NETA000 11 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMS 5740 17 20110513 9190596 MFDEMO SYSAD NETA000 10 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMS 5740 18 20110513 9191047 MFDEMO SYSAD NETA000  8  8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMS 5740 19 20110513 9191516 MFDEMO SYSAD NETA000  9  6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMS 5740 20 20110513 9191988 MFDEMO SYSAD NETA000  8  7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IMS 5740 21 20110513 9192230 MFDEMO SYSAD NETA000 10 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Parent topic: Collecting and Viewing Data on Transactions


Analyzing Aggregated HSF Data in .csv Files

You can use the statistics utility program, CASFHSF, to output aggregated data from the .csv files created by the Historical Statistics Facility (HSF). CASFHSF data is output as a comma-separated value file.

You can use the information to review system performance on a regular basis and avoid going through a large volume of data in order to determine if corrective tuning action is required.

Using the CASFHSF statistics utility program

From a Net Express command prompt, launch CASFHSF.EXE.

The following switches are available. A dash may replace the slash, and switches can be upper or lower case.

Switch | Description
/A | Process only cashsf-a.csv.
/B | Process only cashsf-b.csv.
/C | Process both cashsf-a.csv and cashsf-b.csv. This creates two output files.
/S | Aggregate the output data by the second.
/M | Aggregate the output data by the minute (default).
/IP | The location of the input files. The default value is the current directory.
/OP | The location of the path of the output files. The default value is the current directory. The output file is called OutFile-nnn.csv, where nnn is a number for each header within the input file.

To aggregate certain transactions or programs, you may specify these using parameters in the form:

{type},{id}[[,{type},{id}]...]
The parameters are:
type
Transaction type:
  • 1 = a CICS transaction
  • 2 = an IMS transaction
  • 3 = a JCL batch job name
  • 4 = a Web Service
  • 5 = a CGI program
id
The identifier of the transaction, job, service or program ID to be aggregated. If id is "Auto", this is an alias for CICS Auto install transaction (x'feffffff').

You can specify between zero and five type,id pairs. Each type must be separated from its corresponding id by a comma. If more than one pair is specified, each pair must be separated by a comma.

If no pair is specified, an aggregate of all transactions is accumulated in the first unallocated slot. The default behaviour in this case is to aggregate all data in slot one.

An extfh.cfg file is generated in the current directory, if one is not already present, to allow large file inputs.

If no switches or parameters are specified, the utility will ask if you wish to continue using the default values.

Example commands:

casfhsf /a /s /ipc:\es\region2\system 1,ABCD,1,WXYZ

This will process cashsf-a.csv in the directory c:\es\region2\system, and aggregate times separately for the CICS transactions ABCD and WXYZ. All times are aggregated by the second.

casfhsf /op"c:\Users\All Users\Micro Focus"

This will process both cashsf-a.csv and cashsf-b.csv in the current directory, aggregate times for all transactions and programs, and create the output files in the folder c:\Users\All Users\Micro Focus. All times are aggregated by the minute.

The Output File

This is a comma-separated value file with the following header:
time,TPS,Latency,min,max,Response,min,max,System,min,max (x 5 excluding time).
Field | Description
time | The time period in minutes (hh:mm format) or seconds (hh:mm:ss format) into which the input monitoring times are aggregated. The format is determined by the /S or /M switch.
TPS | The average number of transactions per second or minute.
Latency | The average latency - delay or waiting time - for this time period
min | The minimum latency
max | The maximum latency
Response | The average time taken for Enterprise Server to respond to the transaction request
min | The minimum response time
max | The maximum response time
System | The total of the average latency and response times (Latency + Response)
min | The minimum latency plus response time of a particular transaction run
max | The maximum latency plus response time of a particular transaction run

There is also a secondary header depending on the parameters supplied to the utility.

If there are no parameters, then all the aggregate values are accumulated under "Everything", and the other four columns are marked as "Unused".

Example

An input file, cashsf-a.csv, with the following values was created during a short run of a CICS region started on 1 April 2011 at 17.37:

Type,PID,Task,Date,Time,Tran,User,LU,Prog,Latent,Resp,API,SQL,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
1,6216,8,20110401,17374659,PIP2,,,DFHZPLT,1,40,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,10,20110401,17375267,þ,,,DFHZAI,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,11,20110401,17375268,CESN,,NETA000,CASZCESN,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,12,20110401,17375331,CESN,,NETA000,CASZCESN,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,13,20110401,17375355,,,NETA000,,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,14,20110401,17375495,ACCT,,NETA000,ACCT00,1,1,1,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,15,20110401,17375882,AC01,,NETA000,ACCT01,1,5,4,0,ACCTFIL,1,4,,0,0,,0,0,,0,0,,0,0,AC044444,2,0,,0,0,,0,0,,0,0,,0,0
1,6216,16,20110401,17383672,AC02,,NETA000,ACCT02,1,2,0,0,ACCTFIL,1,0,,0,0,,0,0,,0,0,,0,0,AC044444,2,0,ACCTLOG,1,0,,0,0,,0,0,,0,0
1,6216,17,20110401,17384953,AC01,,NETA000,ACCT01,1,1,1,0,ACCTFIL,1,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,18,20110401,17385110,ACCT,,NETA000,ACCT00,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,3552,7,20110401,17374538,PIP1,,,DFHZPLT,1,9369,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,19,20110401,17385396,AC01,,NETA000,ACCT01,1,1,0,0,ACCTIX,4,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,20,20110401,17385565,AC01,,NETA000,ACCT01,1,1,1,0,ACCTIX,4,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,21,20110401,17390120,AC01,,NETA000,ACCT01,1,1,0,0,ACCTFIL,1,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,22,20110401,17390302,ACCT,,NETA000,ACCT00,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,23,20110401,17390513,AC01,,NETA000,ACCT01,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,24,20110401,17390737,CEBR,,NETA000,DFHZCEBR,1,225,223,0,,0,0,,0,0,,0,0,,0,0,,0,0,CEBRA000,2,0,,0,0,,0,0,,0,0,,0,0
1,6216,25,20110401,17391194,CENV,,NETA000,DFHZCENV,1,2,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,26,20110401,17391344,,,NETA000,,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,27,20110401,17391624,CINQ,,NETA000,DFHZCINQ,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,28,20110401,17391733,,,NETA000,,1,1,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0
1,6216,29,20110401,17391906,CQIT,,,DFHZCQIT,1,97,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0

The transaction ACCT and its sub-transactions AC01/AC02 were run at 17.37, which accessed a file ACCTFIL, and TSQs AC044444 and ACCTLOG. Other system transactions such as CEBR and CENV were run afterwards.

This command line was run in the directory containing the input file:

CASFHSF /A

This command processes cashsf-a.csv in the current directory, places the output file in the current directory, and aggregates times by the minute. This creates the following output file, OutFile-001.csv:

time,TPS,Latency,min,max,Response,min,max,System,min,max,TPS,Latency,min,max,Response,min,max,System,min,max,TPS,Latency,min,max,Response,min,max,System,min,max,TPS,Latency,min,max,Response,min,max,System,min,max,TPS,Latency,min,max,Response,min,max,System,min,max
,.-Everything,,,,.-Everything,,,.-Everything,,,.-Unused,,,,.-Unused,,,.-Unused,,,.-Unused,,,,.-Unused,,,.-Unused,,,.-Unused,,,,.-Unused,,,.-Unused,,,.-Unused,,,,.-Unused,,,.-Unused,,
17:37,0.13,0.01,0.00,0.01,11.77,0.00,93.69,11.78,0.00,93.70,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
17:38,0.08,0.01,0.00,0.01,0.01,0.00,0.02,0.02,0.00,0.03,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00
17:39,0.15,0.01,0.00,0.01,0.36,0.00,2.25,0.37,0.00,2.26,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00

At 17.46, aggregated statistics for all transactions show the number of transactions per second to be 0.08, a latency of 10 milliseconds, a response time of 20 milliseconds, and a total (system) response time of 30 milliseconds.

Parent topic: Collecting and Viewing Data on Transactions


What You Can Do

Depending on the security settings for Enterprise Server and user granted permissions, you can do all or some of the following:

  • Configure and use the Windows Event Log
  • Configure Enterprise Server to provide performance counters through the WMI infrastructure
  • Use Management Packs with SCOM
  • View enterprise server instances and properties in Operations Manager
Note:

In order to monitor enterprise server instances, it is necessary to enable Performance Counters and Windows Event Logging.

  • To Enable Windows Event Logging
  • To Use Windows Event Logging
  • To Enable Performance Counters
  • To Use Performance Counters
  • To import Server Management Packs into Operations Manager
  • To View Server Instances and Properties in Operations Manager
Parent topic: Monitoring and Managing Enterprise Server on Windows


To Enable Windows Event Logging

  1. In Enterprise Server Administration, click Edit against the server that you want to configure for Windows Event Logging.
  2. Go to the Windows Monitoring and Management option by selecting the Server, Properties and General tabs.
  3. Choose the category of messages to be logged by selecting the appropriate checkboxes.
  4. Click Apply.
  5. Click OK.
  6. Start the server. If any of the checkboxes were selected, the following message will be displayed upon the console daemon, indicating that Event Logging has been enabled:
    CASCD4005I Windows Event logging Enabled
Parent topic: What You Can Do
Parent topic: Monitor and Manage Enterprise Server


To Use Windows Event Logging

  1. Start the Windows Event Viewer from Windows Administrative tools, or by typing eventvwr.exe at the Windows command prompt.
  2. To view the event properties logged by the enterprise servers, select the Micro Focus Server Windows Event Log in the Left Hand pane.
  3. To monitor the log from a remote computer, select connect to another computer under the Actions menu.
Note:

Severe messages appear in the Event Log as Error Type. These can be distinguished by an ‘S’ at the end of the error code given in the event description.

Parent topic: What You Can Do
Parent topic: Monitor and Manage Enterprise Server


To Enable Performance Counters

  1. In Enterprise Server Administration, click Edit against the server that you want to configure for Performance Monitoring.
  2. Go to the Windows Monitoring and Management option by selecting the Server, Properties and General tabs.
  3. Select the Allow Performance Monitoring checkbox.
  4. Click Apply.
  5. Click OK.
  6. Start the server. The following message will be displayed in the console daemon to indicate that Performance Monitoring has been enabled:
    CASAM3016I ES Monitoring and Management Support Enabled
Parent topic: What You Can Do
Parent topic: Monitor and Manage Enterprise Server


To Use Performance Counters

  1. Launch the Windows Event Viewer from Windows Administrative tools, or by typing Perfmon.exe at the Windows command prompt.
  2. Right click on the graph in the right hand pane and select Add Counters.
  3. Select Micro Focus Server System from the list in the Add Counters dialog box.
  4. Select the counters to be plotted from the counters list.
  5. Select the servers for which you wish to plot the counters from the instances list.
  6. Click Add.
Note:

After starting an enterprise server, it takes up to a minute before Server Enterprise Edition updates the performance information. During this time, all performance counters will have a value of "Zero". Thereon, information is updated every minute.

Parent topic: What You Can Do
Parent topic: Monitor and Manage Enterprise Server


To import Server Management Packs into Operations Manager

  1. Start Operations Manager.
  2. In the Operations Console, click Administration.
  3. Right click on Management Packs.
  4. Select Import Management Packs.
  5. Navigate to the directory containing the Server Enterprise Edition Management Packs: <product name> X.X\Base\SOURCE\ENTERPRISESERVER\Monitoring\MPs. Select all and click Open.
  6. Click Import.
Note: Note:

Monitoring using the Management Pack definitions will begin as soon as an agent has been installed on a client machine.

Parent topic: What You Can Do
Parent topic: Monitor and Manage Enterprise Server


To View Server Instances and Properties in Operations Manager

  1. Start Operations Manager.
  2. In the Operations Console, click Monitoring.
  3. Navigate the directory tree: Micro Focus Monitoring and Management > Server Enterprise Edition > Enterprise Server . The following are displayed in the tree:
    • Server overall state
    • MTO
    • Performance view

To work with Server overall state take the following steps:

  1. Select Server overall state from the directory tree. A list of enterprise server instances is displayed in the main panel.
  2. To display a list monitoring and performance options for a specific server, right click the server name and take the Open option.
  3. Select the list item you wish to view. To view properties of a specific server, select Diagram view, expand the diagram tree if necessary, and click on the appropriate server icon. To view the health state of a server, select Health Explorer for Server-name.
  4. Select File->Close to return to the list of servers.

To work with MSS take the following steps:

  1. Expand MSS in the directory tree.
  2. Select MSS systems state from the directory tree. A list of MTO enabled enterprise server instances is displayed in the main panel.
  3. To display a list monitoring and performance options for a specific server, right click the server name and take the Open option.
  4. Select the list item you wish to view. To view properties of a specific server, select Diagram view, expand the diagram tree if necessary, and click on the appropriate server icon. To view the health state of a server, select Health Explorer for Server-name.
  5. Select File->Close to return to the list of servers.

To work with Performance view take the following steps:

  1. Select Performance view from the directory tree. A graph with a list of counter instances for each enterprise server running that is enabled for performance monitoring is displayed in the main panel.
  2. Select the appropriate performance counter check box to plot the counter value on the graph.
Parent topic: What You Can Do
Parent topic: Monitor and Manage Enterprise Server


User Exits for Request Handlers

This section describes how to write user exit programs that allow you to customize the behavior of the Micro Focus MFRHSOAP request handler.

The Micro Focus MFRHSOAP request handler provides a number of user exit points, enabling you to supply a user exit program that can perform additional processing of input and output parameters.

You can also provide a user exit program for use with a custom request handler, if you find this approach offers advantages over including all the code you need in the request handler itself.

  • User Exit Points Provided
  • Structure Definitions and Type Definitions
  • Linkage Section Field Names
  • Deploying a User Exit Program
Parent topic: Enterprise Server Configuration and Administration


User Exit Points Provided

Figure 0-1 shows the interaction between request handlers, the application container and the run-time interface mapper.

Figure 1. Request Handler Exit Points
Request Handler Exit Points
The user exit points are indicated by squares numbered from 1 through 9. The table below gives the name and purpose of the exit points.
Number | Name | Description
1 | External data value modification – input parameter | Enables you to modify the external data value specified in a client request before the request handler’s default mapping for the parameter occurs. This exit point is invoked for each external-to-internal input parameter mapping that is specified in the IDT.
2 | Internal data value modification – input parameter | Enables you to override the internal data value created by the request handler’s default mapping for a parameter. This exit point is invoked for each external-to-internal input parameter mapping that is specified in the IDT.
3 | Unmapped named external input parameter | Enables you to provide processing of any input parameters that do not have associated input parameter mappings defined in the IDT. This exit point is invoked for each unmapped named input parameter.
4 | End of input request processing | Enables you to set up parameter values other than the external parameters specified in the client request. It also provides the opportunity for any resources allocated in exit points 1 through 3 to be released.
5 | Start of response processing | Enables you to bypass completely the default mapping used to build a client response. The exit program is responsible for the creation of the response that will be sent back to the client by the application container.
6 | Internal data value modification – output parameter | Enables you to modify the internal data value as created by the user application before the request handler’s default mapping for the parameter occurs. This exit point is invoked for each internal-to-external output parameter mapping that is specified in the IDT.
7 | External data value modification – output parameter | Enables you to override the external data value created by the request handler’s default mapping for a parameter. This exit point is invoked for each internal-to-external output parameter mapping that is specified in the IDT.
8 | End of response processing | Enables you to modify the response generated by the default mapping.
9 | End of request processing | Enables you to release any resources that were allocated in exit points 1 through 8.
Parent topic: User Exits for Request Handlers


Structure Definitions and Type Definitions

To help COBOL and C programmers, we provide a COBOL copybook (cbltypes.cpy) and a C header file (svext.h) with reUZE Server. These files contain definitions of the structures and interfaces that you will require to write user exits and custom request handlers.

One of these is the IDP_EXIT_INFO structure, which is used for passing the information required by the exit routines for processing at each exit point. A pointer to this structure, together with the exit point identifier, is passed to each exit routine. The information passed and returned depends on the exit point.

For definitions of the information passed at each exit point see the reference Help topics Exit Points.

For definitions of support functions see the reference Help topics Functions.

Parent topic: User Exits for Request Handlers
Related information
Exit Interface Definition
External Data Value Modification - Input Parameter (Exit Point 1)
Internal Data Value Modification - Input Parameter (Exit Point 2)
Unmapped Named External Input Parameter (Exit Point 3)
End of Input Request Processing (Exit Point 4)
Start of Response Processing (Exit Point 5)
Internal Data Value Modification - Output Parameter (Exit Point 6)
External Data Value Modification - Output Parameter (Exit Point 7)
End of Response Processing (Exit Point 8)
End of Request Processing (Exit Point 9)
PFV_IDPES_FN_ALLOC_MEM
PFV_IDPES_FN_FREE_MEM
PFI
PFI_IDPES_FN_DISPLAY_TO_UTF16
PFI_IDPES_FN_UTF16_TO_DISPLAY
IDP_EXIT_INFO
IDP_EXIT_SERVICE_FUNCS


Linkage Section Field Names

Several of the exit points are provided so that you can manipulate an input or output field. The way you pass a field name in the exit interface depends on how it is defined in the Linkage Section of the program providing the service. There are two possibilities:

  • The item is defined at level 01. In this case, the field name passed in the exit interface is the same as the field name in the Linkage Section
  • The item is defined at a level subordinate to level 01. In this case, the field name passed in the exit interface is composed of the field name prefixed by a concatenation of the names of the group items that it belongs to. The individual names are separated by "." characters. For example: field "e" in the record below would be uniquely identified as "a.b.c.e".
    01 a.
   03 b.
      05 c.
         07 d     pic x(4).
         07 e     pic x(4).
         07 f     pic x(4).
      05 g        pic x(4).
   03 h           pic x(4).

    If the field itself, or any of the group items that it belongs to, are tables, the required table index is specified by appending “(n)” to the name, where n indicates the position of the field or item in the table. For example, field “f” of the fourth element of “c” in the record below would be uniquely identified as “a.b.c(4).f”:

    01 a.
   03 b.
      05 c occurs 10.
         07 d     pic x(4).
         07 e     pic x(4).
         07 f     pic x(4).
      05 g        pic x(4).
   03 h           pic x(4).
Parent topic: User Exits for Request Handlers


Deploying a User Exit Program

To deploy a user exit program, copy it into the reUZE Server bin directory, at install-dir\base\bin if reUZE Server is installed as part of reUZE Developer, or install-dir\bin if Enterprise Server is installed standalone.

Parent topic: User Exits for Request Handlers


Troubleshooting

This section describes how to set about diagnosing common problems that can occur with running applications in Enterprise Server and gives some advice about overcoming them.

Failures fall into the following categories:

  • Incorrect output (an application or system function produces the wrong results or exhibits unexpected behaviors). These include application abends.
  • Unexpected system terminations. Either the whole enterprise server terminates or a subsystem (support process) terminates.
  • System loops. These include application loops and enterprise server subsystem loops. They are characterized by an abnormal accumulation of CPU time by an enterprise server process and may display the same external symptoms as a system hang.
  • System hangs. Any problem where the enterprise server appears to stop responding to its clients (except for loops).

    This can also be the result of problems with inter-system communications.

  • Determining the Failure Type
  • Collecting Information
  • Data Capture
  • Checking the Communications Process
  • Using the Console Logs
  • Using a Diagnostics Server
  • What You Can Do with Dumps and Traces
Parent topic: Enterprise Server Configuration and Administration


Determining the Failure Type

Key initial classifiers for a failure are:

  • The console log.

    This contains an easy-to-read history of enterprise server system activity leading up to the problem. When viewing the console log:

    • Investigate messages with levels other than information first.
    • Frequently, the enterprise server will continue to appear normal for some time after a failure so the 10 to 15 minutes before the failure should be investigated in detail (including the information messages).
  • The list of processes.

    Inspect the processes associated with the failing enterprise server (providing the server did not shut down). Loops may be indicated if there is a significant difference in the CPU time for a process between the list in the healthy data capture and the list in the problem data capture.

  • The list of shared memory areas and semaphores.

    An unusual number of objects may indicate an operating system problem. To evaluate this, compare the list with one obtained when the enterprise server system is in a healthy state.

These classifiers coupled with the external symptoms should provide enough information to assign the failure to one of the types of failure listed.

  • Incorrect Output
  • Unexpected System Termination
  • Invalid Credentials Error
Parent topic: Troubleshooting


Incorrect Output

The next step here is to differentiate between application problems and enterprise server infrastructure problems.

Application failures other than abends are often application problems. Look at the active trace dataset coupled with the system trace table in the dump X dataset (casdumpx.rec) to establish the application activity before the failure.

Application abends can be due to application problems or enterprise server infrastructure problems. Look in the active dump dataset for an RTS error dump. If found, evaluate the RTS error and classify the problem from this. What module experienced the failure, application or enterprise server infrastructure?

Parent topic: Determining the Failure Type


Unexpected System Termination

Inspect the system console log for messages indicating the cause of the shutdown and classify the failure from these.

  • Loops
  • System Hangs
Parent topic: Determining the Failure Type


Loops

Use the name of the looping process to classify the failure. If the looping process is a service execution process (cassi), the loop could either be in an enterprise server subsystem or in the application; look at the active trace dataset and the system trace table from the dump X dataset to determine which module last got control. If it was the application, consider using FaultFind on the process to acquire more information on the next occurrence of the failure.

If the looping process is cassi but the last module to get control was not part of the application, or if the looping process is not cassi, you should refer the problem to Micro Focus technical support.

Parent topic: Unexpected System Termination


System Hangs

Find out whether all client requests are suffering from lack of response from the enterprise server, or just one type of request.

Try dynamically increasing the number of service execution processes by clicking Details in the Current status column, then on the Enterprise Server Details page, specifying the new number in Requested Service Execution Processes and clicking Update. The new processes should appear in the list after a short delay. Success shows that shared memory is not locked and that the enterprise server is still functioning correctly at some level, even though the external symptoms of the problem might still be present.

Check the number of active service execution processes (cassi processes), using the dump X dataset. Inspect the despatch control blocks, one for each service execution process. Are all service execution processes currently occupied with a transaction? Is the occupying transaction the same for each cassi process or was the last command executed by each cassi process the same? If either of these is true, consider the following possibilities:

  • That enough requests of the problem type have arrived to block all the available cassi processes, such that it appears that the whole enterprise server has failed. This might indicate a customer application issue.
  • That enough normal long running requests have arrived to occupy all available cassi processes, such that it appears that the whole enterprise server has failed. If this seems likely, you might be able to fix the problem by increasing the number of service execution processes.

Another possibility is that the server's shared memory is locked. The best way to check for this is to compare the date and time of the last trace entry in the dump X dataset to the date and time of the dump. The larger the gap between the two times, the more likely it is that shared memory is locked. If shared memory is not locked, try to determine what the server is waiting for. If shared memory is locked, try to determine which process left shared memory in this condition.

  • One Type Of Request is Failing
  • All Client Requests are Failing
Parent topic: Unexpected System Termination
Related information
Process Limits


One Type Of Request is Failing

Consider the possibility that the application is suffering the effects of resource contention. Consider the possibility that the service listener has failed.

Parent topic: System Hangs


All Client Requests are Failing

Try dynamically increasing the number of service execution processes by clicking Details in the Current status column, then on the Enterprise Server Details page, specifying the new number in Requested Service Execution Processes and clicking Update. The new processes should appear in the list after a short delay. Success shows that shared memory is not locked and that the Enterprise Server instance is still functioning correctly at some level, even though the external symptoms of the problem might still be present.

Check the number of active service execution processes (cassi processes), using the dump X dataset. Inspect the despatch control blocks, one for each service execution process. Are all service execution processes currently occupied with a transaction? Is the occupying transaction the same for each cassi process or was the last command executed by each cassi process the same? If either of these is true, consider the following possibilities:

  • That enough requests of the problem type have arrived to block all the available cassi processes, such that it appears that the whole Enterprise Server instance has failed. This might indicate a customer application issue.

  • That enough normal long running requests have arrived to occupy all available cassi processes, such that it appears that the whole Enterprise Server instance has failed. If this seems likely, you might be able to fix the problem by increasing the number of service execution processes.

Another possibility is that the Enterprise Server instance's shared memory is locked. The best way to check for this is to compare the date and time of the last trace entry in the dump X dataset to the date and time of the dump. The larger the gap between the two times, the more likely it is that shared memory is locked. If shared memory is not locked, try to determine what the Enterprise Server instance is waiting for. If shared memory is locked, try to determine which process left shared memory in this condition.

Parent topic: System Hangs


Invalid Credentials Error

If you get an INVALID_CREDENTIALS error in the console log when an enterprise server starts up, as follows:

CASCD4002W Error (INVALID_CREDENTIALS) binding to MFDS CASCD0102F TX Daemon Failed to Initialize

this indicates a problem with the internal files that hold details of Directory Server user IDs and passwords (in encrypted form). If you see this error, you should check that the following files exist in the Micro Focus Directory Server schema directory (usually C:\Documents and Settings\All Users\Application Data\Micro Focus\NetExpress\ver\MFDS):

  • usr.dat

  • ugp.dat

  • ace.dat

  • prm.dat

These files are initially created from the install-dir\base\bin\cciusers.dat file. If there was a problem reading this file or creating the initial security information, you can attempt to recreate the data by re-importing this file. To do this:

  1. On the home page of Enterprise Server Administration, click Users in the menu on the left hand side.

  2. Click Import... under the list of users.

    This displays a page confirming the location of the cciusers.dat file, and asking whether you wish to replace all existing user information (default: yes).
    Note: Import... is not available when your Directory Server is running in restricted mode.

  3. Click OK.

To start an enterprise server requires that certain system user accounts exist. The user IDs required are mf_mdsa and mf_cs, and they should exist in the default cciusers.dat file which is shipped with the product.

Parent topic: Determining the Failure Type


Collecting Information

For all troubleshooting exercises it is essential to gather as much information as possible about the state of the enterprise server when the problem occurred and about the events leading up to the problem.

When a problem occurs, you need to capture not only the current log files, dumps and traces, but also the contents of various files, directories and areas, and the output from a number of operating system tools. It is important to have data capture mechanisms in place in advance of a failure so that the data can easily be obtained when required.

In a production system, we recommend that you restore the enterprise server service to its clients before you start analyzing the data you have captured. We also recommend that you perform data capture on the enterprise server in a healthy state shortly after the supporting operating system has been rebooted and the enterprise server started. You should retain this healthy data capture to compare with the failure data capture.

You should also check whether the enterprise server is responding to client requests, and to requests from ESMAC. Lack of response points to problems with the communications process (MFCS).

  • Directory Server Journal
  • Enterprise Server System Directory
  • Enterprise Server Log Files
  • Dumps and Traces
Parent topic: Troubleshooting


Directory Server Journal

The Directory Server logs events to its journal. This is usually under the C:\Documents and Settings\All Users\Application Data\Micro Focus\ folder, in a sub-folder, <product name>\X.X\journal.dat. The most recent entries are also available on a page of the Enterprise Server Administration Web interface.

You can change the maximum file size, the number of entries displayed and the level of logging on the Configure Options page of Enterprise Server Administration. When the journal reaches the maximum file size set, the most recent journal entries overwrite the oldest journal entries. For troubleshooting purposes, you might want to increase the maximum file size to 256 KB or more.

The three levels of logging available are:

  • Errors only
  • Errors and warnings
  • All information

For troubleshooting purposes, you might want to set the maximum level of logging.

  • To View the Journal
Parent topic: Collecting Information
Related information
To configure the Directory Server
To view the journal


Enterprise Server System Directory

Each Enterprise Server writes log, dump and trace information to files in its System Directory. The default location for the System Directory is usually a sub-folder underC:\Documents and Settings\user-ID\My Documents\Micro Focus . The sub folder is \<product name>X.X\WORKAREA\es-name(where <product name> is the name of the product you installed, and user-ID is the user account that is running Enterprise Server).

You can change the location of the System Directory by editing the Enterprise Server's definition in Enterprise Server Administration.

Note:

If you are running the Directory Server as a service that logs on as the Local System account (LocalService), any Enterprise Server that it starts will also run under that account. Hence, the default location of the log file will be C:\Documents and Settings\LocalService\My Documents\Micro Focus\<product name>\ X.X\WORKAREA\es-name\console.log. By default, Windows hides the LocalService subdirectory of Documents and Settings. In order to view this directory, you must configure your Windows Explorer so that: Show hidden files and folders is set, and Hide protected operating system files is not set.

  • To Change the System Directory
Parent topic: Collecting Information
Related concepts
Moving the Diagnostics Data


To Change the System Directory

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server for which you want to change the number of instances.

    The Server > Properties > General page

    is displayed/
  2. Specify the new System Directory location.
    Note:
    • If you specify a directory in this field, that directory must exist; Enterprise Server does not create it for you.
    • The System Directory cannot be shared between enterprise servers.
  3. Click OK.
  4. You must restart the server for the changes to take effect.
    1. If the server is started, stop it.
    2. Start the server.
Parent topic: Enterprise Server System Directory
Parent topic: Work with Servers


Enterprise Server Log Files

An enterprise server logs messages to a file, console.log, in its System Directory.

When an enterprise server starts, it renames any existing console.log file to console.bak, erasing any existing console.bak file. You should include both console.log and console.bak in your data collection. Make sure you copy them to a safe place before restarting the enterprise server.

  • Communications Process Log Files
Parent topic: Collecting Information


Communications Process Log Files

Communications processes (MFCS) log messages to the communications process log file, log.html, in its System Directory.

If multiple communications processes are running, the date and time stamp at the beginning of each message is followed by an instance identifier in square brackets, for example, [2].

By default, there is only one log file which grows continuously until it is deleted by an administrator. However, you can use the mf-server.dat file to activate rotating log files, and to change the level of logging. The mf-server.dat file normally goes in install-dir\base\bin. It uses the ini-file format of section tags in square brackets followed by name=value pairs.

With rotating log files, MFCS uses multiple log files, named log-1.html, log-2.html, etc. When a log file reaches a configured size, MFCS moves on to the next file (which will be deleted first if it already exists). When it reaches the configured number of log files, it returns to log-1.html, overwriting it.

The syntax is as follows:

[logging]
 files=number-of-files
 filesize=maxsize
 dscontrol=none|standard|all
 dirsvc=none|unusual|processing|not-found|all

All the parameters are optional. However, to activate rotating log files, both files= and filesize= must be set, and files= must be set to a number greater than 1. These parameters configure rotating log files, as explained above. If both are set, then the total log file space required by MFCS will not exceed files*filesize (approximately). For example, to limit the log to three files of 100 KB each:

[logging]
files=3
filesize=100

The parameters are explained below.

  • Files
  • filesize
  • dscontrol
  • dirsvc
Parent topic: Enterprise Server Log Files
Related information
System Directory


Files

files=number-of-files
Specifies the number of log files.
Parent topic: Communications Process Log Files


filesize

filesize=maxsize
Specifies the maximum size of a log file in kilobytes (KB)
Parent topic: Communications Process Log Files


dscontrol

dscontrol=none|standard|all

Sets the level of logging for control messages. These messages normally come from Directory Server (MFDS) though they can come from other sources as well. These messages include server monitor probes, requests for log and dump data, and dynamic configuration changes.

none
Don't log control messages.
standard
Log control messages that update MFCS configuration or status. Don't log messages that just request information, such as the KEEPALIVE probe messages that MFDS uses to check if the enterprise server is still running.
all
Log all control messages.

You might want to set this to "all" if you are investigating a problem with the server monitor or other control flows, or set it to "none" if you want to avoid logging messages about configuration changes or other control requests.

Default = standard

Parent topic: Communications Process Log Files


dirsvc

dirsvc=none|unusual|processing|not-found|all
none

Don't log information about Directory Server activities.

unusual
Only log unusual results, such as duplicate object names, which may indicate configuration problems.
processing
Also log some messages about the progress of normal processing. This is the default.
not-found
Also log some messages about searches that return a not-found status. Normally these are not logged because MFCS expects some optional configuration items to be missing if they are not needed. In some cases, though, logging all not-found results may help diagnose configuration issues.
all

Log even more information, including normal MLDAP unbind operations.

Default: processing

Parent topic: Communications Process Log Files


Dumps and Traces

We recommend that you always run a production system with some diagnostics switched on. This is necessary so that you can diagnose unexpected problems. Diagnostics consume resources, and there is always contention between problem determination facilities and performance. You need to decide how important it is to be able to diagnose a problem the first time it occurs rather than having to try to recreate it or having to just turn on diagnostics and wait for it to reoccur. We suggest the following level of diagnostics as a minimum:

  • Turn on tracing for the application component.
  • Select dump on system abend.
  • Turn on the auxiliary trace and select a dump dataset size such that a minimum of 10 minutes of data can be held within a single trace dataset. If you set more trace points or transaction volumes increase, you will need to increase the diagnostic dataset size even more in order to achieve this objective.
  • Set the local trace table size to at least 70.

You might also need to turn on tracing for task control, storage control and application container components.

You specify settings for traces and internally triggered dumps on the Edit Server > Diagnostics page or the Control page of ESMAC. The trace flags on the ESMAC Control page that are equivalent to the trace flags on the Edit Server > Diagnostics page are as follows:

Edit Server > Diagnostics page | ESMAC Control page
Application | API
Task Control | KCP
Storage Control | SCP
Application Container | RTS

Settings you make on the Edit Server > Diagnostics page override those you make on the ESMAC Control page.

Dumps created when the system or a transaction abends are internally triggered dumps; as long as you have selected them on the Control page, they will be created when abends occur. You can also obtain an externally triggered dump, that is, a dump that is taken immediately in response to a command. There are several ways of initiating an externally triggered dump:

  • Click Create Dump on the Edit Server > Diagnostics > Dump page
  • Click Dump on the ESMAC Control page
  • Run the command casdump; for more information see the help topic casdump.
    Note: Note:

    casdump will not work if the Directory Server is running as a system service and you started the server from the Enterprise Server Administration interface, because the server will not be running under your user ID; in order for casdump to work you must do one of:

    • Run the Directory Server under your own user ID; see the section Starting and Stopping in the chapter Introduction to Enterprise Server Administration.
    • Run the Directory Server as a system service, but start the enterprise server using the command casstart (see the help topic casstart).
    • Run the Directory Server as a system service, but change the system service definition to use your user ID rather than LOCAL_SYSTEM. Note that this will prevent the enterprise server console window from being displayed; you can still view the console from the Administration Interface.

casdump gives you more flexibility. Run it first without the /d option, which means "do not lock shared memory":

casdump /res-name

Running without this option might cause the command to fail due to shared memory being changed by the running enterprise server while it is chasing and dumping storage chains. It is still worth running the command without the /d option, because it dumps all of shared memory as a block at the very beginning before it starts to chase chains and format blocks.

If the command hangs, you can run it again with the /d option:

casdump /res-name /d

This command might hang if the enterprise server fails in such a way that it leaves shared memory locked.

If you are planning to send the dump file to Micro Focus for investigation, you might also be asked to run the command with the /f option; this option dumps the FAQE chain (Free Area Queue Element) which provides more information about the use of shared memory.

An externally triggered dump is written to the dump X dataset, casdumpx.rec, if you specify the /d option, or the current dump dataset casdumpa.rec or casdumpb.rec if you do not specify it.

  • Producing a core dump for run-time errors
Parent topic: Collecting Information
Related information
To view a dump
To change the trace dataset
To transfer the in-memory trace data to the auxiliary dataset at rollover
casdump
casstart
Starting and Stopping the Directory Server


Producing a core dump for run-time errors

By default, Enterprise Server does not create a core dump for run-time errors. For example, by default, if the operating system detects a memory access violation caused by your application, no core dump is produced. You must configure the system to produce a core dump for these situations.

Once you have produced a core dump, you can debug the core dump to help determine the cause of the error.

Note:
  • This functionality is available for the Windows and AIX operating systems only.
  • The functionality does not identify memory corruption issues. You can use it to identify application problems only.

To configure the system so that it creates a core dump for run-time errors, you need to create a run-time tunable configuration file, and add the tunable configuration file's details to your Enterprise Server region.

  • To create a run-time tunable file, create a text file, for example COBCONFIG.CORE.TXT with the following entries:
    SET CORE_ON_ERROR=131
SET CORE_FILENAME="core.%p@%t_%d"
  • To add the configuration to Enterprise Server, add the entry to your Enterprise Server region configuration. When you start the region, core dumps will be produced by run-time errors. See the illustration below for an example.
Figure 1. Configuring Enterprise Server core dumps for run-time errors
Configuring Enterprise Server core dumps for run-time errors
Parent topic: Dumps and Traces


Data Capture

The minimum items for data capture are:

  • The enterprise server's System Directory. This contains:
    • The console log: console.log and console.bak
    • The communications process log file or files; see the section Communications Process Log Files.
    • The trace diagnostic datasets, casauxta.rec and casauxtb.rec.
    • The system abend dump, if one exists (casdumpa.rec, casdumpb.rec or casdumpx.rec).
    • The externally triggered dump (filenames as for the system abend dump).
    Note:

    If the enterprise server is running under the Windows LocalService account, the directory may be hidden by Windows. See System Directory for more information.

  • A copy of the file cobver (install-dir\base\bin\cobver if Enterprise Server is installed as part of Studio Enterprise Edition, or install-dir\bin\cobver if Enterprise Server is installed standalone), which holds the name and version of the product you are using.
  • A copy of install-dir\base\bin\mf-server.dat , if it exists.
  • The Directory Server configuration directory, usually under theC:\Documents and Settings\All Users\Application Data\Micro Focus\ folder, in a sub-directory named <product name>\X.X\MFDS
  • The Directory Server log file (usually under the C:\Documents and Settings\All Users\Application Data\Micro Focus\ folder, in a sub-directory named <product name>\X.X\journal.dat); see the section Directory Server Journal.
  • Logs for other components that may be enabled such as Fileshare and FaultFind.
  • A list of processes running on the machine. You should obtain two lists - one at the beginning of the data capture list, and one at the end. You can obtain this from the Windows Task Manager.
  • A list of shared memory areas and semaphores. You can obtain this using third-party tools such as Process Explorer.
  • A list of network connections and listening sockets, obtained by running the netstat command.
  • Optionally, a list of open files. You can obtain this using third-party tools such as Process Explorer.
Note:
  • The operating system tools that you can use to obtain information such as Process Explorer provide a range of options. You can obtain advice on the most useful options from Micro Focus technical support.
  • Many of these items are held in the enterprise serve directory, so it's best to start by taking the whole directory

It is important that the data capture process is non-destructive, that is, does not damage a healthy system, and that it is non-blocking, that is, does not wait on anything that may not complete in a sick system.

Parent topic: Troubleshooting
Related information
System Directory
Communications Process Log Files
Directory Server Journal


Checking the Communications Process

When you take the data capture, you should also check that the communications process (MFCS) is still running. If it is, you can then check what it is currently doing. To do this:

  1. Write down the hostname of the machine where the Enterprise Server instance is running.
  2. Go to the Enterprise Server Administration Web interface. In the list of servers on the Home page, find the Enterprise Server instance that you want to check. The Communications Processes column lists one or more communications processes for that server. Write down each of the port numbers shown in the column. (The port number is the last part of the address, after the second colon.)
  3. In a web browser, go to the following URL:
    http://hostname:port/MF_KEEPALIVE

    where hostname is the hostname (or IP address) from step 1 and port is the first port number from step 2.

    If MFCS is working correctly, you should see a response similar to the following:

    Server=ESDEMO
ServerType=GKC
Version=1.2.5
Status=Started
  4. Repeat step 3 using "MF_STATISTICS" instead of "MF_KEEPALIVE". You then see a response showing what MFCS is currently doing, how many conversations it has processed, and other information.

If you are running multiple communications processes, you can check each one in turn using this method. Each of the port numbers you recorded in step 2 corresponds to a communications process. Note that some of your communications processes for a given server may be disabled; they do not need to be checked.

Parent topic: Troubleshooting


Using the Console Logs

For each Enterprise Server instance, you can view the console logs to help identify the cause of any problems. There are two consoe logs available:

  • The server console log (ES Console on the ESMAC tab menu) provides information about the server instance. This includes such details as when the server was started or stopped, the SEPs that were created, and so on.
  • The communications console log (CS Console on the ESMAC tab menu) provides information on the communications processes.
  • To View the Console Log for an Enterprise Server Instance
Parent topic: Troubleshooting


To View the Console Log for an Enterprise Server Instance

  1. On the Home page click Edit to the left of the server whose console log you want to view.
  2. Click the Diagnostics tab.
  3. Click the ES Console tab.
  4. If you want to see the whole log since the server was started, click Show Entire Log. The log opens in a text editor window.
  5. To return to ESMAC, click Back in your browser.

You can display the console log by clicking Display in the Diagnostics group of the left-pane menu when it is available. To return to ESMAC, click Back in your browser.

Parent topic: Using the Console Logs
Parent topic: Work with Servers


Using a Diagnostics Server

You can obtain the most value from the diagnostics aids if you use a dedicated Enterprise Server instance solely for investigating problems. This Enterprise Server instance is a diagnostics server.

You can then generate dumps and traces from the diagnostics server and compare them with the dump and trace data collected from the live server that experienced the problem.

  • Configuring a Diagnostics Server
  • Moving the Diagnostics Data
  • Viewing the Diagnostic Server Console Log
  • Viewing a System Trace: Diagnostics Example
  • Viewing a Dump
Parent topic: Troubleshooting


Configuring a Diagnostics Server

A diagnostics server is the same as any other Enterprise Server instance, that is it does not provide any additional diagnostics facilities.

The only difference is that a diagnostics server is configured not to produce any diagnostic information itself. This allows it to be used to process the diagnostic information from another server. The figure below shows the recommended configuration for a diagnostics server.

Figure 1. Configuration for a Diagnostics Server
Configuration for a Diagnostics Server
Parent topic: Using a Diagnostics Server


Moving the Diagnostics Data

Before you can start work on the data collected from the server that experienced the problem, you need to copy it into the diagnostics server. Here are the commands you need to move the collected data and the log files into a diagnostics server, assuming that:

  • you are in the System Directory of the enterprise server that experienced the problem
  • the diagnostics server is using the default System Directory location and %SystemDrive% is C:
In the examples below, Enterprise Server is installed as part of Studio Enterprise Edition. In the examples, replace Studio Enterprise Edition with the name of the product you installed:
copy *.rec "C:\Documents and Settings\username\My Documents\Micro Focus
\Studio Enterprise Edition X.X\WORKAREA\diagnostics-server-name"
copy console.log "C:\Documents and Settings\username\My Documents\Micro Focus\
Studio Enterprise Edition X.X\WORKAREA\diagnostics-server-name\console.aux"
copy console.bak "C:\Documents and Settings\username\My Documents\Micro Focus\
Studio Enterprise Edition X.X\WORKAREA\diagnostics-server-name\console.bak"

Here is a sample script that copies the required data to a diagnostics server called diagnose. In the examples, replace Studio Enterprise Edition with the name of the product you installed:

copy *.rec "C:\Documents and Settings\username\My Documents\
Micro Focus\Studio Enterprise Edition X.X\WORKAREA\diagnose\"
copy console.log "C:\Documents and Settings\username\My Documents\Micro Focus\
Studio Enterprise Edition X.X\WORKAREA\diagnose\console.aux"
copy console.bak "C:\Documents and Settings\username\My Documents\Micro Focus\
Studio Enterprise Edition X.X\WORKAREA\diagnose\console.bak"

Restart the server that experienced the problem after you have moved the data to the diagnostics server.

Parent topic: Using a Diagnostics Server
Related concepts
Enterprise Server System Directory
Moving the Diagnostics Data


Viewing the Diagnostic Server Console Log

Extra options exist for viewing a diagnostic server's console log. These commands are available with any Enterprise Server instance, but they are useful only in the context of a diagnostics server with the diagnostic files loaded from the problem server, copied using the commands described in Moving the diagnostics data.

To access the diagnostic server's ESMAC screen:

  1. In the Enterprise Server Administration screen, click the diagnostic server's Details button to access the server's Details screen.
  2. On the Details screen, click the ES Monitor & Control button to access the diagnostic server's ESMAC screen.

To use these extra options:

  • In the left pane in the Diagnostics area, select the Log and the C/x radio buttons (for current), then Display to view the current console log file, that is, the console.log file of the diagnostics server.
  • In the left pane in the Diagnostics area, select the Log and B radio buttons (for backup), then Display to view the backup console log of the problem server (console.bak). Note that this works only if you copied the data collection into the diagnostics server after you started it, because the process of starting it replaces the backup console log from the problem server with the backup console log of the diagnostics server
  • In the left pane in the Diagnostics area, select the Log and A radio buttons (for auxiliary), then Display to view the console log of the problem server (copied to console.aux)
Parent topic: Using a Diagnostics Server


Viewing a System Trace: Diagnostics Example

This subject is covered in the help topic To view a system trace. However, the options are complex and it is worth looking at an example.

To obtain a trace of the system trace table:

  1. In the Enterprise Server Administration screen, click the diagnostic server's Details button to access the server's Details screen.
  2. On the Details screen, click the ES Monitor & Control button to access the diagnostic server's ESMAC screen.
  3. In the Diagnostics area in the left pane, select the Trace radio button, and select either the A or B radio button to select the A or B dataset. (Don't select C, since the in-memory trace table belongs to the diagnostics server).
  4. In the Blocks field, specify the number of trace blocks that are to be aggregated into one trace index entry.
  5. Click Display.
Figure 1. Trace Index Page
Trace Index Page

Each block is the same size as the system trace table, that is, it contains the number of trace entries specified in Trace Table Size on the Edit Server page for the server. The index entries are displayed with a timestamp against each one. This is the timestamp of the first trace entry in each set of blocks. These timestamps help you narrow down your search to particular events.

To view the actual trace, go to one of the index entries, and make selections in the following fields:

  • In Blocks (immediately to the right of Details), specify how many blocks you want to be included in the trace. This defaults to the value you entered in Blocks in the Diagnostics group of the menu. You can change it to any value you want. Having two Blocks controls helps you control what is displayed in the formatted trace more precisely.
  • In Level, (the next control to the right), specify the level of detail that you want to see in the formatted trace. The options are:
    0 | Service start, module start, module end, service end. This is the default.
    1 | Enterprise server API entries and exits
    2 | Subsystem trace entries
    3 | All entries where it is possible to provide some formatting of the data
    4 | All trace entries
  • In PIDs (next to the right), check the check boxes for the process IDS of the processes in which you are interested. Check boxes are provided for all the processes that have trace entries in the blocks represented by this trace index entry. Process IDS are prefixed with a letter or number indicating the function of the process. The following letters are used:
    C | communications process (MFCS)
    F | Fileshare server (internal)
    J | journal control
    M | server manager
    R | recovery
    S | service execution process (SEP)
    U | unknown
    Z | generic terminal or client
  • In Task IDs (next to the right), check the check boxes for the task IDS of the tasks in which you are interested. Check boxes are provided for all the tasks that have trace entries in the blocks represented by this trace index entry.

The Level, PIDs and Task IDs controls are filters that help you select just the specific information of interest. If you leave the level as 0, the default, and don't check any process IDs or task IDs, you will see the minimum level of information for all processes and tasks that have entries in the block represented by the trace index entry. Note that it is possible to make selections such that no trace information is generated. This happens if you select both processes and tasks, and none of the selected tasks ran on the selected processes; a task cannot run on more than one process. If a task requires communications work, that work has its own process and task, and there is no automated way of relating the two task IDs. You always see the first trace entry in the block, irrespective of filtering.

Here is an example of how you can use the controls to select the information you want to see. Suppose you specify 10 in Blocks in the Diagnostics group of the menu. There are actually 60 blocks of information in the dataset, so 6 index entries are displayed. Suppose you were interested in a particular SEP, which you can see listed in the third and fourth index entries. You might then specify 20 in Blocks for the third index entry, check the box next to the process ID for the SEP, then click Details. Now you can only see trace entries for that SEP, in all the blocks that contain them, starting with the first block of the third index entry.

Each trace entry contains the following information:

Heading | Contents
None | An interpretation of the traced event, if one can be supplied
Seq | Sequence number of the entry in ascending order
Task-Nbr | The five-digit task number
ProcessID | The five-digit process ID
ID | the ID of the event, command, or instruction that was traced. This is a four-byte hexadecimal number.
hhmmsshh | A time stamp that indicates when the trace entry was written. The time stamp is in hours, minutes, seconds, and hundredths of a second.
aaaa bbbb | Eight bytes of entry-specific data

When you have finished viewing a trace, click Back to return to the trace index page.

Parent topic: Using a Diagnostics Server
Related tasks
To View a System Trace


Viewing a Dump

This topic provides an example of viewing a dump to locate the source of a problem.

You can obtain either a summary or a detailed dump. The summary information is included at the end of a detailed dump. Dumps whether summary or detailed include both system traces and local traces (traces for SEPs).

To access the diagnostic server's ESMAC screen:

  1. In the Enterprise Server Administration screen, click the diagnostic server's Details button to access the server's Details screen.
  2. On the Details screen, click the ES Monitor & Control button to access the diagnostic server's ESMAC screen.
  3. In the Diagnostics area in the left pane, select the Dump radio button, and select either the A or B radio button to select the A or B dataset. Select C to select the dump X dataset (the one created by an externally triggered dump).

    Ignore Blocks - it has no effect on the output.

  4. Click Display.
Figure 1. Dump Index Page
Dump Index Page

The index entries are displayed with the following information against each one:

  • The process ID
  • A code that helps identify the dump
  • The origin of the dump request
  • A date and timestamp

To view a dump, go to one of the index entries, and in Level, (the third control to the right), specify the level of trace detail that you want to see in the formatted dump. The options are:

0 | Service start, module start, module end, service end.
1 | Enterprise server API entries and exits
2 | Subsystem trace entries
3 | All entries where it is possible to provide some formatting of the data
4 | All trace entries. This is the default

Local trace tables (traces for SEPs) only have levels 0 and 1.

Note that this option has an effect on what you see in a detailed dump, but not in a summary dump.

Then click Details to see a full dump or Sum to see a summary dump.

When you have finished viewing a dump, click Back to return to the dump index page.

Parent topic: Using a Diagnostics Server
Related tasks
To View a Dump


What You Can Do with Dumps and Traces

This section details the tasks that you can perform on dumps and traces.

  • To Change the Trace Dataset
  • To Configure Dumps
  • To initiate a system dump
  • To specify what information is traced
  • To Transfer the In-memory Trace Data to the Auxiliary Dataset at Rollover
  • To View a Dump
  • To View a Local Trace for a Client Process
  • To View a Local Trace for a SEP
  • To View a System Trace
  • To Configure Run-time Core Dumps
Parent topic: Troubleshooting


To Change the Trace Dataset

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To change the trace dataset

  1. In the left pane, click Control.

    The Control page is displayed.

  2. Click Trace n, Switch (where n is A or B). If the dataset is currently set to A, it is switched to B. If it is B, the dataset is switched to A.
Note:

By default, the enterprise server uses the A dataset to record trace information.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC


To Configure Dumps

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To configure a dump:

  1. Click Control.

    The Control page is displayed.

  2. Check Dump on Abend, Sys if you want a dump created if the system abends. Click Dump on Abend, Trans if you want a dump created if the service abends. You can check both check boxes if you want to create dumps on both types of abend.
Note:

By default, the enterprise server uses the A dataset to record dumps. If you want to change the dataset, click Dump n, Switch (where n is A or B). If the dataset is currently set to A, it is switched to B. If it is B, the dataset is switched to A.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC


To initiate a system dump

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To initiate a system dump

  1. Click Control.

    The Control page is displayed.

  2. Click Dump.
Note:

You can also initiate a system dump using Enterprise Server Administration.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC


To specify what information is traced

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To specify what information is traced

  1. Click Control.

    The Control page is displayed.

  2. Check the required check boxes in the Trace Points group.

    The help for the Control page explains the meaning of each check box.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC


To Transfer the In-memory Trace Data to the Auxiliary Dataset at Rollover

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To transfer the in-memory trace data to the auxiliary dataset at rollover

  1. Click Control.

    The Control page is displayed.

  2. Check Active Trace DS, active
Note:

By default, the enterprise server uses the A dataset to record trace information.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC


To View a Dump

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To view a dump

  1. Click Dump in the Diagnostics group.
  2. Click A or B to select the dump dataset, or C to select the X dataset.
  3. Click Display.

    A list of dumps is displayed.

  4. For the dump you want to display, in the field below the heading Level, choose a level of trace information to be included in the trace tables in the dump. The larger the number, the more detail will be shown. The options are:
    0 | Service start, module start, module end, service end. This is the default.
    1 | Enterprise server API entries and exits
    2 | Subsystem trace entres
    3 | All entries where it is possible to provide some formatting of the data
    4 | All trace entries

    Each level includes all lower-level information. Local trace tables (traces for SEPs) only have levels 0 and 1.

  5. For the dump you want to display, click Details to see a detailed dump or Sum to see a summary dump.

    The dump is formatted and displayed. To return to ESMAC, click the Back button in your browser.

Note:

The X dataset contains dumps triggered by the external command casdump /d. You use casdump /d when a dump cannot be obtained normally; for example, when the enterprise server is not responding and shared memory is locked. The dataset has the filename casdumpx.rec.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC
Related concepts
Viewing a Dump
Related reference
casdump
Related information
To create an ESMAC user
To start ESMAC for a server
To monitor services
To configure dumps
To initiate a system dump
To specify what information is traced
To change the trace dataset
To transfer the in-memory trace data to the auxiliary dataset at rollover
To view a system trace
To record service input and output
To view a local trace for a SEP
To view a local trace for a client process
To kill a SEP
To reply to an ACCEPT FROM CONSOLE statement
To shut down a server
Troubleshooting


To View a Local Trace for a Client Process

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To view a local trace for a client process

  1. Click Clients in the menu.
  2. Click Trace next to the client process for which you want to view a local trace.

    The trace is formatted and displayed. To return to ESMAC, click Back in your browser.

Note: Local traces are available only for MQSeries listeners and communications processes (MFCS).
Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC


To View a Local Trace for a SEP

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To view a local trace for a SEP

  1. Click SEPs in the menu.
  2. Click Trace next to the SEP for which you want to view a local trace. Auxiliary processes are listed underneath SEPs, and you can obtain traces for some of them: the Fileshare process, JCP (journal control program), and TDP (extra-partition transient data process).

    The trace is formatted and displayed. To return to ESMAC, click Back in your browser.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC


To View a System Trace

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To view a system trace

  1. Click Trace in the Diagnostics group.
  2. Click A or B to select the dataset, or C to select the in-memory trace table.
  3. Specify the number of trace blocks that are to be aggregated into one trace index entry in Blocks in the Diagnostics group. This defaults to 10.
  4. Click Display.

    A list of traces is displayed: this acts as an index to the detailed trace information. For each entry in the index list the following information is shown, from left to right:

    • The process IDs of all processes that have entries in the blocks represented by this trace index entry.
    • The task IDs of all tasks that have entries in the blocks represented by this trace index entry
    • The date and time stamp of the first entry in the trace.
  5. If you want to change the number of blocks to be included in the Details, specify a new number of blocks in the field immediately to the right of Details and below the heading Blocks (this defaults to the number you entered in the Diagnostics group).
  6. In the next field, below the heading Level, choose a level of tracing where the larger the number, the more detail will be shown. The options are:
    0 | Service start, module start, module end, service end. This is the default.
    1 | Enterprise server API entries and exits
    2 | Subsystem trace entres
    3 | All entries where it is possible to provide some formatting of the data
    4 | All trace entries

    Each level includes all lower-level information.

  7. In the next group of fields, below the heading PIDs, if you don't want to see trace entries for all processes, check the check boxes next to the process IDs that you do want to see details for.
  8. In the next group of fields, below the heading Task IDs, if you don't want to see trace entries for all tasks, check the check boxes next to the task IDs that you do want to see details for.
  9. Click Details for the trace you want to display.

    The trace is formatted and displayed. To return to ESMAC, click Back in your browser.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Administer a Server Using ESMAC
Related concepts
Viewing a System Trace: Diagnostics Example
Related information
To create an ESMAC user
To start ESMAC for a server
To monitor services
To configure dumps
To view a dump
To initiate a system dump
To specify what information is traced
To change the trace dataset
To transfer the in-memory trace data to the auxiliary dataset at rollover
To record service input and output
To view a local trace for a SEP
To view a local trace for a client process
To kill a SEP
To reply to an ACCEPT FROM CONSOLE statement
To shut down a server
Troubleshooting


To Configure Run-time Core Dumps

By default, Enterprise Server does not create a core dump for run-time errors. To configure an Enterprise Server region to produce a core dump for run-time errors:

  1. Create a run-time tunable text file, for example COBCONFIG.CORE.TXT with the following entries:
    SET CORE_ON_ERROR=131
SET CORE_FILENAME="core.%p@%t_%d"
  2. Access the Enterprise Server Administration screen, and in the Status column, click the Details button for the Enterprise Server instance.
  3. To add the configuration to Enterprise Server instance, add the entry to your Enterprise Server region configuration. When you start the region, core dumps will be produced by run-time errors. See the illustration below for an example.

Parent topic: What You Can Do with Dumps and Traces
Parent topic: Monitor Directory Server


Enterprise Server Administration Console Help Pages

The topics in this section contain the context-sensitive information that relates to the Enterprise Server user interface.

A version of this help is available directly from the Enterprise Server administration user interface.

Note: While the information available from the user interface still applies, this version is the most current.
  • Enterprise Server Administration Side Bar Menu
  • Enterprise Server Administration Home Page
  • Edit Server Instance Properties
  • Listeners
  • Services
  • Handlers
  • Packages
  • Security Configuration Screen Help
Parent topic: Enterprise Server Configuration and Administration


Enterprise Server Administration Side Bar Menu

The sidebar appears at the left of the Enterprise Server Administration screen. It contains the folllowing areas and options:

Home

Click this to return to the Home page.

Actions

These menu options provide administrative actions. The options that are displayed in this area varies depending on the user's permission level.

Renew

Click this to refresh the IP address information cached by your Directory Server. Use this option when the IP address of the machine running your Directory Server changes.

Directory Server uses the IP address to locate the servers that it manages. When the cached IP address is out of date, Directory Server may be unable to connect to its servers and may report inaccurate information to clients.

Export

Click this to show the Export page. This page enables you to save a copy of the whole repository to a location of your choice. This menu option is available only if you logged on with Administrator or Schema Administrator permission level.

Import

Click this to show the Import page. This page enables you to update the repository with additional objects from an import directory. Imported objects can include servers (along with all of their child objects), and Security Manager definitions. This menu option is available only if you logged on with Schema Administrator permission level.

Delete All

Click this to show the Delete confirmation page. This page enables you to confirm that you want the repository to be completely erased and all registered objects to be deleted. This menu item is available only if you logged on with Schema Administrator permission level.

Logon

Click this to show the log on page. This menu option is shown only if the session is not currently logged on and the User Access setting on the Options page is "Restricted".

Logoff

Click this to log off from an administrative session that is currently logged on. There is no log off confirmation. This menu option is shown only if the session is currently logged on and the User Access setting on the Options page is "Restricted".

Configure

The heading for the menu option that enables you to configure Directory Server. This menu heading and its associated menu option are available only if you logged on with Administrator permission level or higher.

Options

Click this to show the Directory Server Options page. This page enables you to configure the Directory Server.

Security

Click this to show the pages used for configuring security options.

Display

The heading for menu options that enable you to view information about the state of the Directory Server and about the events that have taken place on the server.

Directories

Click this to show the Directories page. This page lists all the instances of Directory Server that are running on the network and using the default Directory Server port (86).

Statistics

Click this to show the Statistics page. This page shows statistics and status information about Directory Server.

Sessions

Click this to show the Sessions page. This page shows the list of currently logged on Web browser client sessions, and also any bound program client sessions.

Journal

Click this to show the Journal page. This page shows the Directory journal, which is a record of Directory Server activity.

Shut Down

Click this to show the Shut Down confirmation page. This page enables you to shut down the Directory Server. This menu option is available only if you logged on with Schema Administrator permission level This menu option is available only if you logged on with Schema Administrator permission level and Directory Server is not running as a Windows service.

Help

The heading for menu options that enable you to view documentation about the Directory Server and Enterprise Server Administration.

This page

Click this to view help for the page you are currently viewing and for all the controls on the page.

Contents

Click this to view the Contents of the Enterprise Server documentation.

CAUTION:
This version of the help has not been updated to reflect the latest product changes. For the latest help, go to the Micro Focus Product Documentation site.
Note:

For this link to work, you must be using an enterprise server that has a Web listener with the following entry in the [virtual paths] section:

  • For Windows systems:
    docs=<ES>/help
  • For UNIX systems:
    docs=<ES>/docs/html

This enterprise server must be started.

The default enterprise server, ESDEMO, has a web listener with this configuration information. When you create a new enterprise server, a Web listener with the required configuration information entry is automatically created.

Support

Click this to contact Micro Focus Technical Support via the Supportline website to report problems or ask any questions about using Micro Focus software.

Feedback

Click this to open your email client and send general feedback to Micro Focus.

  • Export
  • Import Server Information: Enterprise Server
  • Configure Repository Options
  • Display Directories
  • Display Statistics
  • Display Sessions
  • Journal
Parent topic: Enterprise Server Administration Console Help Pages


Export

Target directory

Use this page to save all server information in the Directory Server repository to a backup location.

Specify the name of the directory the server information will be exported to. If the directory does not exist, the export process will attempt to create it.

Export options:

You use these radio buttons to choose which information is included in the export. You can choose to:

  • Export Enterprise Server configuration and Security Manager definitions

    This will export all of the configuration information for your Enterprise Servers. It will also export the pool of Security Manager definitions, and the Security Manager lists for your servers, along with security configuration details. (A Security Manager list indicates which managers are used by a given server.)

  • Export just the current Enterprise Server configuration

    The Security Manager definitions, Security Manager lists and security configuration details will not be included in the export.

  • Export just the Security Manager definitions

    Only the pool of Security Manager definitions will be exported. This will not include the security configuration details or the Security Manager lists.

    Note:

    Security Manager lists are only exported when you choose the first of these options.

When you import, you can choose whether to include or exclude security details, if these have been exported. Where the import excludes the security details, or where the security details were not included in the export, the imported servers will use the Default ES Security configured on the importing system.

Where the import includes security details, all existing security information - the Security Manager pool, Security Manager lists and other security configuration details - will be removed and replaced with the imported information. One consequence of this is that servers that are not replaced during the import will have their security details set to use the Default ES Security configuration.

Parent topic: Enterprise Server Administration Side Bar Menu


Import Server Information: Enterprise Server

Use this page to import server definitions. The effect of this is to add the servers and their child objects (services, listeners, etc.) to your current repository.

Selected source directory containing server data to be imported

Specify the type and location of the directory from which data is to be imported. The source directory should have been previously populated by a repository export, an export of an individual Enterprise Server, or a compatible process. It can be a file system location or an LDAP repository.

For file system storage, the location is the directory in which the exported data is stored.

For LDAP storage, the location is the address of the LDAP server containing the exported data.

Note:

When you specify ldap:// as the directory type, additional fields are displayed for specifying the container in which the data is stored, and the LDAP user credentials required to read from the container.

Repository Container Distinguished Name

The distinguished name of the LDAP container in which the exported data is stored.

User DN:

The distinguished name of the LDAP user with which to access the repository. This user must have permission to read from the container.

User Password:

The password of the user with which to access the repository.

Recent directories

This contains a list of directories from which you have previously imported data.

Note:

By default the directory will only be added to the list if the import is successful, but you can choose to include the directory even if the import fails.

Delete

This button enables you to remove an entry from the list of recent directories.

Parent topic: Enterprise Server Administration Side Bar Menu


Configure Repository Options

Use this page to change configuration settings for the Directory Server.

Repository Location

Specify the type of storage and the location containing the repository. You can store the repository in the file system or in an LDAP repository.

For file system storage, the location is the directory in which the repository data will be stored.

For LDAP storage, the location is the address of the LDAP server that will be used.

In order to store the repository in an LDAP server, the server must be updated to support the Micro Focus configuration objects.

CAUTION:

If you change the location and the destination already contains a repository, you will be warned and given the opportunity to overwrite it or to cancel the operation.

Note:

When you specify ldap:// as the storage mechanism, additional fields are displayed for specifying the container in which the data will be stored, and the LDAP user credentials required to write to the container.

Repository Container Distinguished Name

The distinguished name of the LDAP container in which the repository is to be stored.

User DN:

The distinguished name of the LDAP user with which to access the repository. This user must have permission to read and write to the container.

User Password:

The password of the user with which to access the repository.

Parent topic: Enterprise Server Administration Side Bar Menu


Display Directories

Use this page to view a list of all MF Directory Server instances that are running on the local network and using the default MF Directory Server port (86).

Version

Shows the version of the Directory Server software in use.

IP Address

Shows the IP address of the machine on which the Directory Server is running.

DNS Resolved Hostname

Shows the DNS-resolved hostname of the machine on which the Directory Server is running. If there is a right-pointing arrow next to this name, you can click it to open Enterprise Server Administration for the instance of Directory Server running on the other machine. What you can do depends on how security has been configured on the other machine.

Parent topic: Enterprise Server Administration Side Bar Menu


Display Statistics

Use this page to view statistics and status information about the Directory Server.

Repository

This table shows information about the repository.

Location

Shows the directory containing the repository of all registered object information. If the path is relative it is relative to the Directory Server current directory.

Status

Shows the last action performed on the repository.

Objects

This table contains statistics about the objects stored in the local repository.

Servers

Shows the number of servers stored in the local repository.

Communications processes

Shows the number of communications processes stored in the local repository.

Listeners

Shows the number of listeners stored in the local repository.

Services

Shows the number of service operations stored in the local repository.

Handlers

Shows the number of request handlers stored in the local repository.

Packages

Shows the number of implementation packages stored in the local repository.

XA Resources

Shows the number of defintions of XA resources stored in the local repository.

Total Count

Shows the total number of objects stored in the local repository.

Request Processing

This table contains information about incoming client requests.

TCP Requests

Shows the number of TCP requests received since the Directory Server was started. These can come from either program clients or Web browser clients.

UDP Requests

Shows the number of UDP requests received since the Directory Server was started. These come only from program clients.

MLDAP Requests

Shows the number of TCP or UDP MLDAP requests received since the Directory Server was started. These can be generated by enterprise servers or program clients

Maximum Thread Count

Shows the maximum number of concurrent MLDAP requests that have been processed at any time since the Directory Server was started

Current Thread Count

Shows the number of MLDAP requests currently being processed.

Options

This table contains some of the current Directory Server option settings.

User Access

Shows what level of access is available to users. Possible values are:

Restricted | Access is allowed only by an authorized user who has logged on.
Unrestricted | Access is allowed by any user.
Server Monitor

Indicates whether the server monitor is currently active or not. The server monitor checks whether all enterprise servers registered with the Directory Server and not marked "Stopped" are responding to potential client requests. If they are, their status is marked as "Started", otherwise, if they are currently marked as "Started" and they are not responding, they are marked as "Not Responding".

Having the server monitor on ensures that the Current status field for a server is up to date, even if the server itself cannot contact the Directory Server for some reason, for example, a network connection or machine failure.

You can enable and disable the server monitor and change the time interval between checks on the Configure Options page.

Journal Level

Indicates what level of journal logging is in force.

Paths

This table contains the paths that the Directory Server is using for its own resources.

COBDIR

Shows the setting of the COBDIR environment variable, which holds the location of your installed development system or standalone Enterprise Server. This field might be empty if the Directory Server is being run as a Windows service, as this environment variable is not one that is set by the Windows system.

Executables

Shows the location of the system programs that make up Enterprise Server.

Artwork

Shows the location of the graphics files that the Directory Server uses in its interface.

Help and documentation

Shows the location of the documentation for Enterprise Server.

Trace and journaling

Shows the location of the trace files and journals created by Enterprise Server.

Parent topic: Enterprise Server Administration Side Bar Menu


Display Sessions

Use this page to view a list of currently logged on Web browser clients and program clients. The sessions may be really active, or they may be dormant but not yet removed because the time period between inactivity and removal has not yet been exceeded.

Session ID

Shows the unique identifier string of the session. The session ID is in the format userid-string where userid is the user ID that was used to authenticate the session and string is a unique internal identifier for a Web browser session. string is not present for a program client.

Last Active

Shows the local date and time that the session last requested a response from the Directory Server, for example, a browser refresh or a client program request.

Permission Level

Shows the permission level of the session user. The possible values are:

Unauthenticated | The user is a program client that is performing a query and does not need to be authenticated.
Modify | Values stored in the schema can be modified.
Add/Delete | Values stored in the schema can be modified and objects can be added and deleted. This is normally the highest permission level a program client would need.
Administrator | All of the above, plus objects can be backed up, imported, and the Directory Server can be remotely terminated.
Schema Administrator | All of the above, plus users can be added, modified and deleted and the entire repository can be deleted.
Session Type

Shows the type of user session. The possible values are:

UI | Web browser client
API | Program client
Parent topic: Enterprise Server Administration Side Bar Menu


Journal

Use this page to view the journal, a file that records some of the Web browser client and program client activity occurring on the Directory Server.

Note:
  • You can scroll up and down the list of entries using the scroll buttons on the right-hand side of the table.
  • The most recent entries are shown first.
Entries generated

Shows the total number of journal entries generated since this journal file was started. This could be the same or more than the value in Entries held, depending on whether the oldest entries have been overwritten by more recent ones.

Entries held

Shows the total number of journal entries currently stored in the journal file. The maximum value is determined by the configured maximum journal file size; once it is reached, new journal entries overwrite the oldest journal entries.

Journal Size

Shows the current size of the journal file in bytes.

Entry

Shows the entry number of the journal record. When the journal file is restarted or deleted, the entry number is reset back to 1, and is sequentially incremented for each following journal entry.

Time

Shows the local date and time that the journal record was written to the journal file.

Requester

Shows the unique identifier string associated with a particular session. For a Web browser session logged onto the user interface, this is the same identifier as appears in the top right-hand corner of the Web page. For a program client session, the source network address for the request is also shown.

If no requester identifier is shown, the journal event was generated by an internal action or there was no information available about the requester.

Event

Shows the text of the journal event, up to 128 characters.

Green text indicates that the journal event has been generated by program client requests.

Red text indicates that the journal event has been generated by Web browser requests.

Black text indicates that the journal event has been generated by the Directory Server itself.

Delete

Click this to delete this journal and start a new one. You might want to do this if you are debugging a problem with a service and you want a well-defined journal starting-point.

Export As Text

Click this to export the journal entries to a text file. The text file will be called journal.txt and will be saved in your Documents and Settings\All Users\Application Data\Micro Focus\NetExpress\5.0 directory on Windows or your /var/mfcobol/logs directory on UNIX. You might do this to load the journal file in a text editor to search for events involving specific objects or to annotate entries.

If the journal.txt already exists, it will be overwritten.

Parent topic: Enterprise Server Administration Side Bar Menu


Enterprise Server Administration Home Page

Important: Use the Help > This Page option in the left side-bar to display up-to-date context help on the current Enterprise Server screen. To access up-to-date Enterprise Server product help, go to the Micro Focus Product Documentation site.

This is the Enterprise Server Administration home page that lists the Enterprise Server instances. It is displayed:

  • When you have just logged onto Enterprise Server Administration
  • Any time you click Home at the top of the menu bar on another page.

You use this page as a starting point for all the administration functions.

From this page you can:

  • Add a server
  • Change the attributes of a server
  • Change the status of a server
  • Go to a more detailed view of the listeners, services, request handlers and implementation packages.
Note:

The options available to you depend on the permissions granted to the user groups of which your user account is a member. Those options that are not available to you are hidden.

Use the side bar menu items to access your installation's configuration options, maintained on the Micro Focus Dirctory Server (MFDS).

Expand/Contract button

Click [image] in the left-hand corner of the servers table to see an expanded version of the information in the Objects column, or [image] to see a contracted version of the information in the Service Listeners, Services, Request Handlers and Implementation Packages columns.

Refresh Icon

Click Refresh to update the display to show changes in the server status and attributes.

Show

Specify the number of servers to show at a time. Click Refresh to update the screen display.

Previous

Click this to view the previous page of servers. You can click this only if the number of servers is greater than can be shown on one page.

Next

Click this to view the next page of servers. You can click this only if the number of servers is greater than can be shown on one page.

Filter

Click this to update the display according to the Type, Name and Status attributes selected.

Filter by Type

Select the type of server from the drop-down list that you want to be displayed in the server list. Click Refresh to update the screen display with your selection.

Filter by Name

Type the name of the server you want to see in the server list. You can use wildcard characters '*' and '?' to modify your criteria. Click Refresh to update the screen display with your selection.

Filter by Status

Select the status from the drop-down list to display a list of matching servers. Click Refresh to update the screen display with your selection.

Delete

Click this to delete this server. You can see this only if this server is a CCI server.

Edit

Click this to edit configuration settings for this server.

Type

Shows the server type. There are two types of server:

  • MFES

    A Micro Focus enterprise server. This is a server type that provides a run-time environment for COBOL programs running as services. MSS in parentheses after MFES indicates that the server has Mainframe Subsystem Support (MSS) enabled.

  • MFCCI

    A Micro Focus Common Communications Interface server. This is a server that provides services using the Common Communications Interface (CCI), using the Directory Server as a naming service instead of registering with a CCITCP2 process.

The icon in the Type column will display '64' if the server has been set up for 64-bit working mode.

You can start and stop enterprise servers using Enterprise Server Administration. You cannot start and stop MFCCI servers from Enterprise Server Administration; if an MFCCI server is running on the network and has been configured to use the Directory Server, it appears in the list of servers automatically, with the status "registered". For more information about CCI, see your Configuring CCI book.

Name

Shows the name of the server.

Current Status

Shows the current status of this server. The possible values are:

Stopped | The server is currently not running.
Stopping | The server is currently in the process of terminating. This is normally a short-lived status value which should be shortly followed by a change to the value "Stopped".
Started | The server is currently running and can respond to client and server requests.
Starting | The server is currently in the process of starting. This is normally a short-lived status value which should be shortly followed by a change to the value "Started".
Not Responding | The server process was previously marked as "Started", but the server monitor has subsequently not been able to contact it. There may be some network connection error, or the server itself may have abnormally terminated without first marking itself as "Stopped".
Invalid | An error has occurred such that it has not been possible to set the status to any other value.
Registered | This status is applicable only to CCI servers. It indicates that the Directory Server has been notified that a CCI server has started.
Start

Click this to start the server. You cannot see this push button unless the server has the status "Stopped" .

Current Status Details

Click this to move to a page giving more detailed information about the current status of the server. You cannot see this push button when the server has the status "Stopped".

Stop

Click this to start the server. You cannot see this push button unless the server has the status "Started" or "Not Responding".

Communications Processes

Lists the communications processes owned by the enterprise server. By default an enterprise server owns one communications process; you can create additional ones. For each process the following information is shown:

  • The number of the process. Numbers are allocated from 1 sequentially.
  • The network address used by the communications process to accept incoming client requests. The format is:

    protocol:ip-address:port

    where:

    • protocol is tcp.
    • ip-address is the IP address of the server listener. An asterisk (*) indicates that the address is dynamically assigned for the enterprise server when it starts.
    • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the enterprise server when it starts.
  • The TCP/IP hostname that is equivalent to the IP address.

The total number of listeners owned by all the communications processes.

Listeners Details

Click this to move to a page giving more detailed information about the service listeners owned by the communications processes.

Licenses

Shows license information. The number before the slash is the number of licenses allocated to this server. When the server is stopped a dash is displayed, because the number of licenses that will be allocated is unknown until the server is started. When the server is running an asterisk can be displayed, indicating that unlimited licenses were allocated. The number after the slash is the number of licenses requested by this server.

Last Status Change

Shows the date and time that the server's current status was last updated; this is local to the machine where the Directory Server is running. You can see this only in the expanded view of the Home page.

Status Log

Shows information about the most recent event that occurred on this server, and how long the server has been in its current state.

Objects

Shows how many of each type of object (services, handlers, packages) the server owns. This is a summary view - it changes when you click the Expand the plus button button

Services

Shows a list of the service operations registered with the Directory Server. If there are more than five, only the first five are shown.

Service Details

Click this to move to a page giving more detailed information about the services registered with the Directory Server.

Request Handlers

Shows a list of the request handlers registered with the Directory Server.

Request Handlers Details

Click this to move to a page giving more detailed information about the request handlers registered with the Directory Server.

Implementation Packages

Shows a list of the implementation packages registered with the Directory Server. If there are more than five, only the first five are shown.

Implementation Packages Details

Click this to move to a page giving more detailed information about the implementation packages registered with the Directory Server.

Description

Shows a description of the server.

Add

Click this to add a new server.

  • Add Server instance
  • Delete Server instance
Parent topic: Enterprise Server Administration Console Help Pages


Add Server instance

Use this page to provide the attributes for an enterprise server (MFES).

Note:

For more information about the configurable attributes of servers, see the chapter Configuration in your Configuration and Administration Guide.

Name

Shows the name of the server.

Server Address

Specify the network address used by the server to accept incoming client requests. The format is:

protocol:ip-address:port

where:

  • protocol is tcp.
  • ip-address is either the text host name or IP address of the server listener. An asterisk (*) indicates that the address is dynamically assigned for the enterprise server when it starts.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the enterprise server when it starts.

If this network address is not unique in the repository, this might cause enterprise server startup problems.

System Directory

Specify the location for system work files output by the Enterprise Server, such as the console log, and trace and dump diagnostics files. This directory cannot be shared between Enterprise Servers. On Windows the default is C:\Documents and Settings\user-ID\My Documents\Micro Focus\Net Express 5.0\WORKAREA\es-name\console.log (where user-ID is the user account that is running Enterprise Server, and es-name is the name of the enterprise server). On UNIX the default is /var/mfcobol/es es-name.

If you specify a directory in this field, that directory must exist; Enterprise Server does not create it for you.

Note: Note:

On Windows, if you are running the Directory Server as a service that logs on as the Local System account (LocalService), any Enterprise Server that it starts will also run under that account. Hence, the default location of the System Directory will be C:\Documents and Settings\LocalService\My Documents\Micro Focus\Net Express 5.0\WORKAREA\es-name. By default, Windows hides the LocalService subdirectory of Documents and Settings. In order to view this directory, you must configure your Windows Explorer so that: Show hidden files and folders is set, and Hide protected operating system files is not set.

Working Mode

Choose whether this Enterprise Server is to run 32-bit or 64-bit applications.

A 32-bit working mode server can run only 32-bit applications. A 64-bit working mode server can run only 64-bit applications.

You cannot change the working mode of the server once it has been created; you can however, change the mode when you copy or import a server.

Startup Options

Use these fields to specify the server configuration you want when the server first starts up. Any changes you make to these fields while a server is running do not take effect until the next time you start the server.

Shared Memory Pages

Specify the number of shared pages in memory to be reserved for all the processes that run in the Directory Server. Each page is 4KB long.

Service Execution Processes

Specify the number of service execution processes that are to be started at server initialization.

Shared Memory Cushion

Specify the number of 4KB pages that should be reserved from the shared memory pages to allow the server to continue processing when the shared memory allocation is too small for the operational requirements of the server. The range is 1 through the number of shared memory pages.

Trace Table Size

Specify the number of entries the trace buffer can hold before it wraps back to the start. (The trace buffer is also written to disk at this point if you checked Auxiliary Trace Active.) A value of 2 means that there is space for only one entry, and if you checked Auxiliary Trace Active each entry is written straight out to disk. Each entry is 24 bytes long.

Local Trace Size

Specify the number of entries the local trace table can hold before it wraps back to the start. A value of 0 (zero) means that no local trace table is allocated. Each service execution process has its own local trace table. Each entry is 24 bytes long.

Maximum Diagnostics File Size

Specify the maximum size of the auxiliary trace and dump file in kilobytes. A value of 0 (zero) means that there is no maximum size.

Requested Licenses

Specify the number of licenses this enterprise server requires.

Cold Start Diagnostics File

Check this to indicate that the auxiliary trace and dump files are to be deleted when the server starts.

Dump on System Abend

Check this to indicate that the server should produce a dump if one of its own processes, such as a service execution process, terminates abnormally. The dump information can help you to determine the cause of the abnormal termination

Auxiliary Trace Active

Check this to indicate that trace records are to be flushed to disk before the trace table is overwritten. You should do this only if you have adequate disk space available, since the file can become very big very quickly. If you have a high-activity system use this field in conjunction with Maximum Diagnostics File Size to limit the disk usage. Writing out to a file also degrades performance.

Show Local Console

Check this if you want to see a text window containing enterprise server messages while the server is running. the messages are written to a file called console.log, in the directory specified in System Directory. You can see the text window only on the machine running the enterprise server. The system messages are also available on the Enterprise Server Console page.

Mainframe Subsystem Support

Check this to indicate that this server is an MSS-enabled server, that is, a server that can run CICS applications.

Trace Flags

Use these flags to control what information is written to the trace file for this server. Any changes you make to these fields while a server is running take effect immediately.

Task Control

Check this to indicate that the server is to trace its task control component.

Storage Control

Check this to indicate that the server is to trace its storage control component.

Table Management

Check this to indicate that the server is to trace its table management component.

Application Container

Check this to indicate that the server is to trace its application container component.

Request Handler

Check this to indicate that the server is to trace its request handler component.

RM Interface

Check this to indicate that the server is to trace its resource manager interface component.

Communications

Check this to indicate that the server is to trace its communications component.

Application

Check this to indicate that the server is to trace the CICS API calls made by a CICS application.

Exit

Check this to indicate that the server is to trace user and system exits.

Configuration Information

Specify textual configuration information that determines the start-up and run-time behavior of the server. Optional. For details of the valid entries, see the section Configuration Information in the chapter Servers in your Configuration and Administration Guide.

Description

Specify a text description of the server, for example, its purpose and owner. Optional.

Add

Click this to add the new server to the Directory Server repository.

Back

Click this to return to the previous page.

Parent topic: Enterprise Server Administration Home Page


Delete Server instance

Use this page to delete the selected server.

Note:

Deleting a registered server may cause application connection errors and loss of data.

Type

Shows the server type. There are two types of server:

  • MFES

    A Micro Focus enterprise server. This is a special server type that provides a run-time environment for COBOL programs running as services.

  • MFCCI

    A Micro Focus Common Communication Interface server. This is a server that provides services using the Common Communication Interface (CCI), using the Micro Focus Directory Server as a name server instead of registering with a Micro Focus CCITCP2 process.

Name

Shows the unique name of the server.

Status Log

Shows information about the most recent event that occurred on this server.

Services

Shows the number of services registered with this server.

Description

Shows a text description of the server.

Stop server before deleting it

Check this if you want the server to be stopped before it is deleted.

Parent topic: Enterprise Server Administration Home Page


Edit Server Instance Properties

Use this page to change the basic configurable attributes of an enterprise server instance.

To access this page:

    • From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
    • In the , in the Server instance to configure's Communications Processes column, click Details.
  2. On the screen, select the Properties tab. This tab is selected by default.
CAUTION:
Changing the properties of a registered enterprise server instance may cause application connection errors and loss of data.
  • Server Instance Properties: General
  • Server Instance Properties: XA Resources
  • Server Instance Properties: MSS Support
  • Server Instance Properties: Scripts
  • Server Instance Properties: Permissions
  • Server Instance Control
  • Server Instance Diagnostics
  • Server Instance Properties: Security
  • Enterprise Server Monitor and Control (ESMAC)
Parent topic: Enterprise Server Administration Console Help Pages


Server Instance Properties: General

Use this page to change the basic configurable attributes of an enterprise server instance.

To access this page:

  1. On the server instance screen, select the Server > Properties > General tabs.
CAUTION:
Changing the properties of a registered enterprise server instance may cause application connection errors and loss of data.
Name

Specify the unique name of the server, up to 8 characters. You can change the name only if the server has the status "Stopped". You cannot include angle brackets (<>) or ampersands (&) in the name.

System Directory

Specify the location for system work files output by the Enterprise Server, such as the console log, and trace and dump diagnostics files. This directory cannot be shared between Enterprise Servers. On Windows the default is C:\Documents and Settings\user-ID\My Documents\Micro Focus\Net Express 5.0\WORKAREA\es-name\console.log (where user-ID is the user account that is running Enterprise Server, and es-name is the name of the enterprise server). On UNIX the default is /var/mfcobol/es es-name.

If you specify a directory in this field, that directory must exist; Enterprise Server does not create it for you.

Note: On Windows, if you are running the Directory Server as a service that logs on as the Local System account (LocalService), any Enterprise Server that it starts will also run under that account. Hence, the default location of the System Directory will be C:\Documents and Settings\LocalService\My Documents\Micro Focus\Net Express 5.0\WORKAREA\es-name. By default, Windows hides the LocalService subdirectory of Documents and Settings. In order to view this directory, you must configure your Windows Explorer so that: Show hidden files and folders is set, and Hide protected operating system files is not set.
Working Mode

Shows whether this Enterprise Server is to run 32-bit or 64-bit applications.

A 32-bit working mode server can run only 32-bit applications. A 64-bit working mode server can run only 64-bit applications.

You cannot change the working mode of the server once it has been created; you can however, change the mode when you copy or import a server.

Startup Options

Use these fields to specify the server configuration you want when the server first starts up. Any changes you make to these fields while a server is running do not take effect until the next time you start the server.

Shared Memory Pages

Specify the number of shared pages in memory to be reserved for all the processes that run in the Directory Server. Each page is 4 KB long.

Service Execution Processes

Specify the number of service execution processes that are to be started at server initialization.

Shared Memory Cushion

Specify the number of 4KB pages that should be reserved from the shared memory pages to allow the server to continue processing when the shared memory allocation is too small for the operational requirements of the server. The range is 1 through the number of shared memory pages.

Requested Licenses

Specify the number of licenses this enterprise server requires.

Show Local Console

Check this if you want to see a text window containing enterprise server messages while the server is running. the messages are written to a file called console.log, in the directory specified in System Directory. You can see the text window only on the machine running the enterprise server. The system messages are also available on the Enterprise Server Console page.

Allow Dynamic Debugging

Check this if you want to use a local or remote IDE to debug applications running in this enterprise server.

Start on System Start

Check this if you want to start the ES server when the MF Directory Server process is started. The MF Directory Server process (mfds) is usually started at system startup (e.g. on Windows it is registered as a system service by default). Typical usage is to ensure a set of ES servers are re-started automatically if a machine is re-booted. If security is enabled and the default credentials are disabled, ensure valid credentials are specified in the server "Security" properties "Automated Execution Control Enterprise Server Credentials" section.

64-Bit Working Mode

This box is for information only and will be checked if the server has a working mode of 64-bit.

Purge Old Logs

Check this if you want to remove existing console.nnn backups.

Console Log Size

Specify the maximum size of the console.log. Once this size is reached, it will be backed up as console.nnn (with nnn being incremented with each new backup) and subsequent messages will be logged to a new console.log. If set to 0, a single console.log will be created (if one already exists on startup, this will be backed up as console.bak).

Windows Monitoring and Management

Use these fields to specify and configure the performance and event logging options when the server first starts up. Any changes you make to these fields while a server is running do not take effect until the next time you start the server.

Allow Performance Monitoring

Check this box if you want to enable a server to provide performance counters through the Windows Management Instrumentation. Performance information can then subsequently be viewed through Windows Perfmon.

Event Logging

Check the appropriate boxes to specify which events will be logged to the Windows Event Log.

Configuration Information

Specify textual configuration information that determines the startup and run-time behaviour of the server. Optional.

Description

Specify a text description of the server, for example, its purpose and owner. Optional.

Export

Click this to export information about this server and the objects it contains in a specified location.

Copy

Click this to create a new server that is identical to this server apart from its name.

Delete

Click this to delete this server.

Validate

Click this to generate a Validation report for this server. The Validation report informs you of any server configuration errors.

Parent topic: Edit Server Instance Properties


Server Instance Properties: XA Resources

Use this page to view a list of the external resource managers registered with the currently selected server. From this page you can also:

  • Edit the resource manager definition
  • Add a new resource manager

To access this page:

  1. On the server instance screen, select the Server > Properties > XA Resources tabs.
ID

Shows the resource manager ID, used internally to identify a particular XA configuration.

Name

Shows the name by which the resource manager is known.

Module

Shows the location of the executable file (.dll on Windows),(.sl on HP-UX PA-RISC, .so on other UNIX platforms) that contains the entry point that returns the xa_switch_t structure to the enterprise server.

Open string

Shows the string that is passed to the resource manager on the xa_open() call. It usually contains at least the database name, and the user ID and password for connecting to the database. The contents of this string are database-specific.

Close string

Shows the string that is passed to the resource manager on the xa_close() call.

Description

Shows an optional text description of the resource manager definition.

Add

Click this to add a resource manager.

Enabled

Shows the status of the resource manager. A tick indicates that it is enabled.

  • Server Instance Properties: Add XA Resource
Parent topic: Edit Server Instance Properties


Server Instance Properties: Add XA Resource

Use this page to specify the details of an external resource manager that the server needs to communicate with on behalf of container-managed applications.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Properties > XA Resources tabs.
  3. Select the XA resource to display.
ID

Specify a resource manager ID, used internally to identify a particular XA configuration. This must be unique within the enterprise server. Mandatory.

Name

Specify the name by which the resource manager is known. It should match the name returned in the name field of the xa_switch_t structure. Mandatory.

Module

Specify the location of the executable file (.dll on Windows),(.sl on HP-UX PA-RISC, .so on other UNIX platforms) that contains the entry point that returns the xa_switch_t structure to the enterprise server. Mandatory.

Open string

Specify the string that is passed to the resource manager on the xa_open() call. It usually contains at least the database name, and the user ID and password for connecting to the database. The contents of this string are database-specific.

Where the resource manager supports dynamic registration, and the database vendor requires the name of the module that provides the ax_reg function, you should specify casaxlib.

Close string

The string that is passed to the resource manager on the xa_close() call. To find out whether or not you need to supply Close string, see your database vendor's documentation.

Description

Specify an optional text description of the resource manager definition.

Enabled

Check this to enable the resource manager. It is checked by default.

Parent topic: Server Instance Properties: XA Resources


Server Instance Properties: MSS Support

Check Mainframe Subsystem Support enabled to .

Use this page to enable MSS for this enterprise server instance.

To access this page:

  1. On the server instance screen, select the Server > Properties > MSS tabs.
Note:

You can use the resolved value of an environment variable in any fields for the entry of file or directory paths. To do this, prefix the environment variable you want to include with a dollar ($) sign; for example:

$production\programs

where production is an environment variable.

If you want to use a dollar sign as part of the value, rather than as an indicator of an environment variable, you must escape the dollar sign character with a backslash(\); for example:

\$production\programs

In this case, $production will not be replaced by the value of the environment variable.

  • Server Instance Properties: MSS CICS
  • Server Instance Properties: MSS JES
  • Server Instance Properties: MSS IMS General
  • Server Instance Properties: MSS IMS DB
  • Server Instance Properties: MSS IMS TM General
  • Server Instance Properties: MSS IMS TM MPRs
Parent topic: Edit Server Instance Properties


Server Instance Properties: MSS CICS

Use this page to enable Mainframe Subsystem Support (MSS) and configure CICS support for this server.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Properties > MSS > CICS tabs.
CICS enabled

Indicates whether or not CICS is enabled. In this release, CICS is automatically enabled when Mainframe Subsystem Support is enabled.

System Initialization Table

Specify the system initialization table (SIT) to be used by this enterprise server. Defaults to DFH$IVP.

Transaction Path

Specify the full path of the CICS transaction programs that will run in this enterprise server. Separate multiple paths with semi-colons on Windows or colons on UNIX. Mandatory if you use any other SIT than DFH$IVP.

VSAM File Path

Specify the full path of the VSAM files required by the CICS transaction programs that will run in this enterprise server. Separate multiple paths with semi-colons on Windows or colons on UNIX. Mandatory if you use any other SIT than DFH$IVP.

Map Path

Specify the full path of any BMS map load modules required by the CICS transaction programs that will run in this enterprise server. Separate multiple paths with semi-colons on Windows or colons on UNIX. Mandatory if you use any other SIT than DFH$IVP.

Resource Definition File Path

Specify the full path of the resource definition file for this enterprise server. Mandatory if you use any other SIT than DFH$IVP.

EZASOKET support

Check this to enable support for CICS and JCL applications that use the EZASOKET APIs.

Parent topic: Server Instance Properties: MSS Support


Server Instance Properties: MSS JES

Use this page to enable Mainframe Subsystem Support (MSS) and to configure the Job Entry Subsystem (JES) for JCL on this server.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Properties > MSS > JES tabs.
Job Entry Subsystem enabled

Check this to enable the Job Entry Subsystem for this server.

JES Path

Specify the path for the executable files that your JCL jobs will run.

Put your .gnt and .dll files on this path. For debugging, you will also need to put your .int, .idy and .cbl files on this path.

System Catalog

Specify the full name (including the path) of your system catalog file. This file holds the details of data files, their attributes and locations.

Note: You cannot share a catalog between servers.
Default Allocated Dataset Location

Specify the default directory to be used for the creation of new data sets.

System Procedure Library

Specify the name of your system procedure library.

Fileshare Configuration Location

Specify the path and name of the Fileshare Configuration file.

Parent topic: Server Instance Properties: MSS Support


Server Instance Properties: MSS IMS General

Use this page to enable Mainframe Subsystem Support (MSS) and configure IMS support for this enterprise server.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Properties > MSS > IMS > General tabs.
IMS enabled

Indicates whether or not IMS is enabled for this enterprise server.

Codeset bias

Choose the default codeset to use for transactions running on this enterprise server:

  • ASCII - Transactions use ASCII.
  • EBCDIC - Transactions use EBCDIC.
Configuration directory

This field is no longer used.

GEN file directory

Specify the location for the .dat, .idx, and .acb files produced by DBDGENs, IMSGENs and PSBGENs.

Parent topic: Server Instance Properties: MSS Support


Server Instance Properties: MSS IMS DB

Use this page to configure IMS DB support for this enterprise server.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Properties > MSS > IMS > DB tabs.
Database path

Specify the location of the IMS data files and any .slf files to be used by the IMSDBUEA segment exit routine.

Locked resource timeout

Specify the maximum time in seconds that a message processing region in this enterprise server will permit a transaction to wait for a resource that has been locked by another process. The value must be in the range 0 through 9999. The default is 30. A value of 0 indicates that there is no timeout.

Data compression
Key compression
These setting correspond to the IDX-8 KEY/DATA compression options.

The data compression routine number and the key compression number. Valid values for each are the same as those that can be specified for the Compiler directives DATACOMPRESS and KEYCOMPRESS.

Parent topic: Server Instance Properties: MSS Support


Server Instance Properties: MSS IMS TM General

Use this page to configure IMS TM support for this enterprise server.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Properties > MSS > IMS > TM > General tabs.
Message queue

Use these fields to define the attributes of the IMS message queue.

Name

Specify the path to use for the message queue. The default is ESDEMO/IMSMESGQ.dat in the enterprise server's work area directory.

Maximum blocks

The message queue consists of blocks of approximately 64 kb.These consist of 254 segments (not message segments) which are the allocation unit for queue space.

Specify the maximum number of blocks to be used to store the message queue. The value must be in the range 4 through 63488. The default is 32.

When space is not available, a thread waits until the allocation request can be satisfied. The failure mode for "out of space" is a hang condition.

Queue buffer count
This is the tuning control. More buffers means less swapping of blocks in memory for message queue activity.
Note: Carefully consider changing this setting.
Cold start

Choose what happens when you next start this enterprise server:

  • None - No information is deleted.
  • Stats only - Only statistics are deleted.
  • Definitions and stats - Resource definitions and statistics are deleted.
  • Everything - All information (including the message queue) is deleted.
Persist

Check this to specify that the action you specified in the Cold start option occurs each time this enterprise server starts.

MFS path

Specify the location for the files produced by MFSGENs.

MFS attribute bias

Choose how attributes are assumed to be defined for transaction programs running on this enterprise server:

  • Binary - The programs define attributes as binary values, for example:
    05 ATTRIBUTE-VARIABLES.
   10 CURSOR-ATTR    PIC X(2) VALUE X"C0C1".
   10 ERROR-ATTR     PIC X(2) VALUE X"C0C9".
   10 OK-ATTR        PIC X(2) VALUE X"00C1".
   10 PROT-ATTR      PIC X(2) VALUE X"00F1".
  • Character - The programs define attributes as characters, for example:
    05 ATTRIBUTE-VARIABLES.
   10 CURSOR-ATTR PIC X(2) VALUE "{A".
   10 ERROR-ATTR PIC X(2) VALUE "{I".
   10 OK-ATTR PIC X(2) VALUE " A".
   10 PROT-ATTR PIC X(2) VALUE " 1".

    This setting only has an effect on programs compiled using the ASCII character set; it is ignored for programs compiled using EBCDIC.

    Where you specify Character, Enterprise Server will automatically translate the values of MFS attributes to those that would be used if the program were compiled as EBCDIC. For example: the hexadecimal 7B41 value produced by assigning '{A' to an attribute and compiling with ASCII, will be converted to the correct C0C1 value. Where you specify that attribute values have been coded as binary data, Enterprise Server will take no action.

MFS null character

Specify the character to use as the MFS NULL character. You can enter the value in character or hexadecimal form. The default is X'36'.

This setting only has an effect on programs compiled using the ASCII character set; it is ignored for programs compiled using EBCDIC.

Actvity keypoint frequency

Specify how many thread requests are to be processed before a keypoint is generated. This must be in the range 0 through 65535. The default is 64. Specifying 0 indicates that keypoints are only generated when the enterprise server starts and shuts down.

Trailing space

Check this to specify that you must add a trailing space when entering transaction names in this enterprise server.

Transaction threshold

Specify the maximum length of time in seconds that a transaction can run before a message is logged to the console to indicate that it has exceeded its threshold. This must be in the range 0 through 65535. A value of 0 indicates that there is no threshold.

Application path

Specify the location of the transaction programs running on this enterprise server.

Transaction definition file path

Specify the full path of the transaction definition file for this enterprise server.

Parent topic: Server Instance Properties: MSS Support


Server Instance Properties: MSS IMS TM MPRs

Use this page to configure message processing regions (MPRs) for this server. From this page you can also:

  • View a list of MPRs
  • Add a new MPR
  • Edit an existing MPR

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Properties > MSS > IMS > TM > MPRs tabs.
Edit

Click this to edit the MPR definition.

Name

Shows the name of the MPR.

Class

The list of transaction classes that this MPR can run.

Description

Shows an optional text description of the MPR.

Add

Click this to add an MPR.

Parent topic: Server Instance Properties: MSS Support


Server Instance Properties: Scripts

Use this page to edit advanced attributes of an enterprise server.

To access this page:

  1. On the server instance screen, select the Server > Properties > Scripts tabs.
ES Start Script

Specify a script to be executed to start the enterprise server. This will override the casstart command that is executed when you start an enterprise server. It is used only if you check Enabled (start script).

Enabled(start script)

Check this to enable the ES Start Script.

ES Stop Script

Specify a script to be executed to stop the enterprise server. This will override the casstop command that is executed when you stop an enterprise server. It is used only if you check Enabled (stop script).

Enabled(stop script)

Check this to enable the ES Stop Script.

On server not responding after n connection attempts

Specify the number of reconnection attempts that you want to take place before taking the action in the small entry field; the default is 1. Specify a script to be executed when the server has failed to respond to the server monitor the number of times specified in the large entry field. It is used only if you check Enabled (non-response script).

Enabled (non-response script)

Check this to enable the non-response script.

Process User ID

UNIX only. Specify a user ID to be attached to all processes started for this enterprise server, including the server itself. If you do not specify a Process User ID, the value set in Default Process User ID on the Configure Options page is used, if there is one. Otherwise, all processes run as user root, which can create problems with security and access to files. You can specify either a numeric user ID or a username.

Parent topic: Edit Server Instance Properties


Server Instance Properties: Permissions

Use this page to specify the permissions of user groups for this enterprise server.

To access this page:

  1. On the server instance screen, select the Server > Properties > Scripts tabs.
Select

Choose group for which you wish to set permissions. Those groups that have already been granted explicit permissions on this enterprise server are marked with an asterisk.

Settings

Check each permission that you want to grant. To grant all permissions, click Allow All.

The permissions are displayed in an inverted tree structure. Those on lower branches include the permissions on the branches from which they descend. For example, the permission to restore a repository includes the permission to import a repository. Therefore, restore is shown as a descendant of import.

When you grant a particular permission, any permissions that it includes are automatically granted. Hence, when you check the Restore Repository permission, the Import Repository permission is automatically checked as well.

Where a check box for a permission is greyed out, it indicates that the permission is included by other permissions that have been granted to the group. To revoke a permission that is included by others, you must first revoke those other permissions.

Parent topic: Edit Server Instance Properties


Server Instance Control

Use this page to monitor an enterprise server instance's processes, and to access the Enterprise Server Monitor and Control (ESMAC) user interface.

To access this page:

  1. On the server instance screen, select the Server > Control tabs.
  • Server Instance Control Settings
Parent topic: Edit Server Instance Properties


Server Instance Control Settings

Use this page to view and change detailed status information for a running an Enterprise Server instance, and to access ESMAC.

To access this page:

  1. On the server instance screen, select the Server > Control tabs.
ES Monitor and Control

Click this to go to Enterprise Server Monitor and Control (ESMAC), which provides a range of monitoring and control facilities for enterprise servers.

Service execution processes

Shows a list of all the service execution processes running on this enterprise server..

Count

Shows a sequence number for the service execution process.

Type
Shows the type of service execution process. The possible values are:
Debug
A service execution process that is being used to debug a service. This service execution process must have been started from the command line.
Normal
A normal service execution process started from the Home page of Server Administration.
Transient
A service execution process that is executing a service which has corrupted the application container, or a service that is responding to a long-running Java stateful session bean. The transient service execution process will terminate when the current service is complete, and be replaced by a new service execution process.
PID

Shows the process identifier of the service execution process. You can use this for tracking and debugging purposes.

TR Count

Shows the number of transactions this service execution process has handled since the server was started.

State
Shows what state the server is in. The possible values are:
Idle
The server is idle and waiting for client requests.
Running
The server is busy, that is, one of the services is currently processing a client request.
Executing

Shows the name of the service that is currently being executed.

Start Time

Shows the time that the current transaction started. This time is local to the machine where the Directory Server is running.

Local Time

Shows the current time. This time is local to the machine where the Directory Server is running.

Duration

Shows how long the current transaction has been running.

Auxiliary processes

Shows a list of all the auxiliary processes running on this enterprise server. Auxiliary processes are system processes that support the activity of the enterprise server.

Type (auxiliary processes)

Shows the type of auxiliary process.

PID (auxiliary processes)

Shows the process identifier of the auxiliary process. You can use this for tracking and debugging purposes.

Requested service execution processes

Specify a new number of service execution processes.

Allocated licenses

Shows the number of licenses allocated to this enterprise server. Can display "Unlimited" if an unlmited number of licenses were allocated.

Requested licenses

Specify a new number of licenses required for this server. You cannot specify a new number of licenses if Allocated licenses is set to "Unlimited".

Update

Click this to update the number of service execution processes or licenses available for this server. When you change the number of service execution processes, the server takes about 20 seconds to start the new processes or shut down existing processes. When you change the number of licenses, extra licenses are granted or refused immediately, and any licenses not required are returned to the pool of unused licenses. When the server is restarted it will use the number of service execution processes and the number of licenses configured in the Edit Server page.

Stop Server

Click this to stop the server.

The server begins to shut down and you are returned to the Home page.

Parent topic: Server Instance Control


Server Instance Diagnostics

Use this page to change the basic configurable attributes of an enterprise server instance.

To access this page:

  1. On the Edit screen, select the Diagnostics tab.
CAUTION:
Changing the properties of a registered enterprise server instance may cause application connection errors and loss of data.
  • Server Instance Diagnostics: Trace
  • Server Instance Diagnostics: Dump
  • Server Instance Diagnostics: ES Console
  • Server Instance Diagnostics: CS Console
Parent topic: Edit Server Instance Properties


Server Instance Diagnostics: Trace

Use this page to change the trace attributes of a server.

CAUTION:
Changing the properties of a registered server may cause application connection errors and loss of data.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Diagnostics > Trace tabs.
Trace Table Size

Specify the number of entries the trace buffer can hold before it wraps back to the start. (The trace buffer is also written to disk at this point if you checked Auxiliary Trace Active.) A value of 2 means that there is space for only one entry, and if you checked Auxiliary Trace Active each entry is written straight out to disk. Each entry is 24 bytes long.

Local Trace Size

Specify the number of entries the local trace table can hold before it wraps back to the start. A value of 0 (zero) means that no local trace table is allocated. Each service execution process has its own local trace table. Each entry is 24 bytes long.

Maximum Diagnostics File Size

Specify the maximum size of the auxiliary trace and dump file in kilobytes. A value of 0 (zero) means that there is no maximum size.

Cold Start Diagnostics File

Check this to indicate that the auxiliary trace and dump files are to be deleted when the server starts.

Dump on System Abend

Check this to indicate that the server should produce a dump if one of its own processes, such as a service execution process, terminates abnormally. The dump information can help you to determine the cause of the abnormal termination

Auxiliary Trace Active

Check this to indicate that trace records are to be flushed to disk before the trace table is overwritten. You should do this only if you have adequate disk space available, since the file can become very big very quickly. If you have a high-activity system use this field in conjunction with Maximum Diagnostics File Size to limit the disk usage. Writing out to a file also degrades performance.

Trace Flags

Use these flags to control what information is written to the trace file for this server. Any changes you make to these fields while a server is running take effect immediately.

Task Control

Check this to indicate that the server is to trace its task control component.

Storage Control

Check this to indicate that the server is to trace its storage control component.

Table Management

Check this to indicate that the server is to trace its table management component.

Application Container

Check this to indicate that the server is to trace its application container component.

Request Handler

Check this to indicate that the server is to trace its request handler component.

RM Interface

Check this to indicate that the server is to trace its resource manager interface component.

Communications

Check this to indicate that the server is to trace its communications component.

Application

Check this to indicate that the server is to trace the CICS API calls made by a CICS application.

Exit

Check this to indicate that the server is to trace user and system exits.

Parent topic: Server Instance Diagnostics


Server Instance Diagnostics: Dump

Use this page to view a list of diagnostic dumps created for this server.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Diagnostics > Dump tabs.
Note: If no diagnostic dumps have been created, this list is empty, and instead you see some text explaining this and the Create Dump button.
Show

Click this to view the dump on this row.

Create Dump

Click this to create a diagnostic dump for this server.

Parent topic: Server Instance Diagnostics


Server Instance Diagnostics: ES Console

Use this page to view the Enterprise Server console log for this enterprise server instance.

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Diagnostics > ES Console tabs.
Note: If the enterprise server is not running, you see the message: "No live console data returned."
Show Entries

Click the radio button to the left of this control if you want to view a subset of the entries. Then specify the start and end of the subset in the two entry fields to the right. Click Refresh to view the specified subset.

Show Last

Click this if you want to view a subset of the entries at the end of the log. Then enter the number of entries you want to view in the entry field to the right. The default is that the last 10 lines are shown. Click Refresh to view the specified subset.

Entry

Shows the number of the event. Events are numbered in chronological order, with the most recent last.

Event

Shows a description of the event. Each description starts with the date and time it occurred and the name of the enterprise server.

Show Entire Log

Click this if you want to view the entire log. It should open in whatever application your browser is configured to use for text files.

Historical data available

If the status of the server is anything other than "Started", and the Directory Server is running on your machine, shows the location on your machine of the most recent console log for the server. If you click the right-pointing arrow at the end of the location, the file should open in whatever application your browser is configured to use for text files. If the file fails to open, you can go to the location and open it from there.

Parent topic: Server Instance Diagnostics


Server Instance Diagnostics: CS Console

Use this page to view the communications processes console log for this enterprise server.

Note: If the enterprise server is not running, you see the message: "No live console data returned."

To access this page:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Diagnostics > CS Console tabs.
Show Entries

Click the radio button to the left of this control if you want to view a subset of the entries. Then specify the start and end of the subset in the two entry fields to the right. Click Refresh to view the specified subset.

Show Last

Click this if you want to view a subset of the entries at the end of the log. Then enter the number of entries you want to view in the entry field to the right. The default is that the last 10 lines are shown. Click Refresh to view the specified subset.

Entry

Shows the number of the event. Events are numbered in chronological order, with the most recent last.

Event

Shows a description of the event. Each description starts with the date and time it occurred.

Show Entire Log

Click this if you want to view the entire log. It should open in another browser window.

Historical data available

If the status of the server is anything other than "Started", and the Directory Server is running on your machine, shows the location on your machine of the most recent comms console log for the server. If you click the right-pointing arrow at the end of the location, the file should open in another browser window. If the file fails to open, you can go to the location and open it from there.

Parent topic: Server Instance Diagnostics


Server Instance Properties: Security

Use this page to define the security settings to be used with this enterprise server.

Use default Security Configuration

Check this if you want to use your default security settings for this enterprise server. To define the default settings, click Security on the menu on the left hand side, and then click Security > Default Security Configuration.

Restrict user access

Check this to cause all access to the enterprise server via Enterprise Server Administration to be checked by the security managers specified in the Security Manager Priority List.

Verify against all Security Managers

Set this if you want each security query to be checked by all entries on the Security Manager Priority List.

If this is not set, the entries will be queried in the order that they appear on the Priority List until one gives a response of Allow, Deny, or Fail (equivalent to Deny). This response will then be used to decide what action should be taken.

If this field is set, all entries on the list will be queried, and if any returns a Deny or Fail, the access request will be denied. If there are no Deny or Fail responses and at least one of the entries on the list gives Allow as its response, the request will be allowed.

If a security manager does not have a rule for the resource or user specified in the request, it gives a response of Unknown. Whatever the setting of the Verify against all Security Managers field, if all of the entries on the priority list respond with Unknown, the request will be denied unless you have checked Allow unknown resources or Allow unknown users.

Allow unknown resources

Check this if you want the security facility to permit access to any unknown resource; that is, any resource for which all entries on the priority list return Unknown.

You might use this in circumstances where you only want to restrict access to some resources.

Allow unknown users

Check this if you want to allow unknown users to log in.

Use all groups

Check this if a user requesting authorization is to have the permissions of every group to which he or she belongs.

Uncheck this if the user is to have only the permissions of the group specified in the initial security API call that requested verification (authentication) of the user's credentials. Where no group is specified in the verify call, a default group is used.

Cache limit:

Enter the maximum size in kilobytes that enterprise server's security facility can use for caching the results of security queries.

Cache TTL:

Enter the maximum time in seconds that an entry in the cache can be used to satisfy requests before the details must be requeried from the security manager.

Create audit events

Check this to enable the enterprise server to generate security audit events. These events can be captured and logged by the Audit Facility.

Configuration Information
Enter any security configuration information in this area.
Automated Execution Control Enterprise Server Credentials:
Enter the credentials to use for server start (user ID and password) to be used when the server instance is set to start when the MFDS process starts. This could be after a system re-start), or when a server is stopped from the user interface and the Restart option is selected.
ES Security Manager Priority List

This is the list of security manager (taken from the available pool) that the enterprise server can use to perform security queries.

Note: Security managers are queried in the order that they appear in the list. If the Verify against all Security Managers checkbox is not checked, the first manager in the list that responds with a definite answer will determine the result of a security query. See the text for Verify against all Security Managers for more details.

Use the up and down arrows to reposition the selected entry.

Select
Use this to select a security manager for removal or for moving to a different position in the list.
Name

This column indicates the name that used to identify a security manager.

Module

This column indicates the module used by a security manager to access an external security manager or to implement the security rules.

Description

The description column indicates the description for a security manager.

Enabled

This column indicates whether or not the security manager is enabled. If it is not enabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Add

Click this to add a security manager from the pool of available managers.

Remove

Click this to remove the currently selected security manager from this list.

Note: The manager is only removed from this list, not from the available pool of managers.
Parent topic: Edit Server Instance Properties


Enterprise Server Monitor and Control (ESMAC)

Use ESMAC to change the basic configurable attributes of an enterprise server instance.

To access ESMAC:

  1. From the Enterprise Server Administration home page, at the left of the Enterprise Server instance to configure, click Edit.
  2. On the server instance screen, select the Server > Control tabs.
  3. On the Control page, click ES Monitor & Control.
  • The ESMAC Sidebar
  • Server
  • Monitor (1, 15)
  • Control
  • SEPs
  • Clients
  • Diagnostics
  • Resources
  • Users
  • Env.Vars.
  • Dyn-Dbg.
  • System Sign On
Parent topic: Edit Server Instance Properties


The ESMAC Sidebar

Enterprise Server Monitor and Control enables you to monitor and control servers, services, packages and handlers on your Enterprise Server. You can also monitor and control CICS-enabled applications, and create and edit CICS SITs, startup lists, groups, resources, and so on. The sidebar menu enables you access to these functions. When you click a button in the sidebar, the body of the page changes, providing information, or controls which you can use to modify settings. For help on the body of the page, click Help, Body.

Home

Click this to return to the Enterprise Server Adminstration home page.

Server

Click this to display information about the current server.

Monitor 1, 15

Click Monitor 1 to display information about tasks, collected at one minute intervals. Click Monitor 15 to display information about tasks, collected at 15 minute intervals.

Control

Click this to view and change control information for this server.

SEPs

Click this to view information about the SEPs (service execution processes) running on this server.

Clients

Click this to view information about the clients using this server.

Diagnostics

Click Display to view the console log, or a dump or trace data set. To select the diagnostic information to view, click:

  • Log - displays the console log. The buttons A, B and C/x have no effect with this button.
  • Dump - displays the dump data set specified by the button A, B or C/x. If you select C/x, the X dump data set is displayed.
  • Trace - displays the trace data set specified by the button A, B or C/x. If you select C/x, the in-memory trace table is displayed.
  • Blocks - specifies the number of blocks of diagnostic information to display.
Reply

Click this to view the list of current outstanding replies to ACCEPT FROM CONSOLE statements. You can see this button only if there is at least one outstanding reply.

Resources

Use the buttons in this group to:

  • View the services, packages and handlers available on this server.
  • Submit JCL jobs and view and update spool queues and the catalog.
  • View and maintain all active resource tables for this server.
  • View and maintain all resource tables for this server.

To access the relevant pages, click the dropdown box. You can choose an item from the list. When you choose an item, extra buttons are displayed that enable you to display the information required. You can select:

  • Services - when you select this, you can click:
    • Services - to view the services available on this server.
    • Package - to view the implementation packages available on this server.
    • Handlers - to view the request handlers available on this server.
  • JES - when you select this, you can click:
    • Spool - to view and manage spool queues.
    • Catalog - to view and manage the catalog and data sets.
    • Control - to submit JCL jobs and start batch initiator and batch printer SEPs.
    • Locks - to view the current resource locks for this server.
  • IMS - when you select this you can click:
    • Transact. - to view the defined IMS transactions
    • Control - to perform IMS-related administration functions
  • Active - when you select this, you can click:
    • ACEEs - to view the active ACEEs for this server.
    • DCT - to view the active DCTs for this server.
    • FCT - to view the active FCTs for this server.
    • ICE - to view the interval control elements for this server.
    • JCT - to view the active JCTs for this server.
    • Locks - to view the current resource locks for this server.
    • PCT - to view the active PCTs for this server.
    • PPT - to view the active PPTs for this server.
    • Sys-C - to view the active CCI connection definitions for this server.
    • T-Type - to view the active T-Types for this server.
    • TST - to view the active TSTs for this server.
  • by Group - when you select this, you can click:
    • Groups - to view the CICS resource groups for this server.
    • Startup - to view the startup lists for this server.
    • SIT - to view the SITs for this server.
  • by Start L - displays the resources, defined for the startup list used by the SIT in use on this server, and the resource groups they are associated with. When you click this, you can select:
    • DCT - to view the DCTs in this startup list.
    • FCT - to view the FCTs in this startup list.
    • JCT - to view the JCTs in this startup list.
    • PCT - to view the PCTs in this startup list.
    • PLT - to view the PLTs in this startup list.
    • PPT - to view the PPTs in this startup list.
    • Sys62 - to view the LU6.2 connection definitions in this startup list.
    • SysC - to view the CCI connection definitions in this startup list..
    • Term - to view the Terminal definitions in this startup list.
    • TST - to view the TSTs in this startup list.
    • T-Type - to view the T-types in this startup list.
    • XAT - to view the XA-compliant database table definitions in this startup list.
  • by Type - displays the resources available on this server, by type, and shows the resource group the resource is associated with. When you click this, you can select:
    • DCT - to view the available DCTs.
    • FCT - to view the available FCTs.
    • JCT - to view the available JCTs.
    • PCT - to view the available PCTs.
    • PPT - to view the available PPTs.
    • Sys62 - to view the available LU6.2 connection definitions.
    • SysC - to view the available CCI connection definitions.
    • Term - to view the available Terminal definitions.
    • TST - to view the available TSTs.
    • T-Type - to view the available T-Types.
    • XAT - to view the available XA-compliant database table definitions.
Users

Click this to view the users able to use ESMAC.

Env. Vars.

Click this to view the environment variables for this server.

Dyn Debug
Enables dynamic debugging for the server. Dynamic Debugging enables you to attach to, and debug, any application or service running on the Enterprise Server instance.
Note: You must stop and re-start the server for this to take effect.
Chg. User.

Click this to view the System Sign On page, which enables you to sign on as another user, or to change your password.

Parent topic: Enterprise Server Monitor and Control (ESMAC)


Server

Use this page to view system information for the server.

Times

Shows the date and time at which the current server was started, and the number of days, hours, minutes and seconds that have passed since the server was started.

Counts

Shows the following information:

  • Transactions - the number of transactions that have occurred since the server was started.
  • Dumps - the number of dumps generated since the server was started.
  • Per hour - the number of transactions per hour, based on the number of transactions shown in Transactions.
  • Trace Blocks - the number of trace blocks generated since the server was started.
  • Active Clients - the number of clients that have been active since the server was started.
  • Limit - the number of concurrent client licenses allowed.
Sizes

Shows the following information:

  • Max Tasks - the maximum number of tasks that can run concurrently on this server. A task handles a process such as a CICS transaction, a SOAP service, and so on.
  • HTTP Out - the size of the data blocks passed across shared memory for HTTP output.
  • Diagnostics Size - the maximum size of a diagnostic data set. When this size is exceeded, the alternate (A or B) data set is used (and any data in that data set is overwritten). A value of 0 (zero) means that there is no maximum size.
  • ID Timeout - the global user ID timeout specified. If no ID timeou ha been defined, this field is blank.
  • Shared Memory - the number of shared pages in memory reserved for all the processes that run in the enterprise server. Each page is 4 KB long.
  • SM Total - the amount of shared memory available to this server, shown in kilobytes.
  • SM Cushion - the number of kilobytes reserved from the shared memory pages to enable the server to continue processing when the shared memory allocation is too small for the operational requirements of the server.
  • SM Free - the amount of shared memory currently free, shown in kilobytes.
States

Shows the following information:

  • Working Mode - the current working bit mode of the server.
  • Perf Enabled - enables reporting of performance data that can be viewed in Perfmon and Operations Manager,
  • Force Phase In - the current state of Force Phase In. If Force Phase In is set, MSS reloads programs each time they are invoked. This applies only to programs that are not marked resident and have not been loaded with the hold attribute. If Yes, Force Phase In is set; if No, it is not. You can set the state of Force Phase In on the Control page, which can be displayed by clicking Control
  • Dump - shows which data set is currently set to receive dump information, which can be A or B.

    You can set the data set to be used for dump information on the Control page, which can be displayed by clicking Control.

  • Dump on Abend - the dump state. The dump state can be:
    • Sys: No Tran: No
    • Sys: Yes Tran: No
    • Sys: No Tran: Yes
    • Sys: Yes Tran: Yes

    where Sys indicates a system dump, and Tran indicates a transaction dump.

    You can set the dump state on the Control page, which can be displayed by clicking Control.

  • Trace - shows which data set is currently set to receive trace information, which can be A or B.

    You can set the data set to be used for trace information on the Control page, which can be displayed by clicking Control.

  • Active trace - indicates whether the in-memory trace is currently being recorded to the active auxiliary diagnostic data set.

    You can switch the active trace on and off on the Control page, which can be displayed by clicking Control.

Startup

This group is displayed only if you have enabled MSS. It contains the following information:

  • Sit - the name of the SIT currently used by this server.
  • PLT-PI - the program list table (PLT) that specifies the initialization programs to be run when the region is started. If this is blank, no special processing is done when the region is started.
  • SYSID - the system ID of the SIT.
  • PLT-SD - the program list table (PLT) that specifies the shutdown programs to be run when the region is stopped. If this is blank, no special processing is done when the region is stopped.
  • Fileshare user - the user ID used by the region to log on to all Fileshare servers that MSS is configured to use.
  • Security - indicates whether or not the server has security enabled.
Activity

Contains the following information:

  • The time at which sampling of activity was started. The time is shown in 24-hour format. The duration of sampling is 15 minutes. To see the latest activity statistics for this 15-minute period, click Refresh.
  • Average latency (100/sec) - The average latency for transactions on this server. This is shown in hundredths of a second, and as a graphical representation in yellow.
  • Average tasks (100/sec) - The average time taken to complete a task on this server. This is shown in hundredths of a second, and as graphical representation in blue.
  • Task/sec - The average number of tasks completed per second on this server. This is shown as a number, and as a graphical representation in green.
Parent topic: Enterprise Server Monitor and Control (ESMAC)


Monitor (1, 15)

Use this page to view information on transactions that have occurred in the last n minutes, where n is 1 or 15. The display is cumulative, showing activity in n-minute intervals over the last half-an-hour for Monitor (1 minute intervals), and over the last 8 hours for Monitor (15 minute intervals).

hh:mm

Shows the time, in 24-hour format, at which the last statistics collection period ended.

The rest of the row shows:

  • The average latency for a transaction. This is shown as a figure in hundredths of a second, and as a graphical representation in yellow.
  • The average time taken to complete a task. This is shown as a figure in hundredths of a second, and as a graphical representation in blue.
  • The task count - the number of tasks completed within the one-minute interval. This is shown as a figure, and as a graphical representation in green.
Parent topic: Enterprise Server Monitor and Control (ESMAC)


Control

Use this page to view and change control information for this server.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have the required permissions.

General
SEPS

Shows the number of concurrent service execution processes currently supported by this server. You can change the number by entering a value in the field.

Force Phase In, Yes

Check this to have MSS reload programs each time they are invoked. This applies only to programs that are not marked resident and have not been loaded with the hold attribute.

Admin
The number of Admin SEPs defined
Initial Tran
The transaction to run when a TN3270 session connects to the server.
HTTP Out

Shows the size of the data blocks passed across shared memory for HTTP output. You can change the HTTP size by entering a value in the HTTP Size field.

Timeouts
ID

Shows the time in minutes that the system will allow an ESMAC or TN3270 client session to remain idle before logging off the user. At system startup, this is initialized to the value specified in the System Initialization Table. A value of 0 indicates that there is no timeout. Please note that if you change the value, the change will not be saved at system shutdown.

Runaway

Shows the maximum continuous period of time in seconds that the region will allow a transaction to run without making a CICS, EZASOKET or MQSeries API call. When this value is exceeded, the transaction is abended. At system startup, this is initialized to the value specified in the System Initialization Table. A value of 0 indicates that there is no timeout. Please note that if you change the value, the change will not be saved at system shutdown. Note also that you can override this value for an individual transaction through the relevant Program Control Table entry.

Input

Shows the maximum time in seconds allowed for operator response to an explicit CICS RECEIVE command before the transaction is abended. At system startup, this is initialized to the value specified in the System Initialization Table. A value of 0 indicates that there is no timeout. Please note that if you change the value, the change will not be saved at system shutdown. Note also that you can override this value for an individual transaction through the relevant Program Control Table entry.

Deadlock

Shows the maximum time in seconds that the region will permit an application to wait for a resource that has been locked by another process. At system startup, this is initialized to the value specified in the System Initialization Table. A value of 0 indicates that there is no timeout. Please note that if you change the value, the change will not be saved at system shutdown. Note also that you can override this value for an individual transaction through the relevant Program Control Table entry.

Diagnostics
Size

Shows the maximum size of the auxiliary trace and dump file in kilobytes. A value of 0 (zero) means that there is no maximum size. You can change the size by entering a value, in kilobytes, in the Diagnostic Size field. The maximum size you can enter in this field is 999999 kilobytes.

Dump

Shows the current data set used for dump information.

Switch

Click this to switch between the A and B data sets that are used to store dump information.

Dump

Click this to initiate a dump. Dump information is stored in the data set identified by Active Dump DS. If you do not initiate a dump using Dump, dumps occur when the system and/or transaction abends, or if the program executes the EXEC CICS DUMP command. A dump will occur on an abend only if Sys and/or Tran is checked in the Dump on Abend group.

Countn

Shows the number of dumps (n) that have occurred.

Trace

Shows the current data set used for trace information.

Switch

Click this to switch between A and B data sets used to store trace information.

Aux, active

If checked, the in-memory trace data is transferred to the auxiliary (diagnostic) data set at the roll-over of the system trace table.

Blocks

Shows the number of blocks of trace information captured.

Dump on ABEND
Sys
Check this to indicate that MSS should produce a dump if an abend occurs in its own code.
Tran
Check this to indicate that MSS should produce a dump if an abend occurs in any of your transaction programs. If you check this field, then you can control whether or not a dump is produced for an individual program by checking or unchecking Dump on abend on the PCT properties dialog box. If you leave this field unchecked, MSS ignores the setting of Dump on abend on the PCT properties dialog box.
Debugger
Check this to enable dynamic debugging.
HSF Data
Enable collection of HSF records
This switches on HSF processing.
Write to disk
Enables writing of HSF records to comma-separated files. These are called cashsf-a.csv and cashsf-b.csv, and are written to the system directory.
Max HSF file size
If you have selected Write to disk, this is the size in kilobytes the .csv file will reach before Enterprise Server switches to the alternate .csv file. A value 0 selects the maximum size possible (4 Gb).
Number of records to view in ESMAC
The number of HSF records that Enterprise Server will hold in memory. These records can be viewed by clicking on the HSF button in ESMAC while the server is running. When this number is reached, older records will be deleted when a new one is created. Records older than one hour are deleted too.
The minimum value is 0 (no HSF data displays in ESMAC), the maximum is 4096.

Clicking the Switch button will switch collection to the alternate .csv file before the active file has reached the maximum size.

Trace Points

Shows the currently set trace points. The trace points shown are those that have been set by the SIT. You can change individual trace points by checking the check box next to each trace point, or you can use all to change all the settings at once. This overrides the trace points set by the SIT. Any changes you make are effective immediately you click Apply. The changes are lost, however, the next time the server is initialized.

all
Choose a setting to apply to all the trace points:
  • On - enables all the trace points
  • Off - disables all the trace points
Attention: When you set all the trace points on at once, the trace points CCI, fh and fh-enable are unaffected. This is because these trace points should be used only when advised by Micro Focus.
Server
dmp
Check this to indicate that MSS is to trace its dump control component.
lock-data
Check this to trace lock management for non-threaded processes.
scp
Check this to indicate that MSS is to trace its storage control component.
tsc
Check this to trace calls to the castsc process.
exits
Check this to indicate that MSS is to trace the user exits.
msg
Check this to indicate that MSS is to trace its messages component.
sql-api
Not used.
tsc-data
Check this to trace the data in calls to the castsc process.
fh
Do not check this unless advised by Micro Focus.
reqh
Check this to indicate that MSS is to trace its request handler component.
tmp
Check this to indicate that MSS is to trace its table management component.
tsc-thread
Check this to trace thread processing and lock management in the castsc process.
fh-enable
Do not check this unless advised by Micro Focus.
rm
Check this to indicate that MSS is to trace its resource manager component.
trd
Check this to trace thread processing in all threaded processes.
xfp
Check this to trace data in transformer processing.
jcp
Check this to indicate that MSS is to trace its journal control component.
rts
Check this to indicate that MSS is to trace its run-time system (application container) component.
trd-enq
Check this to trace processes and data in transformer processing.
xfp-all
Check this to trace data and processes in transformer processing.
tcp
Check this to indicate that MSS is to trace its terminal control component.
saf(security)
Check this trace System Authorization Facility (SAF) calls.
trd-stg
Check this to trace memory management in threaded processes.
xfp-data
Check this to trace data in transformer processing for threaded processes.
JCL/JES
common
Not used.
hsf
Check this to indicate that MSS is to trace the creation of Historical Statistics Facility (HSF) records for JCL.
CICS
api

Check this to indicate that MSS is to trace the CICS API calls.

icp
Check this to indicate that MSS is to trace its interval control component.
ts-td
Check this to indicate that MSS is to trace its temporary storage/transient data (TS/TD) component.
fcp
Check this to indicate that MSS is to trace its file control component.
kcp
Check this to indicate that MSS is to trace its task control component.
user
Check this to enable a user trace.
IMS
api
Check this to indicate that MSS is to trace IMS DL/I API entry points.
dbc
Check this to indicate that MSS is to trace IMS DB control processing.
i/o
Check this to indicate that MSS is to trace IMS physical/virtual file I/O.
sys
Check this to indicate that MSS is to trace miscellaneous IMS processing.
cli
Check this to indicate that MSS is to trace IMS MPR, JES and SEP processing.
ES-DB
Check this to indicate that MSS is to trace ES IMS DB processing.
stg
Check this to indicate that MSS is to trace IMS dynamic memory allocation/freeing.
TM-ctl
Check this to indicate that MSS is to trace IMS TM control processing.
data
Not used.
ES-stg
Check this to indicate that MSS is to trace ES IMS memory management.
DB-thread
Check this to indicate that MSS is to trace lock management for IMS DB.
TM-thread
Check this to indicate that MSS is to trace lock management for IMS TM.
TM-buffer
Check this to indicate that MSS is to trace the buffer for IMS TM lock management.
Communications
cci
Do not check this unless advised by Micro Focus.
data
Check this to trace basic data in the communication module and IMS TM.
mfcs-cg
Check this to trace Micro Focus Communications Server (MFCS) requests
common
Check this to trace thread processing in the communications module.
data-all
Check this to trace extended data in communication module and IMS TM.
cg-thread
Check this to trace lock management in the communications module.
Memory Strategy
Use this to control the frequency and type of runtime memory validation, as well as specifying the processes to which these settings apply.
Debug SEP
Start
Starts a debug SEP. A value of "Any" indicates that any transaction can be debugged in this SEP.
Transaction
Indicates the only transaction to be debugged in this SEP.

If terminals are connected, the additional option Terminal enables you to debug only those transactions initiated from the selected terminal.

Shutdown
Click this to shut down the current server. You restart the server using Enterprise Server Administration.
Dump
A system dump is taken when the server shuts down.
Immediate

Check this to force an immediate shutdown when you click Shutdown. If you force an immediate shutdown, you will see "The page cannot be displayed" error, as there is no longer a server to connect to.

Parent topic: Enterprise Server Monitor and Control (ESMAC)


SEPs

Use this page to view information about the service execution processes (SEPs) on the current server.

The page is divided into five sections:

  • Standard - SEPs executing your transactions.
  • Auxiliary - processes run by the server that provide auxiliary services to the SEPs.
  • Debug - processes handling debug requests. You see this section only if there are debug processes executing.
  • Transient - long running processes. Once the process has completed, the SEP is removed from the list.
  • JES Init - batch initiators, that is, SEPs that execute JCL applications.
  • JES Print - processes that handle the sending of files output by JCL jobs to printers.
Trace

Click this to view a system trace for the SEP.

Kill

Click this to kill the SEP while a task is running.

Stop

Click this to stop the SEP when the current task completes.

Process ID, Start Time, Service/TranID

This column shows the process ID, the time at which the service was started, and the service or transaction ID (where available).

Type, Duration

This column shows the type of service and the amount of time the service has been running. The type can be:

  • SEP - service execution process
  • CAS Manager - An enterprise server management service
  • JCP - journal control program
  • TDP - extra-partition transient data program
  • Fileshare - A Fileshare service
Task Number, Client, Function

This column shows the task number for the service, the process ID (pid) of the client using this server, and the function. You can see which clients are associated with a process ID by displaying the Clients page; click Clients to do this.

Tran. count, Wait ID/Duration, User ID

This column shows the number of transactions performed by this SEP, the wait ID and user ID. The wait ID indicates, for suspended services, the ID of the process that is waiting to complete and the amount of time the process has been waiting. The user ID displays the ID of the signed-on client that is currently being processed.

Process ID, Start Time

This column shows the process ID and the time at which the service was started.

Initiator Classes, Duration

This column shows the classes that the batch initiator SEP handles and the amount of time the SEP has been running.

Job Number, Job Name

This column shows the job number and the job name of the JCL job that the SEP is handling.

Job Count, Step Name, User ID

This column shows the number of jobs this SEP has run since it was started, the step name currently being executed and the user ID under which the job is running. If you did not specify a USER on the JOB card, the user ID is the name of the enterprise server.

SYSOUT Classes, Duration

This column shows the classes that the batch printer SEP handles and the amount of time the SEP has been running.

Job Count, DD Name

This column shows the number of jobs this SEP has run since it was started, and the DD name of the file being printed.

Device

Shows the name of the printer being used.

Exit

Shows the pathname of the printer exit program that this batch printer SEP uses when it prints jobs, if any.

Parent topic: Enterprise Server Monitor and Control (ESMAC)


Clients

Use this page to display Client information for this server.

Trace

Click this to view a local trace for the associated process. This is available only for MQ listeners.

Process ID

Shows the process ID of the client.

Type

Shows the type of client:

  • 3270
  • 3270 Bridge
  • CCI - A client that uses CCI (Common Communications Interface) to connect to the server
  • CCI HTTP - A client that uses HTTP (Hyper Text Transmission Protocol) - such as SOAP, BINP, CGI
  • Comms Server - Client communications controller process (listener)
  • ECI - External Call Interface
  • FileShare - Traditional Fileshare2 client
  • Generic
  • IBM MQ - IBM Message Queuing listener
  • Other
  • SESSION - A LU6.2-type session that is multiplexed on a link
  • Spool - System spooler client
  • SURROGATE - Surrogate for a client attached to another server
  • SURROGATE-t
  • SYSTEM - A peer server
  • TN3270 - A Telnet 3270 client
  • UniCli - An IBM universal client
Net Name

Shows the assigned SNA network node name for that client.

User ID

Shows the user ID of the user running the client. This might be a system ID, such as HTTP Soap for system services such as the SOAP listener.

Parent topic: Enterprise Server Monitor and Control (ESMAC)


Diagnostics

  • Dump data set
  • Trace store
Parent topic: Enterprise Server Monitor and Control (ESMAC)


Dump data set

Use this page to view dump information, contained in data set, for the transactions on this server. data set can be A, B or X.

Details

Click this to see detailed information for the dump selected. The detailed information includes the summary information at the end.

Sum

Click this to see summary information for the dump selected.

Level

Choose a level of trace information that you want to be included in the trace tables in the dump. The trace information includes system trace tables and local trace tables. The options are:

0 | Service start, module start, module end, service end.
1 | Enterprise server API entries and exits
2 | Subsystem trace entres
3 | All entries where it is possible to provide some formatting of the data
4 | All trace entries. This is the default.

This option affects what you see in a detailed dump, not a summary dump. Local trace tables (traces for SEPs) only have levels 0 and 1.

PID, Code (Caller)

Shows information about the dump:

  • The process ID
  • A code that helps identify the dump
  • The origin of the dump request
Date(mm/dd/yy) Time

Shows a date and time stamp for the dump. The time stamp is in hours, minutes, seconds, and hundredths of a second.

Parent topic: Diagnostics


Trace store

Use this page to view trace information contained in a dataset or in memory. store can be A or B, for the A or B datasets, or X to indicate an in-memory trace.

Details

Click this to see detailed information for the trace selected.

Blocks

Specify the number of blocks that you want to be included in the detailed trace information starting at the first block in this index entry. The default is the number you specified in Blocks in the Diagnostics group in the menu.

Level

Choose a level of trace information that you want to be included in the details:

0 | Service start, module start, module end, service end. This is the default.
1 | Enterprise server API entries and exits
2 | Subsystem trace entres
3 | All entries where it is possible to provide some formatting of the data
4 | All trace entries
PIDs

If you want to filter the details by process ID, check the check boxes next to the process IDS of the processes you want detailed trace information for.

Task IDs

If you want to filter the details by task ID, check the check boxes next to the task IDS of the tasks you want detailed trace information for.

Date(mm/dd/yy) Time

Shows a date and time stamp for the dump. The time stamp is in hours, minutes, seconds and hundredths of a second.

Parent topic: Diagnostics


Resources

  • Services
  • Active
  • by Group
  • by StartL
  • by Type
  • JES
  • IMS
  • Pages for Creating Resources
  • Pages for Viewing and Editing Resources
Parent topic: Enterprise Server Monitor and Control (ESMAC)


Services

  • Lists of Services
  • Details of Individual Services
Parent topic: Resources


Lists of Services

  • Services
  • Service Packages
  • Request Handlers
Parent topic: Services


Services

Use this page to view information about the services currently available on the server.

Details

Click this to view detailed information for the service.

The rest of the information in this row shows:

  • The location of a service
  • The protocol used by the service
Show Sys Entries

Click this to view the system services.

The page expands to include all the system services currently running. You can click Details for any of these system services to get more information.

Hide Sys Entries

Click this to hide the system services.

This button is displayed only if you have previously clicked Show Sys Entries.

Parent topic: Lists of Services


Service Packages

Use this page to view information about the implementation packages available on the current server.

Details

Click this to display detailed information for the package.

The rest of the information in this row shows the name of the implementation package.

Parent topic: Lists of Services


Request Handlers

Use this page to view information about the request handlers available on the current server.

Details

Click this to view detailed information for the request handler.

The rest of the information in this row shows the name of the request handler.

Parent topic: Lists of Services


Details of Individual Services

  • Service
  • Service Package
  • Request Handler
Parent topic: Services


Service

Use this page to view information about a particular service, selected from the Services page. You can also change the log status and create a new copy of the IDT.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the service.

Name

Shows the service namespace.

Transaction

Shows the characteristics of the service. The characteristics relate to the commit/rollback of protected resources accessed by the service. Values can be Container Managed or Application Managed.

RTS Trace

Specifies the state of entry and exit tracing for the service:

  • None - no tracing is done
  • User - user applications are traced
  • System - the system is traced
  • Both - both applications and the system are traced
Log I/O

Shows whether, for each request for this service the request and response blocks are written to the enterprise server dump data set. If None, nothing is logged. If Dump, request and response blocks are written to the enterprise server dump data set. To set the log to None or Dump, click on the dropdown box, select the required setting, and click Change.

Only use this option if you need diagnostics, as it degrades performance.

Ref. Count

Shows the number of applications that reference this service.

Service Status

Shows the current status of the service. The possible statuses are:

  • In service - the service is available.
  • Error - an error has occurred such that it has not been possible to set the status to any other value.
  • Disabled - the service is disabled.
Parent topic: Details of Individual Services


Service Package

Use this page to view information about a particular implementation package, selected from the Service Packages page. You can also use this page to force the load of a new copy of the IDT.

Name

Shows the name of the implementation package for this service.

IDT

Shows the path of the IDT (interface definition table) for the package.

IDT Size

Shows the physical size of the specified IDT. The IDT size is shown only if the IDT is currently loaded and held in shared memory.

New Copy

Click this to force a new copy of the IDT to be loaded for the next execution of the service. If an IDT is resident (that is, in shared memory), New Copy removes it, forcing the system to reload the IDT from disk the next time a service requests it.

Module

Shows the name of the library that contains the package, if any.

Status

Shows the current status of the implementation package. The possible statuses are:

  • In service - the package is available.
  • Error - an error has occurred such that it has not been possible to set the status to any other value.
  • Disabled - the package is disabled.
Location

Shows the path where the package file is located.

Ref. Count

Shows the number of programs that have made use of this package since the server started.

Parent topic: Details of Individual Services


Request Handler

Use this page to view information about a particular request handler, selected from the Request Handlers page.

Name

Shows the name of the request handler.

Handle ID

Shows the unique ID assigned to this handler by the server.

Status

Shows the current status of the request handler:

  • In service - the request handler is available.
  • Error - an error has occurred such that it has not been possible to set the status to any other value.
  • Disabled - the request handler is disabled.
Type

Shows the type of request handler:

  • Other
  • Soap
  • CGI
  • Undefined
Location

Shows the path where the handler is located.

Ref. Count

Shows the number of programs that have made use of this handler since the server started.

Parent topic: Details of Individual Services


Active

  • Lists of Active Resources
  • Details of an Active Resource
Parent topic: Resources


Lists of Active Resources

  • ACEEs (Active)
  • DCT (Active)
  • FCT (Active)
  • ICE (Active)
  • JCT (Active)
  • Locks (Active)
  • PCT (Active)
  • PPT (Active)
  • SysC (Active)
  • T-TYPE (Active)
  • TST (Active)
  • URIMAP (Active)
  • TCPIPSv (Active)
  • DOCTEMPLATE (Active)
Parent topic: Active


ACEEs (Active)

Use this page to view the list of active Access Control Environment Elements (ACEE).

Details

Click to display detailed information for the ACEE.

The rest of the information in this row shows:

  • The name of the ACEE.
  • The group to which this ACEE belongs.
Parent topic: Lists of Active Resources


DCT (Active)

Use this page to view the DCTs available on this server.

Details

Click this to display detailed information for the DCT.

The rest of the information in this row shows:

  • The name of the DCT.
  • Whether the DCT is enabled or disabled.
  • The type of DCT.
Parent topic: Lists of Active Resources


FCT (Active)

Use this page to view the FCTs available on this server.

Details

Click this to display detailed information for the FCT.

The rest of the information in this row shows:

  • The name of the FCT.
  • Whether the FCT is enabled or disabled.
Parent topic: Lists of Active Resources


ICE (Active)

Use this page to view and delete the interval control elements active on this server.

You can delete an interval control element by clicking Delete button to the left of its row in the table.

Request ID

Shows the ID of the request for a time-delayed event. This is specified in the CICS API call that initiated the interval control element.

Transaction

Shows the transaction in which the call was executed.

Terminal

Shows the terminal where the transaction was entered.

Day/Time

Shows the day and time for which the time-delayed event is scheduled. Day 0 means today, day 1 means tomorrow, etc.

Parent topic: Lists of Active Resources


JCT (Active)

Use this page to view the JCTs active on this server.

Details

Click this to view detailed information for the JCT.

The rest of the information in this row shows:

  • The name of the JCT.
  • The status of the JCT.
  • The type of JCT.
Parent topic: Lists of Active Resources


Locks (Active)

Use this page to view the current resource locks on this server.

Lock Ownership
Lists the current locks.
PID

Shows the process ID (PID) of a process that has issued a lock or wishes to issue a lock.

res-ID

Shows a resource ID allocated to the locked resource for the purposes of linking the information in the Lock Ownership part of the table with the information in the Resource Details part of the table.

Type

Shows the type of lock.

State

Shows the state of the lock. Possible states are:

Controlled | The requester has control of the resource
Waiting | The requester is waiting to gain control of the resource (synchronous request)
Pending | The requester has issued the request but has continued with other work (asynchronous request)
Persistence

Shows how long the lock lasts. Possible values are:

LUW | The lock lasts until the logical unit of work ends
Task | The lock lasts until the task ends
Lock Manager | There is no implicit release of the lock.
Process | The lock lasts until the process ends
Seq
The order in which requesters are to be handled.
Resource Details
Lists the resources that are locked.
Res ID (Resource Details)

Shows a resource ID allocated to the locked resource for the purposes of linking the information in the Lock Ownership part of the table with the information in the Resource Details part of the table.

Queue

Shows the lock namespace.

Length

Length of the resource name in characters.

Resource Name

Shows the name of the resource given to it by the requester.

Parent topic: Lists of Active Resources


PCT (Active)

Use this page to view the PCTs available on this server.

(Details)

Click this icon to view detailed information for the PCT.

The rest of the information in this row shows:

  • The name of the PCT.
  • The average time it takes for the transaction to complete.
  • The number of times the transaction has been executed since the server started.
Parent topic: Lists of Active Resources


PPT (Active)

Use this page to view the PPTs available on this server.

Details

Click this to display detailed information for the PPT.

The rest of the information in this row shows:

  • The name of the PPT.
  • The type of PPT.
  • Whether the PPT is enabled or disabled.
  • The programming language of the program associated with the PPT.
Parent topic: Lists of Active Resources


SysC (Active)

Use this page to view the SysCs active on this server. A SysC is a definition of a CCI system connection.

Details

Click this to view detailed information for the SysC.

The rest of the information in this row shows:

  • The name of the SysC.
  • The status of the SysC.
  • The type of SysC.
Parent topic: Lists of Active Resources


T-TYPE (Active)

Use this page to view the T-types active on this server.

Details

Click to display detailed information for the T-type.

The rest of the information in this row shows:

  • The name of the T-type.
  • The status of the T-type.
  • The type of T-type.
Parent topic: Lists of Active Resources


TST (Active)

Use this page to:

  • View the TSTs active on this server
  • View and delete the actual data queues in the TSTs
  • View and delete data records associated with interval control elements. These are held as special single-record TS queues.
Details

Click this to view detailed information for the TST.

The rest of the information in this row shows:

  • The name of the TST.
  • The status of the TST.
  • A description of the TST.
TS Unit Table Queues

Shows the actual data queues and interval control element data records that currently exist on this server. Hexadecimal IDs (those that contain non-displayable characters) are displayed in both hexadecimal notation and display notation (with the non-displayable characters replaced with full stop characters “.”).

You can delete an entry in the TS Unit Table by clicking Delete button to the left of its row in the table. When you delete an IC (interval control element) data record, you also delete the interval control element that it is associated with. The delete request is actioned immediately, and a message comfirming this is displayed at the top of the TST information.

Current

Shows the position in the queue of this item. It is used to resolve which queue item a generic READQ will return.

Depth

Shows the current number of items in the queue.

Type

Shows the type of data queue or interval control element data record. The meanings of the abbrevations are:

rc
recoverable
nr
unrecoverable
TS
temporary storage queue
IC
interval control element
Parent topic: Lists of Active Resources


URIMAP (Active)

Use this page to view the URIMAPs available on this server.

Details
Click this to display detailed information for the URIMAP.

The rest of the information in this row shows and the name of the URIMAP, whether the URIMAP definition is for an HTTP server or client, and whether it is enabled or disabled.

Parent topic: Lists of Active Resources


TCPIPSv (Active)

Use this page to view the TCPIPServices available on this server.

Details
Click this to display detailed information for the TCPIPService.

The rest of the information in this row shows the name of the TCPIPService and its current status.

Parent topic: Lists of Active Resources


DOCTEMPLATE (Active)

Use this page to view the DOCTEMPLATEs available on this server.

Details
Click this to display detailed information for the DOCTEMPLATE.

The rest of the information in this row shows the name of the DOCTEMPLATE and the type of its source.

Parent topic: Lists of Active Resources


Details of an Active Resource

  • ACEE for Username
  • DCT Entry (dct_name)
  • FCT Entry (fct_name)
  • JCT Entry (jct_name)
  • PCT Entry (pct_name)
  • PPT Entry (ppt_name)
  • SysC Entry (sysc_name)
  • T-TYPE Entry (ttype_name)
  • TST Entry (tst_name)
  • URIMAP Entry (urimap_name)
  • TCPIPService Entry (tcpipsv_name)
  • DOCTEMPLATE Entry (doctemplate_name)
Parent topic: Active


ACEE for Username

Use this page to view the Access Control Environment Element (ACEE) for a user.

ACEE

This is the id of a user who signed on to the system.

Group

The sign-on group of the user.

Long Name

The long name of the user.

Operator ID

The identification code that you assign to the operator.

Timeout

The time in minutes that the system will allow an ESMAC or TN3270 terminal to client session to remain idle before logging off the user. If the value is 0, the system value is used.

Operator Class

The operator class used for routing messages initiated in a CICS transaction.

Priority

The value used by the system to determine task priority for CICS transactions invoked by the user at a terminal.

Resource Keys
All

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys.
  • Off - disables all the resource keys.
1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Security Keys
All

Choose a setting to apply to the security keys:

  • On - enables all the security keys.
  • Off - disables all the security keys.
1 - 64

Check any of the boxes 1 through 64 to activate that security key.

Surrogate Keys
All

Choose a setting to apply to all the surrogate keys:

  • On - enables all the surrogate keys
  • Off - disables all the surrogate keys
1 - 24

Check any of the boxes 1 through 24 to activate that surrogate key.

JCL Submit

Check this to enable this user to submit JCL jobs via the cassub utility.

ES Security

Check this for the user ID mfuser to enable ESMAC security.

ESMAC Access
all

Choose a setting for the level of access the user will have to all types of resource:

  • Rd - sets all items to read access
  • Upd - sets all items to update access
  • No - denies access for all items
Master Flag

Check this to enable the user to access the main ESMAC screens. If unchecked, the user will only be able to view summary server information and environment variables.

JES - IMS

Choose what type of access this user can have to a resource of this type:

  • Rd - sets the item to read access
  • Upd - sets the item to update access
  • No - sets the item to no access
Dump Display, Table

Click this to create and view a dump of the ACEE.

Parent topic: Details of an Active Resource


DCT Entry (dct_name)

Use this page to view information about the DCT named dct_name, selected from the DCT (Active) page. You can also view a dump of the DCT.

This page mainly provides information about the DCT. To set values for the DCT, use the CICS DCT page.

Apply

Click this to save changes you have made to the page and refresh the page.

DCT

Shows the name of this DCT. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the DCT have been saved and the DCT updated. Click Refresh to remove this message.

Resource Keys
all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys.
  • Off - disables all the resource keys.
1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Dump Display, Table

Click this to create and view a dump of the DCT.

Parent topic: Details of an Active Resource


FCT Entry (fct_name)

Use this page to view information about the FCT named fct_name, selected from the FCT (Active) page. You can view information about the FCT, and change the status of the FCT.

This page mainly provides information about the FCT. To set values for the FCT, use the CICS FCT page.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the FCT.

FCT

Shows the name of this FCT. If you click Apply, the message "Update complete" is also displayed when any changes you have made to the FCT have been saved and the FCT updated. Click Refresh to remove this message.

Dataset Name

Shows the data set name for this file as used on the mainframe.

Status

Shows information about the current state of the file. This includes not only the current setting of Status as shown on the CICS FCT page and the CICS FCT - fct_name (grp_name) page, but also the Access fields and a subset of the Set fields.

The first item of information is the open/closed status. This is a transient state a transient state controlled by the system. Possible values are:

  • Open
  • Closed
  • Opening
  • Closing
  • CloseRequest - a request to close the file has been issued by an application
Enabled/Disabled/Unenabled

Indicates whether the file is currently accessible to transactions:

  • Enabled - the file is currently accessible to transactions.
  • Disabled - the file is not currently accessible to transactions. A disabled file returns the reference "DISABLED". This can cause problems for some applications; if this is true for your application, set Unenabled instead.
  • Unenabled - the file is not currently accessible to transactions. An unenabled file returns a reference "NOTOPEN", which can be handled by those applications that cannot handle a "DISABLED" reference.

You can change this setting on this page.

Disabling

Yes indicates that the file is currently being disabled. Disabling is a transient state controlled by the system.

Start Empty

Yes indicates that the current contents of the file are deleted at system startup.

Recoverable

Yes indicates that the file is a protected resource, changes to which can be backed out.

The file must be accessed through a Fileshare server.

Forward Recoverable

Yes indicates that journals are used to record changes to the file to enable forward recovery.

The file must be accessed through a Fileshare server.

Readable

If checked, indicates that users can read records from the file. You can change this setting.

Addable

If checked, indicates that users can add records to the file. You can change this setting.

Browsable

If checked, indicates that users can browse the file. You can change this setting.

Deletable

If checked, indicates that users can delete records from the file. You can change this setting.

Updatable

If checked, indicates that users can update records in the file. You can change this setting.

Exclusive

If checked, indicates that the file cannot be read by other transactions while an update is in progress. You can change this setting.

Type

Shows the file type. This can be one of:

  • KSDS Variable ASCII - Key sequence data set
  • ESDS - Entry sequence data set
  • RRDS - Relative record data set
  • Alternate to fct_name type - Alternate index. fct_name tells you the FCT for which this is an alternate index, and type describes the type of file represented by fct_name.
  • Undefined - Remote file
Record

Shows the maximum and minimum lengths possible for a record.

Key

Shows the length and starting position of the key.

Resource Group

Shows which resource group this FCT belongs to.

Use Count

Shows the number of times this FCT has been used.

Dump Display, Table

Click this to create and view a dump of this FCT.

Parent topic: Details of an Active Resource


JCT Entry (jct_name)

Use this page to view information about the JCT named jct_name, selected from the JCT (Active) page. You can also display a dump of the JCT.

This page mainly provides information about the JCT. To set values for the JCT, use the CICS JCT page.

Apply

Click this to save changes you have made to the page and refresh the page.

JCT

Shows the name of this JCT. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the JCT have been saved and the JCT updated. Click Refresh to remove this message.

Dump Display, Table

Click this to create and view a dump of the JCT.

Parent topic: Details of an Active Resource


PCT Entry (pct_name)

Use this page to view information about the PCT named pct_name, selected from the PCT (Active) page. You can also change the status of the PCT, and change various parameters of the PCT.

This page mainly provides information about the PCT. To set values for the PCT, use the CICS PCT page.

Click Apply to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the PCT.

PCT

Shows the name of this PCT. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the PCT have been saved and the PCT updated. Click Refresh to remove this message.

Program Name

Shows the program name of a local program to be run when this transaction is invoked.

Status
Shows the current settings that apply to this PCT. You can change any of the settings.
Enabled
Click this to enable the program.
Disabled
Click this to disable the program.
UC Translation

Check this to have the transaction program translate input into upper case.

Screen Default

Click this to have the transaction program use the default screen size (as defined in the Typeterm entry).

Screen Alternate

Click this to have the transaction program use the alternate screen size (as defined in the Typeterm entry).

DTB Backout

Click this to indicate that if a transaction program using intersystem communication abends at a critical moment during syncpoint or abend processing, the effects of the transaction are backed out using ROLLBACK. To use this option, files used by the transaction program must have Backward Recovery checked on the CICS FCT page.

DTB Commit

Click this to indicate that if a transaction program using intersystem communication abends at a critical moment during syncpoint or abend processing, any changes are committed.

DTB Wait

Click this to indicate that if a transaction program using intersystem communication abends at a critical moment during syncpoint or abend processing, critical resources are locked until the session has recovered, and are then backed out or committed in step with the remote system.

Dump on Abend

Check this to indicate that a program dump is to be created if the transaction program abends.

Type

Indicates whether the program is local or remote. If the program is remote, the system and transaction IDs are also displayed.

Transaction
TWA Size
Shows the size of the transaction program's Transaction Working Area (TWA) in bytes.
Input Timeout

The maximum time in seconds allowed for operator response to an explicit CICS RECEIVE, WEB OPEN, WEB SEND, WEB RECEIVE, or WEB CONVERSE command before this transaction is abended. A value of 0 indicates that there is no timeout, and the system will wait indefinitely for a response.

Runaway Timeout

The maximum continuous period of time in seconds that the region will allow a transaction to run without making a CICS, EZASOKET or MQSeries API call. When this time is exceeded, the transaction is abended. A value of 0 indicates that there is no timeout.

Deadlock Timeout

Shows the deadlock timeout used for task processing. This is the period after which a suspended task is terminated. A zero value means that no deadlock timeout is used.

Transaction Threshold

Specify the maximum length of time in seconds that a transaction can run before a message is logged to the console to indicate that it has exceeded its threshold. A value of 0 indicates that there is no threshold.

Tracing

Indicates the type of tracing set for this program. You can also change the type of tracing by clicking one of the buttons:

  • Standard - standard tracing is performed
  • Suppress - no tracing is performed
  • Special - special tracing is performed
Use Count

Shows the number of times this PCT has been used.

Dump Display, Table

Click this to create and view a dump of the DCT.

Parent topic: Details of an Active Resource


PPT Entry (ppt_name)

Use this page to view information about the PPT named ppt_name, selected from the PPT (Active) page. You can also change the status of the PPT, and change various parameters of the PPT.

This page mainly provides information about the PPT. To set values for the PPT, use the CICS PPT page.

Apply

Click this to save changes you have made to the page and refresh the page.

PPT

Shows the name of this PPT. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the PPT have been saved and the PPT updated. Click Refresh to remove this message.

Load Module

Shows the location and name of the executable file in use. You see an entry in this field only after the executable file has been used.

Status

Shows the current settings that apply to this PPT. You can change any of the settings.

Enabled

Click this to enable the PPT.

Disabled

Click this to disable the PPT.

DPL API Subset

Check this to limit the program to the Distributed Program Link API subset of commands; there is no terminal control, BMS, and so on.

CEDF Enabled

Check this to allow the use of the CICS Execution Diagnostic Facility, which enables debugging at the CICS command level.

Resident

Check this to indicate that the program resides in the application server's program cache after it has been loaded.

COBOL

Click this to indicate that the program language is COBOL.

PL1

Click this to indicate that the program language is PL/I.

C

Click this to indicate that the program language is C.

Assembler

Click this to indicate that the program language is Assembler.

WS Integrity

Check this to indicate that load requests are ignored if the program is already in storage. Leave unchecked to indicate that a fresh copy of the program is loaded every time a load request for the program is issued.

Type

Shows whether the PPT is associated with a program or data.

Size

Shows the size of the module and the minimum size of the Commarea.

Counts

Shows:

  • Resident - the number of programs resident in the server's program cache.
  • Hold Count - the number of outstanding LOAD HOLD commands that have not been countered by a RELEASE.
  • Index - the number of times a LOAD SET ENTRY() has been executed.
  • In Use Count - the number of outstanding LOAD commands that have not been countered by an exit from current units of work.
  • Reference Count
Dump Display, Table

Click this to create and view a dump of the DCT.

Parent topic: Details of an Active Resource


SysC Entry (sysc_name)

Use this page to view information about the SysC named sysc_name, selected from the SysC (Active) page. You can also display a dump of the SysC. A SysC is a definition of a CCI system connection.

This page mainly provides information about the SysC. To set values for the SysC, use the CICS SysC page.

Apply

Click this to save changes you have made to the page and refresh the page.

SysC

Shows the name of this SysC. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the SysC have been saved and the SysC updated. Click Refresh to remove this message.

Dump Display, Table

Click this to create and view a dump of the SysC.

Parent topic: Details of an Active Resource


T-TYPE Entry (ttype_name)

Use this page to view information about the T-type named ttype_name, selected from the TTYPE (Active) page. You can also view a dump of the T-type.

This page mainly provides information about the T-type. To set values for the T-type, use the CICS T-type page.

Apply

Click this to save changes you have made to the page and refresh the page.

T-Type

Shows the name of this T-type. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the T-type have been saved and the T-type updated. Click Refresh to remove this message.

Dump Display, Table

Click this to create and view a dump of the T-type.

Parent topic: Details of an Active Resource


TST Entry (tst_name)

Use this page to view information about the TST named tst_name, selected from the TST (Active) page. You can also view a dump of the TST.

This page mainly provides information about the TST. To set values for the TST, use the CICS TST page.

Apply

Click this to save changes you have made to the page and refresh the page.

TST

Shows the name of this TST. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the TST have been saved and the TST updated. Click Refresh to remove this message.

Dump Display, Table

Click this to create and view a dump of the TST.

Parent topic: Details of an Active Resource


URIMAP Entry (urimap_name)

Use this page to view information and set values for the URIMAP named urimap_name, selected from the URIMAP (Active) page.

Click Apply to save changes you have made to the page and refresh the page.

URIMAP
The name of this URIMAP definition. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the URIMAP have been saved and the entry updated. Click Refresh to remove this message.
Usage
Specifies whether this URIMAP definition is for:
  • CICS as an HTTP server
  • CICS as an HTTP client
Status
Specifies whether this URIMAP definition is installed in an enabled or disabled state.
Analyzer
Indicates whether an analyzer program is used in processing the HTTP request.
Scheme
The scheme component of the URI.
Redirect Type
Specifies the type of redirection for requests that match this URIMAP definition, either NONE, TEMPORARY or PERMANENT.
TCPIPService
The name of a TCPIPService resource definition that defines an inbound port.
Host
The host name, or IPv4 or IPv6 address, of the URI.
Path
The path component of the URI.
Port
The number of the port used by the user application when it communicates with a server.
Transaction
The name of an alias transaction used either to run the user application that composes the HTTP response, or to start the pipeline.
Converter
The name of a converter program used to convert (or perform other processing) on the request and response.
Program
The name of the user application program that composes the HTTP response.
Pipeline
Not supported for this release.
Web Service
Not supported for this release.
User Id
Not supported for this release.
Certificate
The label of the X.509 certificate that is used as the SSL client certificate during the SSL handshake.
Ciphers
A string of up to 56 hexadecimal digits that is interpreted as a list of up to 28 2-digit cipher suite codes.
Authenticate
Specifies whether to send basic authentication information in the HTTP response to a client request.
Template Name
Not supported for this release.
HFS File
Not supported for this release.
Media Type
Not supported for this release.
Character Set
Not supported for this release.
Host Codepage
Not supported for this release.
Location
Not supported for this release.
Parent topic: Details of an Active Resource


TCPIPService Entry (tcpipsv_name)

Use this page to view information about the TCPIPService named tcpipsv_name, selected from the TCPIPSv (Active) page. You can also display a dump of the service.

This page mainly provides information about the TCPIPService. To set values for it, use the CICS TCPIPService page.

Click Apply to save changes you have made to the page and refresh the page.

TCPIPService
The name of this TCPIPService.
Status
The initial status of the service after installation, either OPEN if CICS is to begin listening for this TCPIPService after installation, or CLOSE if not.
Port
The number of the port on which CICS listens for incoming client requests.
Protocol
The application level protocol used on the TCP/IP port.
SSL Type
Indicates whether the TCPIPService is to use the secure sockets layer (SSL) for encryption and authentication.
Transaction
The ID of the CICS transaction to process new requests that this service receives.
Authenticate
The authentication and identification scheme used for inbound TCP/IP connections for the HTTP, IPIC, USER and IIOP protocols.
Backlog
Not supported for this release.
Max Data Length
Not supported for this release.
URM
The name of a user-replaceable program that this TCPIPService invokes.
Privacy
The level of SSL encryption required for inbound connections.
Cipher
A list of cipher suite codes.
IP Address
Not supported for this release.
Socket Close
Not supported for this release.
DNS Group
Not supported for this release.
DNS Status
The current state of Workload Manager/Domain Name System (DNS) registration of this service.
GRP Critical
Not supported for this release.
Certificate
Not supported for this release.
Attach Security
Not supported for this release.
TSQ Prefix
A code to identify items in the temporary storage queue (TSQ).

Click Table to create and view a table of dump information for this service.

Parent topic: Details of an Active Resource


DOCTEMPLATE Entry (doctemplate_name)

Use this page to view information about the DOCTEMPLATE called doctemplate_name, selected from the DOCTEMPLATE (Active) page. You can also display a dump of the loaded DOCTEMPLATE in memory.

DOCTEMPLATE
The name of this template.
Append CR/LF
Indicates whether CICS deletes trailing blanks from, and appends carriage return/line feed to, each logical record of the template.
Type
The format of the template contents, either BINARY, EBCDIC or ASCII.
Template Type
The type for the source of the template, namely one of the following types.
Template Name
The name by which the template is known to application programs that use it.
File
The name of the CICS file which contains the template.
TS Queue
The name of the temporary storage queue containing the template.
TD Queue
The name of the transient storage queue containing the template.
Program
The name, of the CICS program that contains the template.
Exit Program
The name of the exit program that generates this template.
DD Name
The name of the MVS partitioned data set (PDS) containing the template. If you enter a value for Member Name but no DD Name, it defaults to "DFHHTML".
Member Name
The name of the member in the MVS partitioned data set containing the template.
HFS File
The name of the z/OS UNIX System Services file containing the template.

Click Table to create and view a table of dump information for this resource.

Parent topic: Details of an Active Resource


by Group

  • CICS Resource Groups
  • Startup
  • SIT
Parent topic: Resources


CICS Resource Groups

Use this page to view the CICS resource groups available on this server.

New

Click this to create a new CICS resource group.

Details

Click this to view detailed information for the CICS resource group.

The rest of the information in this row shows:

  • The name of the CICS resource group.
  • A description of the CICS resource group.
  • CICS Resource Group
  • Create a New CICS Group
  • View and Edit CICS Group group_name
Parent topic: by Group


CICS Resource Group

Use this page to view the resources within the resource group name.

Details

Click this to display detailed information for the CICS resource.

The rest of the information in this row shows:

  • The name of the resource.
  • The type of resource, such as FCT or PPT.
  • A short description of the resource.
New

Click one of the buttons to create a new resource.

Parent topic: CICS Resource Groups


Create a New CICS Group

Use this page to create a new resource group.

Group List

Click this to view the group list for this group. The group list page will be empty until you have clicked Add.

Add

Click this to save changes you have made to the page, refresh the page and add the new resource group to the list of groups. The name of the button changes to Apply.

Name

Specify a name for this resource group.

Description

Specify a description for this resource group.

Parent topic: CICS Resource Groups


View and Edit CICS Group group_name

Use this page to view a resource group and to change its description.

Group List

Click this to view the group list for this group.

Apply

Click this to save changes you have made to the page and refresh the page.

Name

Shows the name of this resource group.

Description

Specify a description for this resource group.

Parent topic: CICS Resource Groups


Startup

Use this page to view the startup lists available on this server.

Details

Click this to display detailed information for the startup list.

The rest of the information in this row shows:

  • The name of the startup list
  • A short description of the startup list
  • Create a New CICS Startup List
  • View and Edit a CICS Startup List
  • CICS Startup List list_name or CICS Defined resource
Parent topic: by Group


Create a New CICS Startup List

Use this page to create a new startup list.

Add

Click this to save changes you have made to the page and refresh the page. The button changes to Apply.

Name

Specify a name for this startup list.

Description

Specify a short description of the startup list.

Entry Count

Shows the number of resource groups in this startup list.

Production

Check this to indicate that this is a production startup list. Leave this unchecked to indicate that this is a development startup list.

01

Specify the name of the first resource group in the startup list.

Parent topic: Startup


View and Edit a CICS Startup List

Use this page to view the startup list name or to edit the values on this page. This page is displayed either when you select a startup list from the CICS Startup Lists page or when you are creating a startup list and have just added the first resource group to it. You can edit the values on this page and add new resource groups only if you have the necessary permission.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the startup list.

Name

Shows the name of the startup list.

Description

Specify a short description of the startup list.

Entry Count

Shows the number of resource groups in this startup list.

Production

Check this to indicate that this is a production startup list. leave this unchecked to indicate that this is a development startup list.

01 - nn

Lists the resource groups in the startup list.

A startup list can reference up to 64 resource groups.

To add a resource group, click in the next empty field in the list, and enter the name.

You can change the order of the resource groups in the startup list. Use Down arrow button to move a resource down the list. Use Up arrow button to move a resource up the list. Delete an entry in the resource list by clicking Delete button.

Delete

Click this to delete this startup list. You see this button only if you have permission to edit the startup list.

Copy

Click this to create a new startup list. The values on the current page will be used as the basis for the values in the new startup list.

Dump

Click this to create and view display a dump of the startup list information.

Parent topic: Startup


CICS Startup List list_name or CICS Defined resource

Use this page to view resources of a particular type.

If you displayed this page by clicking on one of the buttons displayed when you click Resources, by Start L, this page lists the resources of a particular type available to the current startup list.

If you displayed this page by clicking on one of the buttons displayed when you click Resources, by Type, this page lists the resources of a particular type available to the current server.

Details

Click this to view detailed information for the resource.

The rest of the information in this row shows:

  • The name of the resource.
  • The type of resource.
  • The group to which the resource belongs.
  • A short description of the resource.
New

Click one of the buttons to create a new resource.

Parent topic: Startup
Parent topic: by Type


SIT

Use this page to view the list of system initialization tables (SITs) defined for an enterprise server.

New

Click this to create a new SIT.

Details

Click this to view detailed information for the SIT.

The rest of the information in this row shows:

  • The name of the SIT.
  • The startup list used by the SIT.
  • A short description of the SIT.
  • Create a New CICS SIT
  • CICS SIT Details
Parent topic: by Group


Create a New CICS SIT

Use this page to create a new SIT.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new SIT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Name

Shows the name of the SIT.

Description

Specify a short description of the SIT. The SIT description can contain the characters A-Z, 0-9, #, @, and $.

Startup List

Choose the startup list that you want to associate with this SIT from the dropdown list. The startup list determines which resources are loaded when the server is initialized.

Work Area

Specify the size of the region's common work area (CWA) in bytes in the range 0 through 32767. This area is shared among applications running in the region (enterprise server).

SysID

Specify the system ID of the region (enterprise server). (This is the name by which it is known to other regions.)

Initial Tran ID

Specify the ID of an initial transaction that runs on every terminal when it logs on to the region.

Auto Install Exit

Specify the name of the program to be used to autoinstall terminals. Choose from:

  • DFHZATDX - the autoinstall program supplied with MSS. This is the default value.
  • user-specified - the name of your autoinstall exit program. Up to 8 characters from 0 through 9, A through Z, @, # and $. The first character must not be numeric.
Date Format

Choose the display format used to display the date. This is used in conjunction with the FULLDATE (for four-digit years) or DATE (for two-digit years) operands of the EXEC CICS FORMATTIME command. This setting only determines the order of day, month, and year; it does not prevent four digits from being displayed.

3270 Print

Check this to indicate that the region supports a printer.

3270 SNA Simulate end-bracket

Check this if you want MSS to simulate SNA end-of-transaction keyboard unlock. You might want to do this if you have migrated applications that were accessed on the mainframe from SNA devices and are now using TN3270 clients to access them. It is an alternative to specifying the free keyboard bit in the CTLCHAR operand of the SEND 3270 CICS command.

Remote 3270

Check this to indicate that when a remote CICS region handles a START request shipped to it by this CICS region, and the terminal that should be started is not defined on the remote system, the remote region should assume that the terminal is defined on the originating system and should start a terminal anyway. If you leave this unchecked, the remote system returns a TERMIDERR to the originating region.

Separators

Specify Date for the character used to separate the day, month and year components of the date. You can specify any displayable character.

Specify Time for the character used to separate the hours, minutes and seconds components of the time. You can specify any displayable character.

Addressing
Specify the format in which pointers are stored.

Native: pointers are stored in the format used by the operating system.

24: pointers are stored in a 24-bit format. This format is compatible with "below-the-line" storage on the mainframe, in which the top eight bits of the pointer are masked off when the address of a linkage item is set from the pointer. This means that the top eight bits can be manipulated directly by the user's code.

31: pointers are stored in a 31-bit format. This format is compatible with "above-the-line" storage on the mainframe, in which the top bit of the pointer is masked off when the address of a linkage item is set from the pointer. This means that the top bit can be manipulated directly by the user's code.

TCP Connect: Yes, Port

Not used.

ID Timeout

Specify the time in minutes that the system will allow an ESMAC or TN3270 client session to remain idle before logging off the user. A value of 0 indicates that there is no timeout. You can override this value at runtime by changing the ID Timeout on the ESMAC Control screen.

IBM Client

Check Yes to indicate that an IBM Universal Clients gateway is to be established when the region starts up.

Use Port to specify the TCP/IP port number to use for the Universal Clients gateway. This must match the TCP/IP port number you specify in the Universal Clients configuration file except that if you use the defaults, the value in the configuration file is 0 whereas the value here is 1435.

Use Count to specify the number of sessions you want allocated to servicing inbound requests per connection, where connection corresponds to a client machine.

Input Timeout

Specify the maximum time in seconds allowed for operator response to an explicit CICS RECEIVE command before the transaction is abended. A value of 0 indicates that there is no timeout. You can override this value at runtime by changing the Input Timeout on the ESMAC Control screen. You can also override this value for an individual transaction through the relevant Program Control Table entry.

Local Trace Entry Count (MFCS)

Specify the number of entries the local trace table for service execution processes can hold before it wraps back to the start. A value of 0 (zero) means that no local trace table is allocated. Each service execution process has its own local trace table. Each entry is 24 bytes long.

The default is the value specified in Local Trace Size on the Server > Properties > Diagnostics page in ES Admin. If you specify a value here it overrides that value.

Runaway Timeout

Specify the maximum continuous period of time in seconds that the region will allow a transaction to run without making a CICS, EZASOKET or MQSeries API call. When this time is exceeded, the transaction is abended. A value of 0 indicates that there is no timeout. You can override this value at runtime by changing the Runaway Timeout on the ESMAC Control screen. You can also override this value for an individual transaction through the relevant Program Control Table entry.

Local Trace Entry Count (AUX)

Specify the number of entries the local trace table for auxiliary processes can hold before it wraps back to the start. A value of 0 (zero) means that no local trace table is allocated. Auxiliary processes include processes that handle journal control, extra-partition transient data, etc. Each auxiliary process has its own local trace table. Each entry is 24 bytes long.

The default is the value specified in Local Trace Size on the Server > Properties > Diagnostics page in ES Admin. If you specify a value here it overrides that value.

Deadlock Timeout

Specify the maximum time in seconds that the region will permit an application to wait for a resource that has been locked by another process. A value of 0 indicates that there is no timeout. You can override this value at runtime by changing the Deadlock Timeout on the ESMAC Control screen. You can also override this value for an individual transaction through the relevant Program Control Table entry.

Transaction Threshold

Specify the maximum length of time in seconds that a transaction can run before a message is logged to the console to indicate that it has exceeded its threshold. A value of 0 indicates that there is no threshold.

The Transaction Threshold value can be overridden using the Transaction Threshold field of a PCT entry.

IBM MQ

Check this to enable support for IBM MQSeries®.

Q Manager

Specify the name of the IBM MQSeries® queue manager. Can be up to 48 characters.

IBM MQ CKTI

Check this to enable the transaction CKTI, which monitors the IBM MQSeries® initiation queue.

Initiation Q

Specify the name of the IBM MQSeries® initiation queue. Can be up to 48 characters.

Print Destination

Specify the printer destination, up to 14 characters in length. You must check 3270 Print before you specify a printer destination.

Program Lists

Use Post Initialization to specify a program list table (PLT) entry that specifies the initialization programs to be run when the region is started. If you leave this field blank then no special processing is done when the region is started.

Use Shut Down to specify a program list table (PLT) entry that specifies the shutdown programs to be run when the region is stopped. If you leave this field blank then no special processing is done when the region is stopped.

Fileshare

Check this to create a dedicated Fileshare server process as part of region startup.

Fileshare User

Specify the user ID to be used by the region to log on to all Fileshare servers that MSS is configured to use. Can be up to 20 characters. You should specify a user ID only if Fileshare security is enabled. If you specify a user ID, you must also specify a password in Password. The user ID and password combination must correspond to an entry in the password file of each Fileshare server the region is to access.

Password

Specify the 20-character password used in conjunction with User ID to log on to all Fileshare servers that MSS is configured to use. There are two password fields; you need to enter the password in both fields, and the two entries must match. Can be up to 20 characters.

Ext. Shutdown

Choose the type of external shutdown that you want. An external shutdown is a shutdown of the server initiated by you clicking Shutdown on the Control page, Stop Server on the Enterprise Server Administration Server Details page, or issuing a casstop command. You can choose from:

  • Allowed: no special privileges are required
  • Logon: a successful logon must be made first
  • None: no external shutdown is allowed
Note: If you choose Logon, you cannot shut down the server by clicking Stop Server on the Enterprise Server Administration Server Details page. You must use casstop and must supply an ESMAC user ID and password.
Ext. Shutdown, Security Key

Specify a security key number. MSS checks this against the shutdown security key specified when you shut down the region. You need to specify a security key number only if you choose Logon in External Shutdown.

CICS Release

Choose the version of CICS that MSS is emulating. This is the number returned by an EXEC CICS INQUIRE SYSTEM RELEASE () command.

Program

Check this to have MSS reload programs each time they are invoked. This applies only to programs that are not marked resident and have not been loaded with the hold attribute.

Development SIT

Check this to indicate that this is a development SIT. The effect of this is:

  • If you have defined a group with the same name as the SIT, the group is automatically added to the startup list
  • Security is turned off even if the group has security turned on
Terminal

Check this to have MSS wait on each terminal control or BMS SEND operation until it receives a response. If you leave the box unchecked (the default) MSS does not wait on each SEND, thus enabling terminal control and send operations to be buffered, which improves performance.

Commarea

Specify the minimum amount of storage to be allocated to the communications area (COMMAREA) to allow MSS to behave like mainframe CICS. The size is in the range 0 through 32767. The effect of this is that when a program is passed a COMMAREA smaller than the COMMAREA defined in the program, the passed COMMAREA is automatically extended in length to fill the defined space.

Defer Install

Choose the number of PCT groups whose loading you want to defer.

If you choose None, all PCT entries are loaded into memory when the region starts up. This is the default.

If you choose All groups, none of the PCT entries are loaded into memory when the region starts up.

If you choose one of the other values, Last 63 groups, Last 62 groups and so on, the PCT entries in those groups are not loaded into memory when the region starts up. For example, if you choose Last 3 groups, the last three groups in the startup list's precedence order are not loaded into memory when the region starts up.

Dump On, Abend

Check this to indicate that MSS should produce a dump if an abend occurs in any of your transaction programs. If you check this field, then you can control whether or not a dump is produced for an individual program by checking or unchecking Dump on ABEND on the PCT page. If you leave this field unchecked, MSS ignores the setting of Dump on ABEND on the PCT page.

Dump On, System Abend

Check this to indicate that MSS should produce a dump if an abend occurs in its own code.

Aux Trace

Check this to indicate that trace records are to be written to a file. You should do this only if you have adequate disk space available, since the file can become very big very quickly. Writing out to a file also degrades performance.

Cold Start

Check this to indicate that the auxiliary trace and dump file is to be deleted at region startup.

Trace Points
all

Choose a setting to apply to all the trace points:

  • On - enables all trace points.
  • Off - disables all trace points.
Note: When you set all the trace points on at once, the trace points CCI, fh and fh-enable are unaffected. This is because these trace points should be used only when advised by Micro Foucs.
Server
dmp

Check this to indicate that MSS is to trace its dump control component.

tcp

Check this to indicate that MSS is to trace its terminal control component.

tmp

Check this to indicate that MSS is to trace its table management component.

exits

Check this to indicate that MSS is to trace the user exits.

fh-enable

Do not check this unless advised by Micro Focus.

msg

Check this to indicate that MSS is to trace its messages component.

fh

Do not check this unless advised by Micro Focus.

jcp

Check this to indicate that MSS is to trace its journal control component.

scp

Check this to indicate that MSS is to trace its storage control component.

CICS
api

Check this to indicate that MSS is to trace the CICS API calls.

icp

Check this to indicate that MSS is to trace its interval control component.

ts-td

Check this to indicate that MSS is to trace its temporary storage/transient data (TS/TD) component.

fcp

Check this to indicate that MSS is to trace its file control component.

kcp

Check this to indicate that MSS is to trace its task control component.

user

Check this to enable user trace.

Communications
cci

Do not check this unless advised by Micro Focus.

comms

Check this to indicate that MSS is to trace its communications component.

Temp. Storage

Check Cold Start to indicate that MSS should reset temporary storage queues at region startup.

Specify a Fileshare server ID for non-recoverable temporary storage queues.

Specify the path of the Fileshare server for non-recoverable temporary storage queues.

Recoverable (recoverable temporary storage queues)

Check Cold Start to indicate that MSS should reset temporary storage queues at region startup.

Specify a Fileshare server ID for recoverable temporary storage queues.

Specify the path of the Fileshare server for recoverable temporary storage queues.

Transient Data

Check Cold Start to indicate that MSS should reset transient data queues at region startup.

Specify a Fileshare server ID for non-recoverable transient data queues.

Check Require Def. to indicate that a transaction program executing in this region can create a transient data queue only if it has been defined in the destination control table (DCT). Applies only to intrapartition transient data queues.

Specify the path of the Fileshare server for non-recoverable transient data queues.

Recoverable (recoverable transient data queues)

Check Cold Start to indicate that MSS should reset transient data queues at region startup.

Specify a Fileshare server ID for recoverable transient data queues.

Specify the path of the Fileshare server for recoverable transient data queues.

Basic Mapping Page Commands

Use Retrieve to specify the character string that BMS control is to interpret as the BMS paging command RETRIEVE.

Use Chain to specify the character string that BMS control is to interpret as the BMS paging command CHAIN

Use Purge to specify the character string that BMS control is to interpret as the BMS paging command PURGE

Use Copy to specify the character string that BMS control is to interpret as the BMS paging command COPY

Single Key

For each key from PF1 through PF24 and PA1 through PA3, specify a character string on the PC that is to equate to a BMS paging command.

Parent topic: SIT


CICS SIT Details

Use this page to view the details for the System Initialization Table (SIT) named sit_name. If you have the required permissions, you can also:

  • Edit the configurable settings of the current SIT
  • Delete the current SIT
  • Create a new SIT, based on the settings in this SIT

Click Apply to save changes you make to the page. This button is displayed only if you have permission to edit the SIT.

Name

Shows the name of the SIT.

Description

Specify a short description of the SIT. The SIT description can contain the characters A-Z, 0-9, #, @, and $.

Startup List

Choose the startup list that you want to associate with this SIT from the dropdown list. The startup list determines which resources are loaded when the server is initialized.

Work Area

Specify the size of the region's common work area (CWA) in bytes in the range 0 through 32767. This area is shared among applications running in the region (enterprise server).

SysID

Specify the system ID of the region (enterprise server). (This is the name by which it is known to other regions.)

Initial Tran ID

Specify the ID of an initial transaction that runs on every terminal when it logs on to the region.

Auto Install Exit

Specify the name of the program to be used to autoinstall terminals. Choose from:

  • DFHZATDX - the autoinstall program supplied with MSS. This is the default value.
  • user-specified - the name of your autoinstall exit program. Up to 8 characters from 0 through 9, A through Z, @, # and $. The first character must not be numeric.
Date Format

Choose the display format used to display the date. This is used in conjunction with the FULLDATE (for four-digit years) or DATE (for two-digit years) operands of the EXEC CICS FORMATTIME command. This setting only determines the order of day, month, and year; it does not prevent four digits from being displayed.

3270 Print

Check this to indicate that the region supports a printer.

3270 SNA Simulate end-bracket

Check this if you want MSS to simulate SNA end-of-transaction keyboard unlock. You might want to do this if you have migrated applications that were accessed on the mainframe from SNA devices and are now using TN3270 clients to access them. It is an alternative to specifying the free keyboard bit in the CTLCHAR operand of the SEND 3270 CICS command.

Remote 3270

Check this to indicate that when a remote CICS region handles a START request shipped to it by this CICS region, and the terminal that should be started is not defined on the remote system, the remote region should assume that the terminal is defined on the originating system and should start a terminal anyway. If you leave this unchecked, the remote system returns a TERMIDERR to the originating region.

Separators

Specify Date for the character used to separate the day, month and year components of the date. You can specify any displayable character.

Specify Time for the character used to separate the hours, minutes and seconds components of the time. You can specify any displayable character.

Addressing
Specify the format in which pointers are stored.

Native: pointers are stored in the format used by the operating system.

24: pointers are stored in a 24-bit format. This format is compatible with "below-the-line" storage on the mainframe, in which the top eight bits of the pointer are masked off when the address of a linkage item is set from the pointer. This means that the top eight bits can be manipulated directly by the user's code.

31: pointers are stored in a 31-bit format. This format is compatible with "above-the-line" storage on the mainframe, in which the top bit of the pointer is masked off when the address of a linkage item is set from the pointer. This means that the top bit can be manipulated directly by the user's code.

TCP Connect: Yes, Port

Not used.

ID Timeout

Specify the time in minutes that the system will allow an ESMAC or TN3270 client session to remain idle before logging off the user. A value of 0 indicates that there is no timeout. You can override this value at runtime by changing the ID Timeout on the ESMAC Control screen.

IBM Client

Check Yes to indicate that an IBM Universal Clients gateway is to be established when the region starts up.

Use Port to specify the TCP/IP port number to use for the Universal Clients gateway. This must match the TCP/IP port number you specify in the Universal Clients configuration file except that if you use the defaults, the value in the configuration file is 0 whereas the value here is 1435.

Use Count to specify the number of sessions you want allocated to servicing inbound requests per connection, where connection corresponds to a client machine.

Input Timeout

Specify the maximum time in seconds allowed for operator response to an explicit CICS RECEIVE command before the transaction is abended. A value of 0 indicates that there is no timeout. You can override this value at runtime by changing the Input Timeout on the ESMAC Control screen. You can also override this value for an individual transaction through the relevant Program Control Table entry.

Local Trace Entry Count (MFCS)

Specify the number of entries the local trace table for service execution processes can hold before it wraps back to the start. A value of 0 (zero) means that no local trace table is allocated. Each service execution process has its own local trace table. Each entry is 24 bytes long.

The default is the value specified in Local Trace Size on the Server > Properties > Diagnostics page in ES Admin. If you specify a value here it overrides that value.

Runaway Timeout

Specify the maximum continuous period of time in seconds that the region will allow a transaction to run without making a CICS, EZASOKET or MQSeries API call. When this time is exceeded, the transaction is abended. A value of 0 indicates that there is no timeout. You can override this value at runtime by changing the Runaway Timeout on the ESMAC Control screen. You can also override this value for an individual transaction through the relevant Program Control Table entry.

Local Trace Entry Count (AUX)

Specify the number of entries the local trace table for auxiliary processes can hold before it wraps back to the start. A value of 0 (zero) means that no local trace table is allocated. Auxiliary processes include processes that handle journal control, extra-partition transient data, etc. Each auxiliary process has its own local trace table. Each entry is 24 bytes long.

The default is the value specified in Local Trace Size on the Server > Properties > Diagnostics page in ES Admin. If you specify a value here it overrides that value.

Deadlock Timeout

Specify the maximum time in seconds that the region will permit an application to wait for a resource that has been locked by another process. A value of 0 indicates that there is no timeout. You can override this value at runtime by changing the Deadlock Timeout on the ESMAC Control screen. You can also override this value for an individual transaction through the relevant Program Control Table entry.

Transaction Threshold

Specify the maximum length of time in seconds that a transaction can run before a message is logged to the console to indicate that it has exceeded its threshold. A value of 0 indicates that there is no threshold.

The Transaction Threshold value can be overridden using the Transaction Threshold field of a PCT entry.

IBM MQ

Check this to enable support for IBM MQSeries®.

Q Manager

Specify the name of the IBM MQSeries® queue manager. Can be up to 48 characters.

IBM MQ CKTI

Check this to enable the transaction CKTI, which monitors the IBM MQSeries® initiation queue.

Initiation Q

Specify the name of the IBM MQSeries® initiation queue. Can be up to 48 characters.

Print Destination

Specify the printer destination, up to 14 characters in length. You must check 3270 Print before you specify a printer destination.

Program Lists

Use Post Initialization to specify a program list table (PLT) entry that specifies the initialization programs to be run when the region is started. If you leave this field blank then no special processing is done when the region is started.

Use Shut Down to specify a program list table (PLT) entry that specifies the shutdown programs to be run when the region is stopped. If you leave this field blank then no special processing is done when the region is stopped.

Fileshare

Check this to create a dedicated Fileshare server process as part of region startup.

Fileshare User

Specify the user ID to be used by the region to log on to all Fileshare servers that MSS is configured to use. Can be up to 20 characters. You should specify a user ID only if Fileshare security is enabled. If you specify a user ID, you must also specify a password in Password. The user ID and password combination must correspond to an entry in the password file of each Fileshare server the region is to access.

For more information about Fileshare security, see the chapter Security in the Fileshare Guide.

Password

Specify the 20-character password used in conjunction with User ID to log on to all Fileshare servers that MSS is configured to use. There are two password fields; you need to enter the password in both fields, and the two entries must match. Can be up to 20 characters.

Ext. Shutdown

Choose the type of external shutdown that you want. An external shutdown is a shutdown of the server initiated by you clicking Shutdown on the Control page, Stop Server on the Enterprise Server Administration Server Details page, or issuing a casstop command. You can choose from:

  • Allowed: no special privileges are required
  • Logon: a successful logon must be made first
  • None: no external shutdown is allowed
Note: If you choose Logon, you cannot shut down the server by clicking Stop Server on the Enterprise Server Administration Server Details page. You must use casstop and must supply an ESMAC user ID and password.
Ext. Shutdown, Security Key

Specify a security key number. MSS checks this against the shutdown security key specified when you shut down the region. You need to specify a security key number only if you choose Logon in External Shutdown.

CICS Release

Choose the version of CICS that MSS is emulating. This is the number returned by an EXEC CICS INQUIRE SYSTEM RELEASE () command.

Program

Check this to have MSS reload programs each time they are invoked. This applies only to programs that are not marked resident and have not been loaded with the hold attribute.

Development SIT

Check this to indicate that this is a development SIT. The effect of this is:

  • If you have defined a group with the same name as the SIT, the group is automatically added to the startup list
  • Security is turned off even if the group has security turned on
Terminal

Check this to have MSS wait on each terminal control or BMS SEND operation until it receives a response. If you leave the box unchecked (the default) MSS does not wait on each SEND, thus enabling terminal control and send operations to be buffered, which improves performance.

Commarea

Specify the minimum amount of storage to be allocated to the communications area (COMMAREA) to allow MSS to behave like mainframe CICS. The size is in the range 0 through 32767. The effect of this is that when a program is passed a COMMAREA smaller than the COMMAREA defined in the program, the passed COMMAREA is automatically extended in length to fill the defined space.

Defer Install

Choose the number of PCT groups whose loading you want to defer.

If you choose None, all PCT entries are loaded into memory when the region starts up. This is the default.

If you choose All groups, none of the PCT entries are loaded into memory when the region starts up.

If you choose one of the other values, Last 63 groups, Last 62 groups and so on, the PCT entries in those groups are not loaded into memory when the region starts up. For example, if you choose Last 3 groups, the last three groups in the startup list's precedence order are not loaded into memory when the region starts up.

Dump On, Abend

Check this to indicate that MSS should produce a dump if an abend occurs in any of your transaction programs. If you check this field, then you can control whether or not a dump is produced for an individual program by checking or unchecking Dump on ABEND on the PCT page. If you leave this field unchecked, MSS ignores the setting of Dump on ABEND on the PCT page.

Dump On, System Abend

Check this to indicate that MSS should produce a dump if an abend occurs in its own code.

Aux Trace

Check this to indicate that trace records are to be written to a file. You should do this only if you have adequate disk space available, since the file can become very big very quickly. Writing out to a file also degrades performance.

Cold Start

Check this to indicate that the auxiliary trace and dump file is to be deleted at region startup.

Trace Points
all

Choose a setting to apply to all the trace points:

  • On - enables all trace points.
  • Off - disables all trace points.
Note: When you set all the trace points on at once, the trace points CCI, fh and fh-enable are unaffected. This is because these trace points should be used only when advised by Micro Foucs.
Server
dmp

Check this to indicate that MSS is to trace its dump control component.

tcp

Check this to indicate that MSS is to trace its terminal control component.

tmp

Check this to indicate that MSS is to trace its table management component.

exits

Check this to indicate that MSS is to trace the user exits.

fh-enable

Do not check this unless advised by Micro Focus.

msg

Check this to indicate that MSS is to trace its messages component.

fh

Do not check this unless advised by Micro Focus.

jcp

Check this to indicate that MSS is to trace its journal control component.

scp

Check this to indicate that MSS is to trace its storage control component.

CICS
api

Check this to indicate that MSS is to trace the CICS API calls.

icp

Check this to indicate that MSS is to trace its interval control component.

ts-td

Check this to indicate that MSS is to trace its temporary storage/transient data (TS/TD) component.

fcp

Check this to indicate that MSS is to trace its file control component.

kcp

Check this to indicate that MSS is to trace its task control component.

user

Check this to enable user trace.

Communications
cci

Do not check this unless advised by Micro Focus.

common

Check this to indicate that MSS is to trace its communications component.

Temp. Storage

Check Cold Start to indicate that MSS should reset temporary storage queues at region startup.

Specify a Fileshare server ID for non-recoverable temporary storage queues.

Specify the path of the Fileshare server for non-recoverable temporary storage queues.

Recoverable (recoverable temporary storage queues)

Check Cold Start to indicate that MSS should reset temporary storage queues at region startup.

Specify a Fileshare server ID for recoverable temporary storage queues.

Specify the path of the Fileshare server for recoverable temporary storage queues.

Transient Data

Check Cold Start to indicate that MSS should reset transient data queues at region startup.

Specify a Fileshare server ID for non-recoverable transient data queues.

Check Require Def. to indicate that a transaction program executing in this region can create a transient data queue only if it has been defined in the destination control table (DCT). Applies only to intrapartition transient data queues.

Specify the path of the Fileshare server for non-recoverable transient data queues.

Recoverable (recoverable transient data queues)

Check Cold Start to indicate that MSS should reset transient data queues at region startup.

Specify a Fileshare server ID for recoverable transient data queues.

Specify the path of the Fileshare server for recoverable transient data queues.

Basic Mapping Page Commands

Use Retrieve to specify the character string that BMS control is to interpret as the BMS paging command RETRIEVE.

Use Chain to specify the character string that BMS control is to interpret as the BMS paging command CHAIN

Use Purge to specify the character string that BMS control is to interpret as the BMS paging command PURGE

Use Copy to specify the character string that BMS control is to interpret as the BMS paging command COPY

Single Key

For each key from PF1 through PF24 and PA1 through PA3, specify a character string on the PC that is to equate to a BMS paging command.

Delete

Click this to delete the current SIT. You see this button only if you have editing permissions for the SIT.

Copy

Click this to create a new SIT, based on the entries in the current SIT.

Dump

Click this to create and view dump information for this SIT.

Parent topic: SIT


by StartL

  • DCTs for CICS Startup List name
  • FCTs for CICS Startup List name
  • JCTs for CICS Startup List name
  • PCTs for CICS Startup List name
  • PLTs for CICS Startup List name
  • PPTs for CICS Startup List name
  • Sys62s for CICS Startup List name
  • SysCs for CICS Startup List name
  • Terms for CICS Startup List name
  • TSTs for CICS Startup List name
  • T-Types for CICS Startup List name
  • XATs for CICS Startup List name
Parent topic: Resources


DCTs for CICS Startup List name

Use this page to view the DCTs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the DCT resource group in this row.

The rest of the information in this row shows:

  • The name of the DCT.
  • The type of resource (in this case, a DCT).
  • The resource group this DCT belongs to.
  • The short description of the DCT.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


FCTs for CICS Startup List name

Use this page to view the FCTs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the FCT.

The rest of the information in this row shows:

  • The name of the FCT.
  • The type of resource (in this case, an FCT).
  • The resource group this FCT belongs to.
  • The short description of the FCT.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


JCTs for CICS Startup List name

Use this page to view the JCTs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the JCT in this row.

The rest of the information in this row shows:

  • The name of the JCT.
  • The type of resource (in this case, a JCT).
  • The resource group this JCT belongs to.
  • The short description of the JCT.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


PCTs for CICS Startup List name

Use this page to view the PCTs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the PCT in this row.

The rest of the information in this row shows:

  • The name of the PCT.
  • The type of resource (in this case, a PCT).
  • The resource group this PCT belongs to.
  • The short description of the PCT.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


PLTs for CICS Startup List name

Use this page to view the PLTs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the PLT in this row.

The rest of the information in this row shows:

  • The name of the PLT.
  • The type of resource (in this case, a PLT).
  • The resource group this PLT belongs to.
  • The short description of the PLT.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


PPTs for CICS Startup List name

Use this page to view the PPTs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the PPT in this row.

The rest of the information in this row shows:

  • The name of the PPT.
  • The type of resource (in this case, a PPT).
  • The resource group this PPT belongs to.
  • The short description of the PPT.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


Sys62s for CICS Startup List name

Use this page to view the Sys62s defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the Sys62 in this row.

The rest of the information in this row shows:

  • The name of the Sys62.
  • The type of resource (in this case, a Sys62).
  • The resource group this Sys62 belongs to.
  • The short description of the Sys62.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


SysCs for CICS Startup List name

Use this page to view the SysCs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the SysC in this row.

The rest of the information in this row shows:

  • The name of the SysC.
  • The type of resource (in this case, a SysC).
  • The resource group this SysC belongs to.
  • The short description of the SysC.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


Terms for CICS Startup List name

Use this page to view the Terms defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the Term in this row.

The rest of the information in this row shows:

  • The name of the Term.
  • The type of resource (in this case, a Term).
  • The resource group this Term belongs to.
  • The short description of the Term.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


TSTs for CICS Startup List name

Use this page to view the TSTs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the TST in this row.

The rest of the information in this row shows:

  • The name of the TST.
  • The type of resource (in this case, a TST).
  • The resource group this TST belongs to.
  • The short description of the TST.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


T-Types for CICS Startup List name

Use this page to view the T-Types defined in resource groups used by the startup list name.

Details

Display detailed information for the T-Type.

The rest of the information in this row shows:

  • The name of the T-Type.
  • The type of resource (in this case, a T-Type).
  • The resource group this T-Type belongs to.
  • The short description of the T-Type.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


XATs for CICS Startup List name

Use this page to view the XATs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the XAT in this row.

The rest of the information in this row shows:

  • The name of the XAT.
  • The type of resource (in this case, a XAT).
  • The resource group this XAT belongs to.
  • The short description of the XAT.
New

Click one of the buttons to create a new resource.

Parent topic: by StartL


by Type

  • CICS Startup List list_name or CICS Defined resource
  • CICS Defined DCT
  • CICS Defined FCT
  • CICS Defined JCT
  • CICS Defined PCT
  • CICS Defined PLT
  • CICS Defined PPT
  • CICS Defined Sys62
  • CICS Defined SysC
  • CICS Defined Term
  • CICS Defined TST
  • CICS Defined T-Type
  • CICS Defined URIMAP
  • CICS Defined TCP/IP Service
  • CICS Defined XAT
Parent topic: Resources


CICS Defined DCT

Use this page to view all defined DCTs. You can also create a new resource from this page.

Details

Click this to see detailed information for the DCT in this row.

The rest of the information in this row shows:

  • The name of the DCT.
  • The type of resource (in this case, a DCT).
  • The resource group this DCT belongs to.
  • The short description of the DCT.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined FCT

Use this page to view all defined FCTs. You can also create a new resource from this page.

Details

Click this to see detailed information for the FCT.

The rest of the information in this row shows:

  • The name of the FCT.
  • The type of resource (in this case, an FCT).
  • The resource group this FCT belongs to.
  • The short description of the FCT.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined JCT

Use this page to view all defined JCTs. You can also create a new resource from this page.

Details

Click this to see detailed information for the JCT in this row.

The rest of the information in this row shows:

  • The name of the JCT.
  • The type of resource (in this case, a JCT).
  • The resource group this JCT belongs to.
  • The short description of the JCT.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined PCT

Use this page to view all the defined PCTs. You can also create a new resource from this page.

Details

Click this to see detailed information for the PCT in this row.

The rest of the information in this row shows:

  • The name of the PCT.
  • The type of resource (in this case, a PCT).
  • The resource group this PCT belongs to.
  • The short description of the PCT.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined PLT

Use this page to view all the defined PLTs. You can also create a new resource from this page.

Details

Click this to see detailed information for the PLT in this row.

The rest of the information in this row shows:

  • The name of the PLT.
  • The type of resource (in this case, a PLT).
  • The resource group this PLT belongs to.
  • The short description of the PLT.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined PPT

Use this page to view all the PPTs defined on this server. You can also create a new resource from this page.

Details

Click this to see detailed information for the PPT in this row.

The rest of the information in this row shows:

  • The name of the PPT.
  • The type of resource (in this case, a PPT).
  • The resource group this PPT belongs to.
  • The short description of the PPT.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined Sys62

Use this page to view all the Sys62s defined on this server. You can also create a new resource from this page.

Details

Click this to see detailed information for the Sys62 in this row.

The rest of the information in this row shows:

  • The name of the Sys62.
  • The type of resource (in this case, a Sys62).
  • The resource group this Sys62 belongs to.
  • The short description of the Sys62.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined SysC

Use this page to view all the SysCs defined on this server. You can also create a new resource from this page.

Details

Click this to see detailed information for the SysC in this row.

The rest of the information in this row shows:

  • The name of the SysC.
  • The type of resource (in this case, a SysC).
  • The resource group this SysC belongs to.
  • The short description of the SysC.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined Term

Use this page to view all the Terms defined on this server. You can also create a new resource from this page.

Details

Click this to display detailed information for the Term in this row.

The rest of the information in this row shows:

  • The name of the Term.
  • The type of resource (in this case, a Term).
  • The resource group this Term belongs to.
  • The short description of the Term.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined TST

Use this page to view all the TSTs defined on this server. You can also create a new resource from this page.

Details

Click this to see detailed information for the TST in this row.

The rest of the information in this row shows:

  • The name of the TST.
  • The type of resource (in this case, a TST).
  • The resource group this TST belongs to.
  • The short description of the TST.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined T-Type

Use this page to view a list of all the T-Types defined on this server. You can also create a new resource from this page.

Details

Click this to see detailed information for the T-Type in this row.

The rest of the information in this row shows:

  • The name of the T-Type.
  • The type of resource (in this case, a T-Type).
  • The resource group this T-Type belongs to.
  • The short description of the T-Type.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


CICS Defined URIMAP

Use this page to view all defined URIMAPs. You can also create a new resource from this page.

Details
Click this to see detailed information for the URIMAP in this row.

The rest of the information in this row shows the name of the URIMAP, the group to which it belongs, whether the URIMAP definition is for an HTTP server or client, and whether it is enabled or disabled.

New
Click one of the buttons to create a new resource.
Parent topic: by Type


CICS Defined TCP/IP Service

Use this page to view all defined TCPIPSERVICE. You can also create a new resource from this page.

Details
Click this to see detailed information for the TCPIPSERVICE in this row.

The rest of the information in this row shows the name of the TCPIPSERVICE and its current status.

New
Click one of the buttons to create a new resource.
Parent topic: by Type


CICS Defined XAT

Use this page to view the XATs defined in resource groups used by the startup list name. You can also create a new resource from this page.

Details

Click this to see detailed information for the XAT in this row.

The rest of the information in this row shows:

  • The name of the XAT.
  • The type of resource (in this case, a XAT).
  • The resource group this XAT belongs to.
  • The short description of the XAT.
New

Click one of the buttons to create a new resource.

Parent topic: by Type


JES

  • JES Queue
  • Create a New JES
  • Job Details
  • Job Output
  • JCL Control
Parent topic: Resources


JES Queue

Use this page to view the spool files that have been created as a result of submitting JCL on this server.

Note: The title of the page indicates the type of queue that is currently being displayed.
Job

Enter a job number in the display field then click this to see details of that job.

Filters

Use this group of fields to apply filters to the list of data sets so that you can just view a subset.

Name filter

Enter the job name of the job for which you want to view the list of data sets in a queue. You can use a single asterisk as a wild card.

User filter

Enter the user ID for which you want to view the list of data sets in a queue. If you did not specify a USER on the JOB card, the user ID is the name of the enterprise server. You can use a single asterisk as a wild card.

Job No filter

Enter the job number of the job for which you want to view the list of data sets in a queue. You can use a single asterisk as a wild card.

Queue

Click one of the buttons to the right of this field to choose a queue to view.

Input

Click this to see the input queue. This lists jobs waiting to start (usually because no initiator for the correct class is currently available).

In Hold

Click this to see the held input queue. This lists jobs that are held (HOLD on the JOB card, or Hold button on a job’s entry in the input queue).

Active

Click this to see the active jobs queue. This lists jobs that are currently running.

Output

Click this to see the output queue. This lists finished jobs whose output is waiting to be sent to an output device (usually because no SYSOUT processor for the correct class is currently available).

Out Hold

Click this to see the held output queue. This lists finished jobs whose output data sets are held (Hold button on a job’s entry in the output queue).

Printing

Click this to see the printing queue. This lists data sets that are currently being printed.

Display

Click this to see details of one of the jobs in the queue. First click the check box to the left of the row describing the job of interest.

Delete

Click this to delete one or more of the jobs in the queue. First click the check boxes to the left of the rows describing the jobs you want to delete. To delete all the jobs click the check box to the left of Display; this selects all the jobs.

Name

Shows the name of the job as specified on the JOB card.

Job No

Shows the number of the job as allocated by JCL Support.

C

Shows the class of the job, as specified on the JOB card.

Pr

Shows the priority of the job, as specified on the JOB card.

User

Shows the user ID under which the job as run. If you did not specify a USER on the JOB card, the user ID is the name of the enterprise server.

Status

Shows the current status of the job. The possible values are

Active | The job is currently being executed
Dispatched | The job is scheduled to a batch or printer process but not yet actioned (transient state)
Input Hold | The job is currently held in the input queue: it will not be executed until you release it
Input Ready | The job is currently in the input queue
Other | The status is unknown
Output Hold | The output from the job is held awaiting release
Output Ready | The output from the job is available to be scheduled
Parsing | MSS is currently parsing the JCL
SYSOUT Disp | The output data set is scheduled to an output device but not yet actioned (transient state)
SYSOUT Hold | The output data set is held awaiting release
SYSOUT Print | The output data set has been printed but other parts of the job are still pending
SYSOUT Ready | The output data set is available to be scheduled to an output device
Submitted

Shows the date and time when the job was submitted.

Parent topic: JES


Create a New JES

Use this page to create a new batch initiator or batch printer SEP for a group that belongs to a JCL SIT.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new JES SEP.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group page group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new JES SEP definition to the group you specify in Grp. The button changes to Apply.

Name

Specify the name of this JES SEP.

Grp

Choose a group to which this JES SEP will belong. The list of groups from which you can choose include only those that can be edited by you.

Description

Specify a short description of the JES SEP. Acceptable characters are A through Z, 0 through 9, $, @ and #.

Type

Choose a type for the new JES SEP, either initiator or printer.

Classes

Specify the classes of jobs that this SEP is to handle. Use upper case with no space between classes.

Parent topic: JES


Job Details

Use this page to view details of a job's execution and change control information for a job.

Job

Specify the number of a different job from the one being displayed, then click this to go to the Details page for that job.

Name

Shows the name of the job as specified on the JOB card.

Status

Shows the current status of the job. The possible values are

Active | The job is currently being executed; the Process ID (PID) of the job is shown.
Dispatched | The job is scheduled to a batch or printer process but not yet actioned (transient state)
Input Hold | The job is currently held in the input queue: it will not be executed until you release it
Input Ready | The job is currently in the input queue
Other | The status is unknown
Output Hold | The output from the job is held awaiting release
Output Ready | The output from the job is available to be scheduled
Parsing | MSS is currently parsing the JCL
Hold

Click this to hold the job, so that it cannot run until you click Release. (This button changes to a Release button when you click it.) If you have also changed the value for Class or Priority the change is applied.

Release

Click this to release a held job, so that it can run. (This button changes to a Hold button when you click it.) If you have also changed the value for Class or Priority the change is applied.

Class

Shows the class of the job, as specified on the JOB card. If you want to change the class of the job, specify the new class and click Update. For example, you might want to change the class of a job to a class that has a batch printer SEP defined for it, so that the output data sets can be printed.

Priority

Shows the priority of the job, as specified on the JOB card. If you want to change the priority of the job, specify the new priority and click Update.

Update

Click this to apply any changes you have made to Class or Priority.

User

Shows the user ID under which the job was run. If you did not specify a USER on the JOB card, the user ID is the name of the enterprise server.

Delete

Click this to delete the job from the queue. All the files associated with the DD statements in the job are deleted.

File

Shows the full path of the file containing the JCL that was run.

Messages

The area under Page and File contains all the messages that were output by the JES system during the running of the job, in chronological order.

Reply

Click this to provide a reply to an ACCEPT FROM CONSOLE statement, once you have entered the reply in Enter. You see this only if the job is halted pending a reply.

Enter

Specify your reply to the ACCEPT FROM CONSOLE statement.

SYSOUT

Lists the output files that were created during the running of the job.

Status (output file)

Shows the current status of an output file created by the job:

Active | The job is currently being executed
Complete | The file has been printed
Input Hold | The job is currently held in the input queue: it will not be executed until you release it
Input Ready | The job is currently in the input queue
Other | The status is unknown
Output Hold | The output from the job is held awaiting release
Output Ready | The output from the job is available to be scheduled
Parsing | MSS is currently parsing the JCL
SYSOUT Disp | The output data set is scheduled to an output device but not yet actioned (transient state)
SYSOUT Hold | The output data set is held awaiting release
SYSOUT Printed | The output data set has been printed but other parts of the job are still pending
SYSOUT Ready | The output data set is available to be scheduled to an output device
Class (output file)

Shows the class of the job, as it was when the output files were created.

DDNAME

Shows the name of the data set produced by the job step; the first entry is always for the system log, sys.log.

Step

Shows the name of the job step that produced this file.

Nbr

Shows the number of the job step.

Proc Step

Shows the procedure step, where an output data set was created by a step in a procedure.

Records

Shows the number of records in the output file.

Details

Click this to display details of the output from an individual job step.

Parent topic: JES


Job Output

Use this page to view details of an output file from a job and to change control information for the file.

Job Name

Shows the name of the job to the right of the label. Shows the ddname of the output file to the left of the label.

Status

Shows the current status of the data set. The possible values are

Active | The job is currently being executed
Complete | The file has been printed
Input Hold | The job is currently held in the input queue: it will not be executed until you release it
Input Ready | The job is currently in the input queue
Other | The status is unknown
Output Held | The output from the job is held awaiting release
Output Ready | The output from the job is available to be scheduled
Parsing | MSS is currently parsing the JCL
SYSOUT Disp | The output data set is scheduled to an output device but not yet actioned (transient state)
SYSOUT Print | The output file is currently being printed
SYSOUT Hold | The output data set is scheduled to an output device but not yet actioned (transient state)
SYSOUT Ready | The output data set is available to be scheduled to an output device
Hold

Click this to hold the file, so that its status cannot be changed. (This button changes to a Release button when you click it.) If you have also changed the value for Class or Priority the change is applied.

Release

Click this to release a held file, so that its status can be changed. (This button changes to a Hold button when you click it.) If you have also changed the value for Class or Priority the change is applied.

Class

Shows the class of the file, as specified on the JOB card. If you want to change the class of the file, specify the new class and click Update.

Priority

Shows the priority of the file, as specified on the JOB card. If you want to change the priority of the file, specify the new priority and click Update.

Update

To change the class or priority of a file, modify the appropriate field and then click this.

User

Shows the user ID under which the job was run. If you did not specify a USER on the JOB card, the user ID is the name of the enterprise server.

Records

Shows the number of records in the output file.

Purge

Click this to delete the file.

Step

Shows the name of the job step that produced this file.

Proc Step

Shows the name of the procedure step, where an output data set was created by a step in a procedure.

Step Number

Shows the number of the job step that produced this file.

Proc Step No

Shows the number of the procedure step, where an output data set was created by a step in a procedure.

Codeset

Shows the codeset of the output file.

Created

Shows the date and time the output file was created.

LRECL Min / Max

Shows the maximum and minimum record lengths.

Referenced

Shows the date and time the file was last used in a job.

DS Name

Shows the data set name of the output file, in mainframe format.

PC Name

Shows the filename of the output file, in the format of your local operating system.

Display

Click this to display the contents of the file.

Start

Specify the number of the record where you want the display of the file contents to start. Defaults to 1.

for

Specify how many records you want to be displayed. Clear the field to view all the records in a file. Defaults to 10000. If there were more records than you requested, the final line in the listing warns you that the output was curtailed.

Note: Do not set this to more than 10000. If you ask for all the records in a very large file to be displayed, your browser will take some time to display them all, and might run out of memory. If you have Net Express, we recommend starting ES Admin from the Tools menu in the Net Express IDE, instead of in a separate browser. Files are then displayed using the Data File Editor, which does not have this limitation.
Codeset (for display)

Specify the codeset in which you want the contents to be displayed. Defaults to ASCII.

If you select Both, the system tries to display the contents without regard to the codeset used. For example, the strings x'41424344' and x'a1a2a3a4' are both displayed as "ABCD". You might find this of use if you are not sure what codeset was used to create the file.

The value 'Dump' gives you a hexadecimal dump of the file.

Details

Check this if you want extra details to be included in the display of the file contents.

Job

Specify the number of a different job from the one being displayed, then click this to go to the Details page for that job.

Parent topic: JES


JCL Control

Use this page to submit JCL jobs and start batch initiator and batch printer SEPs for this server.

Reply

Click this to provide a reply to an ACCEPT FROM CONSOLE statement. You see this only if the job is halted pending a reply.

PID

Shows the Process ID of the job waiting for the reply.

Description

Shows the job number of the job waiting for the reply and the reason why the reply is required.

Please enter a JCL file name (local to this ES).

Specify the path and name of the file containing the JCL job that you want to run.

Submit

Click this to run the JCL job you have specified.

Browse

Click this to search for the JCL file on your file system.

VSE

Click this if the job uses VSE JCL.

JES2

Click this if the job uses JES2 JCL.

JES3

Click this if the job uses JES3 JCL.

Start

Click this to start a batch initiator SEP or a batch printer SEP dynamically - it is created and starts at once, and exists only until the enterprise server is stopped. Specify details of the SEP in other fields on this page first.

Classes

Specify the classes that you want the batch initiator SEP or a batch printer SEP you are about to start to support.

Type

Choose the type of SEP you want to start from the list.

Exit Module

Specify the name of a printer exit module that you want to be invoked when the batch printer SEP is printing a file. Specify this only if you chose Printer in Type.

Debug

Click this if you want to debug the JCL job that will run in this SEP.

Printer Name

Select the printer that you want files output by this batch printer SEP to be sent to. Only printers known to the operating system are shown.

Job

Enter a job number in the entry field then click this to see details of that job.

Parent topic: JES


IMS

  • IMS Transactions
  • Create, View and Edit an IMS Transaction
  • IMS Control
Parent topic: Resources


IMS Transactions

Use this page to view the IMS transactions defined on the current server.

New

Click this to define a new transaction for use on the current server.

Details

Click this to view detailed information for the transaction. The rest of this row shows the following information for a transaction:

  • Name.
  • PSB name.
  • Description.
Parent topic: IMS


Create, View and Edit an IMS Transaction

Use this page to define a new transaction or view an existing one.

Name

Specify the name of the description.

Description

Specify a description for the transaction.

PSB Name

Specify the name of the PSB associated with this transaction.

Class

Specify the message class for this transaction.

Program Name

Specify the name of the application program associated with this transaction.

Schedule

Choose whether the application program can be scheduled into more than one message processing region simulatneously:

  • Parallel - the application program can be scheduled into more than one message processing region simulatneously.
  • Serial - the application program cannot be scheduled into more than one message processing region simulatneously.
SPA Size

Specify the size of the conversational scratchpad area (SPA). The size specified must be between 16 bytes and 32767 bytes.

SPA Truncate

Choose the setting of the truncated data option:

  • unspecified - the data option currently in effect for the conversation is used.
  • STRUNC - truncated data option is on.
  • RTRUNC - truncated data option is off.
Wait for input

Check this to specify that this is a wait-for-input (WFI) transaction.

Transaction threshold

Specify the maximum length of time in seconds that a transaction can run before a message is logged to the console to indicate that it has exceeded its threshold. This must be in the range 0 through 65535. A value of 0 indicates that there is no threshold.

Check Use System Value to use the system wide value for the transaction time threshold set in the ESMAC IMS Control page.

Priority

Specify the priority assigned to this transaction (and any messages it creates) when the number of input transactions enqueued and waiting to be processed is less than the value specified in P-Limit Count. The priority must be in the range 0 through 14. The default is 1.

Priority Limit

Specify the priority assigned to this transaction (and any messages it creates) when the number of input transactions enqueued and waiting to be processed is greater than or equal to the value specified in P-Limit Count. The priority must be in the range 0 through 14. The default is 1.

Max Segments

Specify the maximum number of application program output segments that are allowed into the message queues for each Get Unique (GU) call from the application program. The number must be in the range 0 through 65535. The default is 0. Specifying 0 indicates that the number of segments is not checked at execution time.

P-Limit Count

Specify the number of input transactions enqueued and waiting to be processed that determines whether the transaction's priority is the value specified in Priority or Priority Limit. The count must be in the range 1 through 65535. The default is 65535.

Deadlock Timeout

Specify the maximum time in seconds that the message processing region will permit this transaction to wait for a resource that has been locked by another process. A value of 0 indicates that there is no timeout.

P-Limit Time

Specify how many seconds a program can spend processing this transaction (or a message from it) in a single scheduling. The number must be in the range 1 through 65535. The default is 65535. Specifying 65535 indicates that no limit is to be imposed.

Status

Choose the status of the transaction program:

  • Enabled - the transaction program is enabled.
  • Disabled - the transaction program is disabled.
Process Limit

Specify how many of this transaction's messages a program can process in a single scheduling. This must be in the range 1 through 9999. The default is 9999. Specifying 9999 indicates that no limit is to be imposed.

Edit

Choose whether or not input data is to be translated to uppercase:

  • ULC - input data is not to be translated to uppercase.
  • UC - input data is to be translated to uppercase.
Edit Exit

This feature is currently not supported.

Fast Path

Specify the the size of the EMH buffer required to run the transaction using Fast Path processing. The minimum value is 12 and the maximum is 30720. Specifying 0 indicates that the transaction cannot be run using Fast Path processing.

In Doubt

Choose what happens if a transaction program using intersystem communication abends at a critical moment during syncpoint or abend processing:

  • Backout - the effects of the transaction are backed out using ROLLBACK.
  • Commit - any changes are committed.
  • Wait - critical resources are locked until the session has recovered, and are then backed out or committed in step with the remote system.
Response Mode

Check this to specify that, for terminals with a default of OPTIONS=TRANRESP, no additional messages are to be allowed after this transaction is entered until this transaction sends a response message back to the terminal. Leave this option unchecked to specify that input should not stop after this transaction is entered.

Tracing

Choose the type of tracing to be performed for the transaction:

  • Standard - tracing is performed.
  • Special - special tracing is performed.
  • No - no tracing is performed.
Codeset

Choose the codeset to use for this transaction:

  • Default - The transaction inherits the system bias codeset.
  • ASCII - The transaction uses ASCII.
  • EBCDIC - The transaction uses EBCDIC.
Dump On ABEND

Check this to request a program dump if the transaction program abends.

MFS Attributes

Choose how attributes are defined in the transaction program:

  • Default - The program defines attributes as defined by the system bias value (which is binary, by default).
  • Binary - The program defines attributes as binary values, for example:
    05 ATTRIBUTE-VARIABLES.
   10 CURSOR-ATTR    PIC X(2) VALUE X"C0C1".
   10 ERROR-ATTR     PIC X(2) VALUE X"C0C9".
   10 OK-ATTR        PIC X(2) VALUE X"00C1".
   10 PROT-ATTR      PIC X(2) VALUE X"00F1".
  • Character - The program defines attributes as characters, for example:
    05 ATTRIBUTE-VARIABLES.
   10 CURSOR-ATTR PIC X(2) VALUE "{A".
   10 ERROR-ATTR PIC X(2) VALUE "{I".
   10 OK-ATTR PIC X(2) VALUE " A".
   10 PROT-ATTR PIC X(2) VALUE " 1".

    This setting only has an effect if the program is compiled using the ASCII character set; it is ignored if the program is compiled using EBCDIC.

MFS Null

Specify the character to use as the NULL. You can enter the value in character form or hexadecimal form (X'nn'). The default is X'1A'.

This setting only has an effect if the program is compiled using the ASCII character set; it is ignored if the program is compiled using EBCDIC.

Security Keys
all
Choose a setting to apply to all the security keys:
  • On - enables all the security keys
  • Off - disables all the security keys
1-64

Check any of the boxes 1 through 24 to activate that security key.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this transaction. You see this button only if you have permission to edit the transaction.

Copy

Click this to create a new transaction. The values on the current page will be used as the basis for the values in the new transaction.

Dump

Click this to create and view display a dump of the transaction information.

Parent topic: IMS
Parent topic: Pages for Creating Resources


IMS Control

Use this page to start message processing regions (MPRs) and perform a number of other IMS-related administration functions for this server.

Commands
/dis TRAN all

Click this to execute a /dis TRAN all command. The results are displayed below the entry field.

/dis USER all

Click this to execute a /dis USER all command. The results are displayed below the entry field.

/dis DB all

Click this to execute a /dis DB all command. The results are displayed below the entry field.

/dump TM

Click this to execute a /dump TM command. The results are displayed below the entry field.

Enter

Click this to execute the command specified in the entry field to the right. The results are displayed below the entry field.

Start IMS MPRs (Message Processing Regions)
Start
Click this to start a message processing region.
MPR Classes

Specify the transaction classes that can run in the message processing region.

Debug

Click this if you want to debug the IMS transactions that will run in this message processing region.

Renew MFS Formats and IMS ACBs
Renew
Click this to delete information from the system cache and to reload the current information from disk.
MFS Formats
Select this to delete information on MFS format blocks.
ACBs
Select this to delete information on application control blocks

TM System Overview and Control
Transaction Threshold
Specify the maximum length of time in seconds that a transaction can run before a message is logged to the console to indicate that it has exceeded its threshold. This must be in the range 0 through 65535. A value of 0 indicates that there is no threshold.
Keypoint Frequency
Specify how many thread requests are to be processed before a keypoint is generated. This must be in the range 0 through 65535. The default is 64. Specifying 0 indicates that keypoints are only generated when the enterprise server starts and shuts down.
TM Message Queue Diagnostics
Display summary overview of IMS Message Queues
Click this to view the content of the IMS message queue.
Display block-number/segment of message queue

Click this to view a specified segment of the IMS message queue.

Parent topic: IMS


Pages for Creating Resources

  • CICS DCT
  • CICS FCT
  • CICS JCT
  • CICS PCT
  • CICS PLT
  • CICS PPT
  • CICS Sys62
  • CICS SysC
  • CICS T-Type
  • CICS Term
  • CICS TST
  • CICS URIMAP
  • CICS TCPIPSERVICE
  • CICS XAT
  • CICS DOCTEMPLATE - (doctemplate_name)
  • View and Edit a JES
  • Create, View and Edit an IMS Transaction
Parent topic: Resources


CICS DCT

Use this page to create a new DCT. A DCT is a definition of a transient data queue.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new DCT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new DCT to the group you specify in Grp. The button changes to Apply.

Name

Specify a name for the DCT (can be up to 60 characters).

Grp

Choose a group to which this DCT will belong. The list of groups from which you can choose include only those which can be edited by you.

Description

Specify a description for the DCT (can be up to 60 characters).

Type

Choose the destination for transient data:

  • Intra-Part - intrapartition
  • Indirect - indirect
  • Extra-Part - extrapartition
  • Internal Rdr - the internal reader to which CICS applications can direct a JCL jobstream for execution by the JCL engine
Indirect Name

Specify the symbolic name of the indirect destination. The symbolic name is used when writing to the destination. The name can be one to four characters in length. This control has an effect only if you selected Indirect in the Type control.

Recoverable

Check this to enable recovery of the destination in the event of an abnormal termination of either MSS or the transaction processing the destination. This control only has an effect if you selected Intra in the Type control.

Name (Remote Queue)

Specify the name of a remote transient data destination.

SYSID

Specify the system or region in which the remote transient data destination resides. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

Transaction

Specify the name of the transaction that is to be automatically initiated when the trigger level specified in Trigger Level is reached. If no transaction is specified, or Trigger Level is set to 0, some other means must be used to schedule transactions to read records from the destinations.

Terminal

Specify the terminal associated with the transient data destination. The terminal must be defined to MSS.

Trigger Level

Specify the number of records to be accumulated before a task is automatically initiated to process them. The maximum number you can enter is 32767.

File Name

Specify the filename of the extrapartition file.

File Path

Specify the pathname of the extrapartition file.

Extension

Specify the filename extension of the extrapartion file.

Fileshare

Specify the name of the stand-alone Fileshare server that controls this file (if required).

Record Max

Specify the maximum length of a record in the extrapartition file.

Record Min

Specify the minimum length of a record in the extrapartition file.

Initial State

Choose the initial status of the data set:

  • Open - the data set is opened by system initialization.
  • Closed - the data set remains closed until you indicate that you want to open it.
Type (Extra-partition File Characteristics)

Choose whether the file is line sequential:

  • Normal - The file is not line sequential.
  • Line Sequential - The file is line sequential.
Print Attributes

Choose whether or not a forms control character is contained in the first position of each record:

  • No Control - Records have no forms control character.
  • ASA - Records contain a form control character that is in ASA format.
  • Machine - Records contain a form control character that is in machine format.
I/O Type

Choose the type of input/output:

  • Input - Input data.
  • Output - Output data.
  • Read Backwards - Input data read from the end of the dataset to the beginning.
Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys.
  • Off - disables all the resource keys.
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this DCT. This button is displayed only after you click Add.

Copy

Click this to create a new DCT, using the values set on this page as the basis for the new DCT. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this DCT. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS FCT

Use this page to create a new FCT.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new FCT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group group_name page.

Add

Click this to save changes you have made to the page, refresh the page and add the new FCT to the group you specify in Grp. The button changes to Apply.

Name

Specify a name for this FCT.

Grp

Choose a group to which this FCT will belong. The list of groups from which you can choose include only those which can be edited by you.

Description

Specify a description of the file (can be up to 60 characters).

Type

Choose the file type:

  • KSDS - key sequence data set
  • ESDS - entry sequence data set
  • RRDS - relative record data set
  • Alt Index - alternate index
  • Undefined - remote file (Specify the System ID on the Remote page)

You must uncheck Use Catalog before you can specify a file type. This is because if you use the catalog this information is stored there, not in the FCT entry.

Format

Choose the format for the file. You must uncheck Use Catalog before you can choose a file format. This is because if you use the catalog this information is stored there, not in the FCT entry.

LRECL Min

Specify the minimum logical record length of the file, in bytes, in the range 1 through 32767. This must not be greater than the value of Max LRECL.

For fixed length records, set this value equal to Max LRECL.

You must uncheck Use catalog before you can specify a minimum logical record length. This is because if you use the catalog this information is stored there, not in the FCT entry.

LRECL Max

Specify the maximum logical record length of the file, in bytes in the range 1 through 32767. This must not be less than the value of Min LRECL.

For fixed length records, set this value equal to Min LRECL.

Key Position

For files of type KSDS or ALT specify the byte number at which the record key begins in the range 1 through 32767. Bytes are numbered from 1.

Key Length

For files of type KSDS or ALT, specify the length of the record key in bytes (within the range 1 through 32767). The value "Key position+Key length-1" must not be greater than Min LRECL.

For files of type Undefined, specify the length of the record key, which must not be greater than Max LRECL.

Use Catalog

Check this if you want to use the catalog to store information about the file. If you check this, certain parameters on this page become irrelevant; the description for each parameter indicates whether Use Catalog affects that parameter.

Base Name

Specify the base filename for an alternate index. CICS references alternate indexes by a user-assigned name. This connects the alternate index definition to the base file.

Dataset Name

Specify the data set name for this file as used on the mainframe. You must check Use Catalog before you can specify a data set name. This is because the catalog uses this information.

Status

Choose whether the file is accessible to transactions at system startup

  • Enable - the file is accessible to transactions at system startup.
  • Disable - the file is not accessible to transactions at system startup. A disabled file returns the reference "DISABLED". This can cause problems for some applications; if this is true for your application, set Unenable instead.
  • Unenable - the file is not accessible to transactions at system startup. An unenabled file returns a reference "NOTOPEN", which can be handled by those applications that cannot handle a "DISABLED" reference.

The value set by this control is ignored if the file resides on a remote system.

Access

Check one or more boxes to set the read/write permissions for the file. You can check:

  • Read - enables applications to read records from the file.
  • Add - enables applications to add records to the file.
  • Browse - enables applications to browse the file.
  • Delete - enables applications to delete records from the file.
  • Update - enables applications to update records in the file.
  • Exclusive - CICS Exclusive Control. Enables application to gain exclusive control of a record within a file.
Set

Check one or more boxes to set various file parameters. You can select the following options:

  • Start Open - check this to indicate that the file is to be opened at system startup. If you want the file to be opened at system startup and accessible to transactions, you must also select Enabled in the Status select box.
  • Start Empty - check this to indicate that the current contents of the file are to be deleted at system startup.
  • Backward Recovery - check this to indicate that the file is a protected resource changes to which can be backed out. The file must be accessed through a Fileshare server.
  • Forward Recovery - check this to indicate that journals are to be used to record changes to the file to enable forward recovery. The file must be accessed through a Fileshare server.
  • Allow Duplicate Keys - check this if the file can have duplicate keys. The file must be an alternate index (Type set to Alt index) and you must have unchecked Use Catalog, because if you use the catalog this information is stored there, not in the FCT entry.
  • EBCDIC Collating Sequence - check this to indicate that the EBCDIC collating sequence is to be used for this file. You must uncheck Use Catalog before you can check this, because if you use the catalog this information is stored there, not in the FCT entry.
Remote SYSID

Specify the system ID of the remote system on which the file resides. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

You must uncheck Use Catalog before you can specify a system ID for the remote system. This is because the catalog is used only for storing information about files held locally.

Remote File

Specify the name of the file on the remote system. You must uncheck Use Catalog before you can specify a name for a remote file. This is because the catalog is used only for storing information about files held locally.

Override File Name

Specify the filename of the physical file if you want to override the default. Do not include the file extension. Can be up to 255 characters.

If you do not specify this entry, the physical file name defaults to the name of the FCT entry.

You cannot use this default if you specify a Fileshare server; you must specify a physical file name.

You must uncheck Use Catalog before you can specify a filename. This is because if you use the catalog this information is stored there, not in the FCT entry.

File Extension

Specify the file extension of the physical file if you want to override the default. Can be up to 3 characters. You must uncheck Use Catalog before you can specify an extension. This is because if you use the catalog this information is not required.

File Path

Specify the path of the physical file if you want to override the default. Do not include the filename or file extension. Can be up to 255 characters. You must uncheck Use catalog before you can specify a path. This is because if you use the catalog this information is stored there, not in the FCT entry.

Fileshare Server

Specify the ID of the Fileshare server on which the file resides. Can be up to 16 characters. You must uncheck Use Catalog before you can specify a Fileshare server. This is because if you use the catalog this information is stored there, not in the FCT entry.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys.
  • Off - disables all the resource keys.
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Active, Display

Check this to display the currently installed definition of this resource.

Active, Install

Check this to install (make active) this resource.

Delete

Check this to delete this FCT. This button is displayed only after you click Add.

Copy

Check this to create a new FCT, using the values set on this page as the basis for the new FCT. This button is displayed only after you click Add.

Dump

Check this to create and view dump information for this FCT. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS JCT

Use this page to create a new JCT (journal control table).

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new JCT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Display the CICS Group group_name page.

Add

Click this to save changes you have made to the page, refresh the page and add the new JCT to the group you specify in Grp. The button changes to Apply.

Name

Specify a name for this JCT.

Grp

Choose a group to which this JCT will belong. The list of groups from which you can choose include only those which can be edited by you.

Description

Specify a description for the JCT (can be up to 60 characters).

Type

Choose the type of journal:

  • Disk 1 - A journal on disk that has one data set to be reused when full.
  • Disk 2 - A journal on disk that has two data sets to be used alternately. You must specify this to minimize operator involvement during a takeover.
  • Disk 2 Pause - A journal on disk that has two data sets to be used alternately. When the second data set is full, the system is paused to enable the operator to copy the data sets to another location before resuming with the first data set.
  • SMF - Mainframe System Management Facility format
  • Tape 1 - A journal on one tape drive.
  • Tape 2 - A journal on two tape drives.
File Name

Specify the filename of the journal.

File Path

Specify the pathname of the journal file.

Extension

Specify the filename extension of the journal file.

Fileshare

Specify the name of the Fileshare server that controls this data set.

Record Max

Specify the maximum length of a record in the journal file.

Record Min

Specify the minimum length of a record in the journal file.

Initial State

Choose the initial status of the journal:

  • New - a new journal data set is created at system initialization.
  • Append - data is appended to an existing journal data set.
Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Delete

Click this to delete this JCT. This button is displayed only after you click Add.

Copy

Click this to create a new JCT, using the values set on this page as the basis for the new JCT. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this JCT. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS PCT

Use this page to create a new PCT.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new PCT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group page group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new PCT to the group you specify in Grp.

Name

Specify a name for this PCT.

Grp

Choose a group to which this PCT will belong. The list of groups from which you can choose includes only those which can be edited by you.

Description

Specify a description of the transaction program (can be up to 60 characters).

Program Name

For local programs only, specify the name of the application program to be run when this transaction is invoked. Leave this field blank if you enter a value in the remote system ID field.

Can be up to eight characters (A-Z, 0-9, #, @, or $). The name is translated to upper case.

Work Area

Specify the size of the transaction program's Transaction Working Area (TWA) in bytes, in the range 0 through 32767.

Remote SysID

Specify the system ID of the remote system. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

Remote PCT

Specify the transaction ID of the transaction program on the remote system. You must specify Remote SysID before you can specify a transaction ID.

Can be up to four alphanumeric characters, the first of which must be a letter. Do not use the letter C as the first character; transaction IDs beginning with C are reserved for use by MSS.

Status

Choose a status for the transaction program:

  • Enabled - the transaction program is enabled.
  • Disabled - the transaction program is disabled.
In Doubt

Choose what is to happen if a transaction program using intersystem communication abends at a critical moment during syncpoint or abend processing:

  • Backout - the effects of the transaction are backed out using ROLLBACK. To use this option, files used by the transaction program must have Backward recovery checked on the FCT page.
  • Commit - any changes are committed.
  • Wait - critical resources are locked until the session has recovered, and are then backed out or committed in step with the remote system.
Upper Case

Check this if you want the transaction program to translate input into upper case

Tracing

Choose the type of tracing to be performed for the transaction program:

  • None - No tracing is performed.
  • Normal - Tracing is performed.
  • Special - Special tracing is performed.
Dynamic Route

Check this to have the program status (local or remote) determined dynamically at user invocation time. If this is unchecked, the program status is made local or remote according to the value of System ID.

Security

Use these check boxes to control the way in which resource authorization checks are performed. If they are not checked, the only check performed will be to confirm that the user has authority to run the transaction. If you check RLS (Resource Level Security), Enterprise Server will check the user's authorization for all resources that the transaction accesses (e.g. file access, TDQ, TSQ, LINK, DPL, START and so on). Checking CMD(for Command) will check the authorization on all the EXEC CICS command operations (e.g. EXEC CICS SET/ENABLE/DISABLE).

Note that IBM Category 3 Transactions do not have security checking at all, so the transactions are allowed for everyone with no authorization calls.

Priority

Specify the transaction priority of the transaction program in the range 0 through 255, where 255 is the highest priority.

The priority of a transaction is the sum of:

  • The terminal priority
  • The transaction priority (this field)
  • The operator priority

This sum must not be greater than 255.

Dump on ABEND

Check this to create a program dump if the transaction program abends.

3270 Screen

Specify the screen size to be used by the transaction program. Select:

  • Default to use the default screen size (as defined in the Typeterm entry).
  • Alternate to use the alternate screen size (as defined in the Typeterm entry).
Inbound

Check this to indicate that this transaction can be initiated by an inbound user action.

Input Timeout

Specify the maximum time in seconds allowed for operator response to an explicit CICS RECEIVE, WEB OPEN, WEB SEND, WEB RECEIVE, or WEB CONVERSE command before this transaction is abended. A value of 0 indicates that there is no timeout, and the system will wait indefinitely for a response.

Check Use System Value to use the system wide value for Input Timeout (as shown on the ESMAC Control screen) rather than the PCT entry.

Runaway Timeout

Specify the maximum continuous period of time in seconds that the region will allow this transaction to run without making a CICS, EZASOKET or MQSeries API call. When this time is exceeded, the transaction is abended. A value of 0 indicates that there is no timeout.

Check Use System Value to use the system wide value for Runaway Timeout (as shown on the ESMAC Control screen) rather than the PCT entry.

Deadlock Timeout

Specify the maximum time in seconds that the region will permit this transaction to wait for a resource that has been locked by another process. A value of 0 indicates that there is no timeout.

Check Use System Value to use the system wide value for Deadlock Timeout (as shown on the ESMAC Control screen) rather than the PCT entry.

Transaction Threshold

Specify the maximum length of time in seconds that a transaction can run before a message is logged to the console to indicate that it has exceeded its threshold. A value of 0 indicates that there is no threshold.

Check Use System Value to use the system wide value for the transaction time threshold (as shown on the ESMAC Control screen) rather than the PCT entry.

Resource Keys, all

Choose a setting to apply to the resource keys:

  • On - enables all the resource keys.
  • Off - disables all the resource keys.

Check any of the boxes 1 through 24 to activate that resource key.

Security Keys, all

Choose a setting to apply to the security keys:

  • On - enables all the security keys.
  • Off - disables all the security keys.

Check any of the boxes 1 through 64 to activate that security key.

Active

Click Display to display the currently installed definition of this resource.

Click Install to install (make active) this resource.

Delete

Click this to delete this PCT. This button is displayed only after you click Add.

Copy

Click this to create a new PCT, using the values set on this page as the basis for the new PCT. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this PCT. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS PLT

Use this page to create a new PLT.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new PLT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group page group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new PLT to the group you specify in Grp. When you click Add, the button changes to Apply.

Name

Specify a name for the PLT.

Grp

Choose a group to which this PLT will belong. The list of groups from which you can choose include only those that can be edited by you.

Description

Specify a description of the transaction program (can be up to 60 characters).

01 - nn

A numbered list of programs.

If you are creating a PLT, you see one empty field numbered 01. Enter a program to be used by this PLT. Click Add. The startup list is saved. If there are no errors, the page is refreshed, a new empty field (labeled 02) is added to the page, and the Add button changes to Apply. Each time you add a resource group, click Apply.

If you are creating a PLT based on an existing PLT, you will see as many fields are there were programs specified in the PLT from which you created this PLT. Note that, if you can edit the PLT, there is always a blank field added at the end of the list.

You can change the order of the programs in the PLT. Use Down arrow button to move a program down the list. Use Up arrow button to move a program up the list.

Delete an entry in the PLT by clicking Delete button.

Run once/Run in each process

Click Run once to specify that the program should only run once, when the PLT is first initiated. Click Run in each process to specify that the program should run every time the PLT is initiated.

Delete

Click this to delete this PLT. This button is displayed only after you click Add.

Copy

Click this to create a new PLT, using the values set on this page as the basis for the new PLT. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this PLT. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS PPT

Use this page to create a new PPT.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new PPT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group page group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new PPT to the group you specify in Grp.

Name

Specify a name for this PPT.

Grp

Choose a group to which this PPT will belong. The list of groups from which you can choose includes only those that can be edited by you.

Description

Specify a description of the transaction program (can be up to 60 characters).

Status

Choose a status for the program:

  • Enabled - enables this program to be used in a normal manner.
  • Disabled - prevents the program from being used until specifically enabled using master terminal services.
Type

Choose a type for the resource:

  • Program - this resource is a program.
  • Data Area - this resource is a data table.
Resident

Check this if you want to enable this program to reside in the application server's program cache after it has been loaded.

Commarea

Specify the amount of storage to be allocated to the communications area (COMMAREA) to enable MSS to behave like mainframe CICS. The size is in the range 0 through 32767. The effect of this is that when a program is passed a COMMAREA smaller than the COMMAREA defined in the program, the passed COMMAREA is automatically extended in length to fill the defined space.

Language

Choose the language the program is written in.

Save, Working Storage

Check this to have load requests ignored if the program is already in storage.

Uncheck this to have a fresh copy of the program loaded every time a load request for the program is issued.

Remote SysID

If the program resides in a remote region, specify the 4-character, remote system identifier. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

If the program resides in the local region, leave this field blank.

Rmt Trans ID

Specify the transaction ID of the transaction program on the remote system. You must specify System ID before you can specify a transaction ID.

Can be up to four alphanumeric characters, the first of which must be a letter. Do not use the letter C as the first character; transaction ids beginning with C are reserved for use by MSS.

Remote Prog

If the program resides in a remote region, specify the name by which the program is known there. You must specify Remote SysID before you can specify a remote program ID.

If you specify a remote system ID but leave this field blank, the local identifier for this program will be sent to the remote region.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys.
  • Off - disables all the resource keys.
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this PPT. This button is displayed only after you click Add.

Copy

Click this to create a new PPT, using the values set on this page as the basis for the new PPT. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this PPT. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS Sys62

Use this page to create a new Sys62 sys62. A Sys62 is a definition of an LU6.2 system connection.

The title bar gives details of the Sys62 you are editing and the resource group it belongs to.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new Sys62.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group group_name page.

Add

Click this to save changes you have made to the page, refresh the page and add the new Sys62 to the group you specify in Grp. The button changes to Apply.

Name

Specify the name of this Sys62. Can be up to four characters: the first character must be A-Z, @, #, or $; trailing characters can be any of these, or 0-9. The name is forced to upper case.

Grp

Choose a group to which this Sys62 will belong. The list of groups from which you can choose include only those which can be edited by you.

Description

Specify a short description of the Sys62. Acceptable characters are A through Z, 0 through 9, $, @ and #.

LU Alias

Specify the parameter used to connect this definition to the LU6.2 protocol stack definition for this connection.

Mode Table

Specify the parameter that tells the LU6.2 protocol stack which Mode (or session characteristics) Table to use for this connection.

Partner Alias

Specify the parameter required to associate this definition with a peer server's definition within the LU6.2 protocol stack definitions.

APPLID

Specify the SNA Application ID of the peer partner server for this connection.

Net Name

Specify the network name that identifies the remote system. The name can be up to eight characters in length. The name follows assembler language rules. It must start with an alphabetic character. The acceptable characters are: A-Z 0-9 $ @ and #. Lower-case characters are converted to upper-case except when using the CREATE command.

Net Name is the APPLID of the remote system or region, unless you are defining an APPC or LUTYPE6.1 link to a VTAM generic resource group. If you are defining an LUTYPE6.1 link to a generic resource, Net Name must specify the generic resource name, not the APPLID of one of the group members. If you are defining an APPC link to a generic resource, Net Name can specify either the group’s generic resource name or the APPLID (member name) of one of the group members. However, if you specify a member name, and this CICS is not itself a member of a CICS Transaction Server for OS/390 generic resource, the connection must always be acquired by this CICS. For VTAM, the APPLID is the label of the remote ACF/VTAMÑ VBUILD TYPE=APPL statement. If you do not supply a Net Name, the CONNECTION name is used by default. You cannot have two or more APPC links with the same Net Name.

Session Max

Specify the maximum number of parallel sessions allowed to be active on this LU.

Transaction

Specify the permanent four-character transaction code to be attached to handle unsolicited input

Priority

Specify the facility-related priority to be used for work that is running with this as the primary facility.

In Service

Check this to enable this facility to default to (or start initially as) being “in service”.

User ID

Specify the permanent user ID for this LU. Any work running against this facility will inherit the permissions of this user ID.

Language

Specify the default language for user interfaces connected to this facility.

Session Name

Specify the name for the session.

Attach

Specify the level of attach-time user security required for the connection:

  • Identify - Incoming attach requests must specify a user identifier. IDENTIFY is used when the connecting system has a security manager; for example, if it is another CICS system.
  • Local - The authority of the user is taken to be that of the link itself, and you rely on link security alone to protect your resource. Local must be specified if the PROTOCOL attribute on the CONNECTION definition is LU6.1.
  • Mixed - Incoming attach requests may be using either or both IDENTIFY or PERSISTENT security types. The security type actually used depends on the incoming attach request.
  • Persistent - Incoming attach requests must specify a user identifier and a user password on the first attach request. Subsequent attach requests require only the user identifier. This should be used only between a PWS (programmable workstation, for example, an IBM Personal System/2) and CICS.
  • Verify - Incoming attach requests must specify a user identifier and a user password. Enter Verify when the connecting system has no security manager and hence cannot be trusted. Do not specify Verify for CICS-to-CICS communication, because CICS does not send passwords.
Oper ID

Specify the three-character Operator ID associated with the permanent User ID - returned on ASSIGN OPID() command for transaction attached to this facility.

Oper Priority

Specify the operator priority for transactions run from this terminal. Specify this for a terminal that cannot be signed on, such as a printer. If you specify it for a terminal that can be signed on, it is overridden by the operator priority specified in the user's sign-on table entry. Defaults to 0(zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority
  • Transaction priority
  • Operator priority (this field)

The sum cannot be greater than 255.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all of the resource keys
  • Off - disables all of the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Delete

Click this to delete this Sys62. This button is displayed only after you click Add.

Copy

Click this to create a new Sys62, using the values set on this page as the basis for the new Sys62. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this Sys62. This button is only displayed after you click Add.

Parent topic: Pages for Creating Resources


CICS SysC

Use this page to create a new SysC. A SysC is a definition of a CCI system connection.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new SysC.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group page group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new SysC to the group you specify in Grp. The button changes to Apply.

Name

Specify the name of this SysC. Can be up to four characters: the first character must be A-Z, @, #, or $; trailing characters can be any of these, or 0-9. The name is forced to upper case.

Grp

Choose a group to which this SysC will belong. The list of groups from which you can choose include only those which can be edited by you.

Description

Specify a description of the transaction program (can be up to 60 characters).

Machine Name

Specify the machine name; consists of the Local LU Alias of the client machine and the Mode used by CCIAPPC when issuing the APPC ALLOCATE verb to initiate a conversation with the server TP. The format is:

LUNAME.MODENAME

where the parameters are:

LUNAME | The Local LU Alias of the client machine. This name must also be defined as a Partner LU Alias on the server machine.
MODENAME | A Mode defined on both the client and server machines.
Protocol

Specify the CCI protocol to be used by this connection:

MF Node

Specify the text hostname or dotted decimal address of the target server.

MF Port

Specify the decimal value of the port that the target server listens on.

Net Name

Specify the name of the network over which the connection is established.

Session Max

Specify the maximum number of sessions that can use this connection.

Transaction

Specify the one- to four-character transaction ID. When MSS receives a request to start a transaction, it only looks at the first four characters of the TP name.

Priority

Specify the priority for transactions run from this terminal. Defaults to 0 (zero). Terminal priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority (this field)
  • Transaction priority
  • Operator priority

The sum cannot be greater than 255.

In Service

Check this to specify that the connection defined by this SysC is in service.

User ID

Specify a user ID to be associated with the connection. Mandatory if no sign-on takes place on the connection.

Language

Choose the national language in which messages are sent over the connection. You can choose English or Kanji.

Session Name

Specify the security name of the connection. Can be up to eight alphanumeric characters from the set A through Z, 0 through 9, $, @ and #.

Attach

Choose the level of security required when a user issues an attach request over this connection:

  • Identify - Incoming attach requests must specify a user ID.
  • Verify - Incoming attach requests must specify both a user ID and a password.
  • Persistent - The first attach request must specify both a user ID and a password, but subsequent attach requests require only a user ID.
  • Mixed - Incoming attach requests can specify either Identify or Persistent.
  • Local - The authority of the user is taken to be that of the link.
Oper ID

Specify an operator ID used for routing messages. Specify this for a terminal that cannot be signed on, such as a printer. If you specify an operator ID for a terminal that can be signed on, it is overridden by the operator ID specified in the user's sign-on table entry. Up to three alphanumeric characters.

Oper Priority

Specify the operator priority for transactions run from this terminal. Specify this for a terminal that cannot be signed on, such as a printer. If you specify it for a terminal that can be signed on, it is overridden by the operator priority specified in the user's sign-on table entry. Defaults to 0(zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority
  • Transaction priority
  • Operator priority (this field)

The sum cannot be greater than 255.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all of the resource keys
  • Off - disables all of the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that security key.

Delete

Click this to delete this SysC. This button is displayed only after you click Add.

Copy

Click this to create a new SysC, using the values set on this page as the basis for the new SysC. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this SysC. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS T-Type

Use this page to create a new T-type (terminal type definition).

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new T-type.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group page group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new T-type to the group you specify in Grp. When you click Add, the button changes to Apply.

Name

Specify a name for the T-type.

Grp

Choose a group to which this T-type will belong. The list of groups from which you can choose include only those that can be edited by you.

Description

Specify a description of the T-type. The text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.

Type

Choose the type of terminal device:

  • 3270 - A 3270 display device
  • Non-Facility - A non-physical device
  • Generic - Non-specific facility definition
  • ECI - External Call Interface dummy facility
  • System - A peer CICS or ES server
  • Printer - Printer device
  • Dialog Sys - Dialog System client facility
Shippable

Check this to indicate that this physical terminal definition may be shipped to a remote system in support of a transaction routing request. Ifa physical terminal definition is not marked shippable, then the target system must have the terminal explicitly defined as a remote terminal for the transaction routing request to succeed.

Map Size, Width

Specify the page width for the terminal type being defined. The width is defined as a number of columns, in the range 0 through 999. The default is 80.

Map Size, Height

Specify the page height for the terminal type being defined. The height is defined as a number of rows, in the range 0 through 999. The default is 24.

Alternate Map, Width

Specify the page width for the terminal type being defined, if you have specified an alternate screen size (non-default values for Alt Screen, Width and Alt Screen, Height). Alternate page width is defined as a number of columns, in the range 0 through 999. The default is 80. Unexpected results may occur if the number of columns is not the same as the number of columns you specify for Alt Screen, Width. Defaults to the values specified in Map Size, Width.

Alternate Map, Height

Specify the page height for the terminal type being defined, if you have specified an alternate screen size (non-default values for Alt Screen, Width and Alt Screen, Height). Alternate page height is defined as a number of rows, in the range 0 through 999. Unexpected results may occur if the number of rows is not the same as the number of rows you specify for Alt Screen, Height. Defaults to the values specified in Map Size, Height

OB Oper ID, Yes

Check this to enable MSS to use the outbound operator identifiers to support the BMS routing facilities required by this terminal type definition.

Outboard Fmt, Yes

Check this to enable MSS BMS to delegate part of the presentation formatting to the client facility.

ASCII

Choose whether or not this terminal type has an ASCII feature:

No | The terminal type does not have an ASCII feature
7 Bit | Terminals of this type are ASCII-7 terminals. All outbound data is translated to 7-bit ASCII, and all inbound data is translated to EBCDIC
8 Bit | Terminals of this type are ASCII-8 terminals. All outbound data is translated to 8-bit ASCII, and all inbound data is translated to EBCDIC
Send Size

Specify the size, in bytes, of the receive buffer of a terminal of this type. This represents the maximum amount of data that the terminal can receive, and depends on the capability of the device. Considerations of line quality might lead you to specify a buffer size that is less than the terminal type's maximum buffer size. A message longer than the receive buffer is broken into as many request units as are necessary. Defaults to 0 (zero). If you specify a zero buffer size, the message is not broken up; the whole message is presented.

Receive Size

Specify the maximum size, in bytes, of a request unit that can satisfy a receive request. The value you specify might be rounded down.

Routed Msg

Indicates whether or not messages are routed to a terminal of this type by the EXEC CICS ROUTE command. Check this to indicate that BMS is to route to this terminal messages that are destined for all terminals, as well as messages destined for this terminal. Leave unchecked to specify that no messages should be routed to this terminal, even if they are specifically destined for this terminal.

Logon Msg

Check this to specify that the logon transaction is initiated when a session is established and displays the logon message on the terminal. Automatic Transaction Initiation (ATI) is used to start the transaction, so you must check ATI. The transaction competes with any other ATI transactions for use of the terminal. If you check Lastline, the logon message does not overwrite any error message currently displayed.

Auto Connect

Check this to specify that a session is to be established with the terminal when the region starts up. Leave unchecked to specify that a session is to be established when the user signs on at the terminal.

ATI

Check this to enable a transaction to be automatically initiated on this terminal. If you leave this unchecked, you should check TTI to enable users to initiate transactions.

Create Sess

Check this to specify that a session can be initiated from a terminal of this type: EXEC START requests and Automatic Transaction Initiation (ATI) requests are allowed to create sessions automatically. Leave unchecked to specify that EXEC START requests and Automatic Transaction Initiation (ATI) requests are not allowed to create sessions automatically. Such requests are queued or rejected if a session has not been established.

TTI

Check this to enable users to initiate transactions at this terminal. If you leave this unchecked, you should check ATI to enable transactions to be automatically initiated.

NEP Class

Specify the transaction class of the node error program. Defaults to 0000 (zero), which indicates that the default node error program is to be used.

Signoff

Choose which action is to be taken when GNTRAN (CESF or user-defined transaction) is attached and attempts to sign off the terminal. If you are using RACF 1.9 or later, specify the TIMEOUT limit in the RACF segment:

No | The terminal is not automatically signed off in the absence of user input.
Signoff | When the specified time has elapsed after the last input from the operator, the terminal is automatically signed off from MSS.
Signoff/Logoff When the specified time has elapsed after the last input from the operator, the terminal is automatically signed off from MSS and then logged off from VTAM. (This is not supported for TCAM-attached terminals.) Signoff/Logoff is useful for an autoinstall model, because virtual storage is not wasted on entries for terminals that have been timed out. If GNTRAN fails to attach because of unprocessed data in the terminal buffer (resulting in a BID failure), the terminal will be signed off and logged off. GNTRAN will not run and will have no effect.
Note: You cannot change the value of this attribute when DEVICE(APPC) is specified. The default value in that case is Signoff(No).
Notify

Choose how the user is notified of system recovery. This option applies to the recovery of sessions for terminals in a CICS region running with either VTAM persistent sessions or with XRF. It is for use in situations where a terminal user may have to take action, such as to sign on again, after a CICS restart:

None | The user is not notified
Message | A message is displayed on the screen to say that the system has recovered. The message is specified in two BMS maps; DFHXRC1 and DFHXRC2 for XRF; and DFHXRC3 and DFHXRC4 for VTAM persistent sessions. These maps are in mapset DFHXMSG. If reduced takeover time is important, use MESSAGE rather than TRANSACTION. The terminal must be capable of displaying BMS maps, and ATI.must be checked, to specify this option.
Transaction | A transaction is initiated at the terminal. The name of the transaction is specified by the RMTRAN system initialization parameter. (The default transaction for RMTRAN is the one specified in the GMTRAN system initialization parameter: the good-morning transaction.) ATI must be checked to specify this option.
Option

Choose how MSS recovers the session and returns the terminal to normal service:

Sys Default | MSS selects the best recovery strategy based on session activity and the characteristics of the terminal.
Clear Receive | MSS sends a CLEAR request to reset the conversation state, or an UNBIND request if the session does not support the CLEAR request. MSS sends the CLEAR or UNBIND request only if the session was busy.
Release Sess | MSS sends an UNBIND request to clear the active session, if the session was busy.
Unconditional | MSS sends an UNBIND request to clear the active session, whether or not the session was busy.
None | The terminal session is not automatically recovered. If you checked Auto Connect, the terminal is automatically reconnected.
Last Line

Check this to specify that error messages are to be displayed at the bottom of the screen, starting at a position that enables the entire message to be shown at once. If messages are received in quick succession, an earlier message might be overwritten before the user has time to read it. Messages displayed in this way might have the additional attributes specified by Intensify, Color and Highlight. If you leave this unchecked, an error message is displayed at the current cursor position, and without any additional attributes.

Intensify

Check this to have error messages displayed in an intensified field (bold). This has an effect only if Last Line is checked.

Color (Diagnostic Display)

Choose the color in which error messages are to be displayed on a terminal of this type. A setting other than No takes effect only if Last Line is checked.

Highlight (Diagnostic Display)

Choose the type of highlighting to be used for error messages displayed on a terminal of this type. A setting other than No takes effect only if Last Line is checked.

Def. Screen, Width

Specify the default screen width for the 3270 terminal type being defined. This is the screen width that is used when a transaction definition specifies a default screen. Screen width is defined as columns, in the range 0 through 999. The default is 80. There is no validity checking; incorrect sizes might lead to unpredictable behavior.

Def. Screen, Height

Specify the default screen height for the 3270 terminal type being defined. This is the screen height that is used when a transaction definition specifies a default screen. Screen height is defined as rows, in the range 0 through 999 The default is 24. There is no validity checking; incorrect sizes might lead to unpredictable behavior.

Alt. Screen, Width

Specify the alternate screen width for the 3270 terminal type being defined. This is the screen width that is used when a transaction definition specifies an alternate screen. Screen width is defined as columns, in the range 0 through 999. The default is 80. There is no validity checking; incorrect sizes might lead to unpredictable behavior.

Alt. Screen, Height

Specify the alternate screen height for the 3270 terminal type being defined. This is the screen height that is used when a transaction definition specifies an alternate screen. Screen height is defined as rows, in the range 0 through 999 The default is 24. There is no validity checking; incorrect sizes might lead to unpredictable behavior.

APL Keyboard

Check this to specify that the terminal type has the APL keyboard feature.

APL Text

Check this to specify that the terminal type can support the APL text character set.

Audible Alarm

Check this to specify that the terminal type has the audible alarm feature.

Color

Check this to specify that the terminal type has the color feature, which enables colors to be selected for individual fields.

Dual case kbd

Check this to specify that the terminal has a typewriter keyboard. Leave this unchecked to specify that the terminal has an operator console keyboard. Both types of keyboard transmit both upper-case and lower-case data.

Copy (Device Properties)

Check this to specify that the terminal type has the copy feature.

Extended DS

Check this to specify that the terminal type supports extensions to the 3270 data stream. You must check this if Color or Hilight are checked.

Highlight

Check this to specify that the terminal type has the extended highlight feature, enabling individual fields or characters to be displayed in bold, reverse video, or blinking.

Katakana

Check this to specify that the terminal type is a Katakana terminal. Katakana terminals do not support mixed-case output. Upper-case characters appear as upper-case English, but lower-case characters appear as Katakana characters.

Light Pen

Check this to specify that the terminal type has the light pen selector feature. MSS emulates this feature using mouse clicks.

Form Feed

Check this to specify that the device has the form feed feature.

CGSCID

Specify the coded graphic character set global identifier (CGCSGID) that enables transaction programs to determine what character set is supported by this terminal. Defaults to 0,0, which means that the terminal type does not support this feature. The first field specifies the graphic character set global identifier (GCSGID), and the second field specifies the code page global identifier (CPGID).

Horizontal Form

Check this to specify that the device has the horizontal form feature. The devices that can use this feature are batch, batch data interchange, interactive, SCSPRT or LUTYPE4 logical units. If checked, BMS uses horizontal tabbing when formatting output documents. If unchecked, the HTAB option in the BMS map definition is ignored.

Vertical FF

Check this to specify that the device has the vertical form feature. The devices that can use this feature are batch, batch data interchange, interactive, SCSPRT or LUTYPE4 logical units. If checked, BMS uses vertical tabbing when formatting output documents. If unchecked, the VTAB option in the BMS map definition is ignored.

EWA Support

Check this to enable a 3270 device to shift its display into its alternate mode.

SOSI

Check this to specify that the terminal type supports mixed EBCDIC and DBCS fields.

PS

Check this to specify that the terminal type supports the programmed symbol facility. This facility enables you to use a maximum of six sets of 191 characters

Outline

Check this to specify that the terminal type supports field outlining.

Numeric Lock

Check this to enable the numeric lock.

Buffer

Check this to specify that BMS buffers formatted data streams that are sent to a terminal of this type, that is, when an application issues a series of SEND TEXT PRINT commands, MSS sends a page to the terminal only when it is full. Leave thus unchecked to specify that when an application issues a series of SEND TEXT PRINT commands, MSS sends a page to the terminal for every command issued, filling up the page by appending blank lines if necessary.

Print Adapter

Check this to specify that output BMS screens with the PRINT option set on are to be copied automatically to an attached printer.

Transparency

Check this to enable background transparency.

Query

Check this to enable MSS to use the QUERY structured field to determine the characteristics of the device.

Text KB

Check this to specify that the 3270 device has the text-keyboard feature.

Mag Stripe Rdr

Check this to specify that the terminal type has the magnetic stripe reader feature. MSS emulates this feature using mouse clicks.

Validation

Check this:

  • For 8775 devices to enable the extended validation feature, which allows fields to be defined as TRIGGER, MANDATORY FILL, or MANDATORY ENTER.
  • For 3290 devices to enable the validation feature, which allows fields to be defined as MANDATORY FILL or MANDATORY ENTER.
Partition Support

Check this to enable the device to use partitions. This option is not valid for SCS printers.

Build Chain

Check this to specify that MSS is to reassemble request units into a complete message before passing data from a terminal of this type to a transaction program. Leave this unchecked to specify that messages are to be received by the transaction program in individual request units.

User Area

Specify the size, in bytes, of the user area of a terminal of this type. Defaults to 0 (zero).

In Shared Stg

Check this to force the user area into shared storage such that it can be accessed by transactions that do not have this device as the primary facility.

Uppercase Trans

Choose how data entered in lower case is to be treated:

Yes | Data input in lower case is translated to upper case.
No | Data input in lower case is not translated to upper case.
Tranid | Transaction identifiers input in lower case are translated to upper case; not other input data is translated.
I/O Area

Specify the minimum and maximum sizes, in bytes, of the terminal I/O area to be passed to a transaction program when it issues a RECEIVE. If you enter a number in the first field, a terminal I/O area of at least that size is passed to the transaction program. If you specify values in both fields, and a message longer than that specified by the first field, but shorter than that specified by the second field is received, then a terminal I/O area of the maximum size is passed to the transaction program. A message longer than that specified by the second field causes the node abnormal condition program to send an exception response to the terminal. Defaults to 0,0. If you check ATI, you must specify a terminal I/O area of at least one byte.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this T-type. This button is displayed only after you click Add.

Copy

Click this to create a new T-type, using the values set on this page as the basis for the new T-type. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this T-type. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS Term

Use this page to create a new Term (terminal).

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new Term.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group group_name page.

Add

Click this to save changes you have made to the page, refresh the page and add the new Term to the group you specify in Grp. The button changes to Apply..

Name

Specify the name for this Term.

Grp

Choose a group to which this Term will belong. The list of groups from which you can choose include only those which can be edited by you.

Description

Specify a description for this Term.

Model

Choose whether or not this terminal definition can be used as a model terminal definition for autoinstall:

  • No - can be used only for a specific device that is not autoinstalled.
  • Yes - can be used as a model for autoinstall, as well as for a specific device that is not autoinstalled.
  • Only - can be used only as a model for autoinstall.
Model Name

Applicable only if Model is Yes or Only. Specify the name by which the definition is known to the Autoinstall Control Program. Specify a name of up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Defaults to the name of this Term.

Terminal Type

Specify the associated Typerterm definition, which must exist. Mandatory.

Net Name

Specify the terminal's network name. Mandatory if Model is 'Yes' or 'No'. The name can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. The first character must be a letter.

Remote Name

Specify the remote name. Applicable only for remote terminals. Necessary only if it differs from the local terminal name.

Remote SysID

Specify the remote system ID that holds the terminal definition. Applicable only for remote terminals. This must correspond to one of:

  • The Local SYSID field in the SIT used to run the related remote MSS region.
  • The APPLID of another CICS system.
Transaction

Specify a transaction name. This specifies the only transaction that users can run from this terminal, apart from print and paging requests. Optional. If not specified, users can run any transaction from this terminal.

Priority

Specify the priority for transactions run from this terminal. Defaults to 0 (zero). Terminal priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority (this field)
  • Transaction priority
  • Operator priority

The sum cannot be greater than 255.

In Service

Check this to specify that this terminal is in service; that is, transactions can be initiated and messages sent.

Main Printer

Specify the printer used for handling print requests. This printer must be owned by the system that owns the terminal. The name can be up to four characters in length.

Prt. Copy

Check this to specify that the hardware copy feature (using the printer defined for this terminal) is used for print requests issued from this terminal.

Alternate Printer

Specify the printer used for handling print requests if the printer specified in Main Printer is unavailable. This printer must be owned by the system that owns the terminal. The name can be up to four characters in length.

Alt. Prt. Copy

Check this to specify that the hardware copy feature (using the alternate printer defined for this terminal) is to be used for print requests issued from this terminal.

User ID

Specify a user ID to be associated with the terminal. Mandatory if no sign-on takes place on the connection.

Language

Choose the national language in which messages are sent over the connection. You can choose English or Kanji.

Security Name

Specify the security name for the terminal. Required only if the terminal is owned by a remote system and the connection method is APPC. Can be up to eight alphanumeric characters from the set A through Z, 0 through 9, $, @ and #.

Attach

Choose the level of security required when a user issues an attach request from this terminal:

  • Identify - Incoming attach requests must specify a user ID
  • Verify - Incoming attach requests must specify both a user ID and a password
  • Persistent - The first attach request must specify both a user ID and a password, but subsequent attach requests require only a user ID
  • Mixed - Incoming attach requests may specify either Identify or Persistent
  • Local - The authority of the user is taken to be that of the link
Oper ID

Specify an operator ID to be used for routing messages. Specify this for a terminal that cannot be signed on, such as a printer. If you specify an operator ID for a terminal that can be signed on, it is overridden by the operator ID specified in the user's sign-on table entry. Up to three alphanumeric characters.

Oper Priority

Specify the operator priority for transactions run from this terminal. Specify this for a terminal that cannot be signed on, such as a printer. If you specify it for a terminal that can be signed on, it is overridden by the operator priority specified in the user's sign-on table entry. Defaults to 0 (zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority
  • Transaction priority
  • Operator priority (this field)

The sum cannot be greater than 255.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this Term. This button is displayed only after you click Add.

Copy

Click this to create a new Term, using the values set on this page as the basis for the new Term. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this Term. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS TST

Use this page to view and edit the TST tst_name, selected from the CICS Group group_name page.

The title bar gives details of the TST you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new TST to the group you specify in Grp. The button changes to Apply.

Name

Specify the name of this TST.

Grp

Choose a group to which this TST will belong. The list of groups from which you can choose include only those which can be edited by you.

Description

Specify a description for the TST (can be up to 60 characters).

Recoverable

Check this to enable recovery of the temporary storage queue in the event of an abnormal termination of either MSS or the transaction processing the destination.

Name (Remote Queue)

Specify the name of a temporary storage queue.

SYSID

Specify the system or region in which the temporary storage queue resides. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Security Keys, all

Choose a setting to apply to all the security keys:

  • On - enables all of the security keys
  • Off - disables all of the security keys
Security Keys, 1 - 64

Check any of the boxes 1 through 64 to activate that security key.

Delete

Click this to delete this TST. This button is displayed only after you click Add.

Copy

Click this to create a new TST, using the values set on this page as the basis for the new TST. This button is displayed only after you click Add.

Dump

Click this to create and view dump information for this TST. This button is displayed only after you click Add.

Parent topic: Pages for Creating Resources


CICS URIMAP

Use this page to create a new URIMAP.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new URIMAP.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Click Apply to save changes you have made to the page and refresh the page.

Name
The name of this URIMAP definition. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the URIMAP have been saved and the entry updated. Click Refresh to remove this message.
Description
A description of this URIMAP definition.
Status
Specifies whether this URIMAP definition is installed in an enabled or disabled state.
Usage
Specifies whether this URIMAP definition is for:
  • CICS as an HTTP server
  • CICS as an HTTP client
Universal Resource Identifier:
Scheme
The scheme component of the URI.
Port
The number of the port used by the user application when it communicates with a server.
Host
The host name, or IPv4 or IPv6 address, of the URI.
Path
The path component of the URI.
Associated CICS Resources:
TCPIPService
The name of a TCPIPSERVICE resource definition that defines an inbound port.
Analyzer
Indicates whether an analyzer program is used in processing the HTTP request.
Converter
The name of a converter program used to convert (or perform other processing) on the request and response.
Transaction
The name of an alias transaction used either to run the user application that composes the HTTP response, or to start the pipeline.
Program
The name of the user application program that composes the HTTP response.
Pipeline
Not supported for this release.
WebService
Not supported for this release.
Security Attributes:
Ciphers
A string of up to 56 hexadecimal digits that is interpreted as a list of up to 28 2-digit cipher suite codes.
Certificate
The label of the X.509 certificate that is used as the SSL client certificate during the SSL handshake.
Authenticate
Specifies whether to send basic authentication information in the HTTP response.
Static Document Properties:
Not supported for this release.
Redirection:
Not supported for this release.
Parent topic: Pages for Creating Resources


CICS TCPIPSERVICE

Use this page to create a new TCPIPSERVICE.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new TCP/IP service.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Click Apply to save changes you make to the page, and refresh the page.

Name
The name of this TCPIPSERVICE definition. If you click Apply, the message "Update complete" is also displayed when the changes you have made to the definition have been saved and the entry updated. Click Refresh to remove this message.
Description
A description of this definition.
URM
The name of a user-replaceable program that this service invokes.
Port No
The number of the port on which CICS listens for incoming client requests.
Status
Specifies the initial status of the service after installation, either OPEN if CICS is to begin listening for this service after installation, or CLOSE if not.
Protocol
The application level protocol used on the TCP/IP port.
Transaction
The ID of the CICS transaction to process new requests that this service receives.
Backlog
Not supported for this release.
TSQ Prefix
A code to identify items in the temporary storage queue (TSQ).
IP Address
Not supported for this release.
Socket Close
Not supported for this release.
Max Data Length
Not supported for this release.
Security:
Not supported for this release.
DNS Connection Balancing:
Not supported for this release.
Parent topic: Pages for Creating Resources


CICS XAT

Use this page to create a new XAT (XA-compliant database table).

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new XAT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Group List

Click this to display the CICS Group page group_name.

Add

Click this to save changes you have made to the page, refresh the page and add the new XAT to the group you specify in Grp. The button changes to Apply.

Name

Specify the name of this XAT.

Grp

Choose a group to which this XAT will belong. The list of groups from which you can choose include only those that can be edited by you.

Description

Specify a short description of the XAT. Acceptable characters are A through Z, 0 through 9, $, @ and #.

Switch Module

Specify the location of the executable file (.dll on Windows, .sl on HP-UX PA-RISC, .so on other UNIX platforms) that contains the entry point that returns the xa_switch_t structure to the enterprise server.

DB Name

Specify the name by which the resource manager is known.

User ID

Specify a resource manager ID, used internally to identify a particular XA configuration. This must be unique within the enterprise server.

Password

Specify the password required for the User ID. If you are entering a new password, you have to confirm it by entering it in PW Verify.

PW Verify

Specify the password again, if you are creating a new password, to verify you have entered it correctly.

Open String, Free Format

Specify the string that is passed to the resource manager on the xa_open() call. An entry in this field usually contains at least the database name, and the user ID and password for connecting to the database. The contents of this string are database-specific.

For DB2, the contents are documented in IBM's DB2 Administration Guide; for additonal information see the Application Programmer's Guide.

For Oracle, see the Oracle Application Developer's Guide - Fundamentals.

Where the rescoure manager supports dynamic registration, and the database vendor requires the name of the module that provides the ax_reg function, you should specify casaxlib.

Close String, Free Format

Specify the string that is passed to the resource manager on the xa_close() call. To find out whether or not you need to supply Close string, see your database vendor's documentation.

Load Module

Choose an external resource manager that the server needs to communicate with on behalf of container-managed applications.

Load Module, Name

if you chose User in Load Module, specify the name of the module that supplies the run-time support for the database calls made by the application.

Parent topic: Pages for Creating Resources


CICS DOCTEMPLATE - (doctemplate_name)

Use this page to create a new DOCTEMPLATE.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new template.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Click Add to save changes you have made to the page, refresh the page and add the new template to the group you specify in Grp. When you click Add, the button changes to Apply.

Name
The name of this template.
Grp
The group to which this resource belongs. Do not use group names beginning with "DFH" as these are reserved for use by CICS.
Description
A description of this template. This can be up to 58 characters long.
Append CR/LF
Specifies whether CICS deletes trailing spaces from, and appends carriage return/line feed to, each logical record of the template.
Content Type
The format of the template contents, either BINARY or EBCDIC. If you choose BINARY, when the template is loaded its contents are not parsed; if you select EBCDIC, the template contents are parsed as EBCDIC text.
Template Name
The name by which the template is know to application programs that use it. The name can be up to 48 characters long. If you do not enter a value, it defaults to the value of Name.
Template Type
The type for the source of the template.
Enter details for one of the following:
File
The name of a CICS file which contains the template. This name can be up to eight characters long.
TS Queue
The name of a temporary storage queue containing the template. This name can be up to 16 characters long.
TD Queue
The name of a transient storage queue containing the template. This name can be up to four characters long.
Program
The name of the CICS program that contains the template. This name can be up to 48 characters long. If you do not specify a value, the template name is used.
Exit Program
The name of the exit program that generates this template. This name can be up to eight characters long.
MVS PDS
The details of an MVS partitioned data set (PDS) containing the template.
  • DD Name, the name of the PDS. This name can be up to eight characters long. The default is "DFHHTML".
  • Member Name, the name of a member in the PDS. This name can be up to eight characters long.
HFS File
The name of a z/OS UNIX System Services file containing the template. This can be either the absolute name including all directories and beginning with a slash, or a name relative to the home directory of the CICS region. The name can be up to 255 characters long.
Parent topic: Pages for Creating Resources


View and Edit a JES

Use this page to view and, if you have the required permissions, edit the batch initiator or batch printer SEP jes_sep_name, selected from the CICS Group group_name page.

The title bar gives details of the batch initiator or batch printer SEP you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the JES SEP definition resides.

Name

Shows the name of this JES SEP.

Description

Specify a description of the JES SEP. Acceptable characters are A through Z, 0 through 9, $, @ and #.

Type

Choose a type for the JES SEP, either initiator or printer.

Classes

Specify the classes of jobs that this SEP is to handle. Use upper case with no space between classes.

Delete

Click this to delete this JES SEP. You see this button only if you have editing permissions for the group to which the JES SEP belongs.

Copy

Click this to create a new JES SEP using the entries specified on this page.

Dump

Click this to create and view dump information for this JES SEP.

Parent topic: Pages for Creating Resources


Pages for Viewing and Editing Resources

  • CICS DCT - dct_name (group_name)
  • CICS FCT - fct_name (group_name)
  • CICS JCT - jct_name (group_name)
  • CICS PCT - pct_name (group_name)
  • CICS PLT - plt_name (group_name)
  • CICS PPT - PPT_name (group_name)
  • CICS Sys62 - sys62_name (group_name)
  • CICS SysC - sysc_name (group_name)
  • CICS T-Type - ttype_name (group_name)
  • CICS Term - term_name (group_name)
  • CICS TST - tst_name (group_name)
  • CICS XAT - xat_name (group_name)
Parent topic: Resources


CICS DCT - dct_name (group_name)

Use this page to view and edit the DCT dct_name, selected from the CICS Group group_name page.

The title bar gives details of the DCT you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the DCT resides.

Name

Shows the name for this DCT.

Description

Specify a description for this DCT (can be up to 60 characters).

Type

Choose the destination for transient data:

  • Intra-Part - intrapartition
  • Indirect - indirect
  • Extra-Part - extrapartition
  • Internal Rdr - the internal reader to which CICS applications can direct a JCL jobstream for execution by the JCL engine
Indirect Name

Specify the symbolic name of the indirect destination. The symbolic name is used when writing to the destination. The name can be one to four characters in length. This control has an effect only if you selected Indirect in the Type control.

Recoverable

Check this to enable recovery of the destination in the event of an abnormal termination of either MSS or the transaction processing the destination. This control has an effect only if you selected Intra in the Type control.

Name (Remote Queue)

Specify the name of a remote transient data destination.

SYSID

Specify the system or region in which the remote transient data destination resides. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

Transaction

Specify the name of the transaction that is to be automatically initiated when the trigger level specified in Trigger Level is reached. If no transaction is specified, or Trigger Level is set to 0, some other means must be used to schedule transactions to read records from the destinations.

Terminal

Specify the terminal associated with the transient data destination. The terminal must be defined to MSS.

Trigger Level

Specify the number of records to be accumulated before a task is automatically initiated to process them. The maximum number you can enter is 32767.

File Name

Specify the filename of the extrapartition file.

File Path

Specify the pathname of the folder that contains the extrapartition file.

Extension

Specify the filename extension of the extrapartion file.

Fileshare

Specify the name of the stand-alone Fileshare server that controls this file (if required).

Record Max

Specify the maximum length of a record in the extrapartition file.

Record Min

Specify the minimum length of a record in the extrapartition file.

Initial State

Choose the initial status of the data set:

  • Open - the data set is opened by system initialization.
  • Closed - the data set remains closed until you indicate that you want to open it.
Type (Extra-partition File Characteristics)

Choose whether the file is line sequential:

  • Normal - the file is not line sequential.
  • Line Sequential - the file is line sequential.
Print Attributes

Choose whether or not a forms control character is contained in the first position of each record:

  • No Control - records have no forms control character.
  • ASA - records contain a form control character that is in ASA format.
  • Machine - records contain a form control character that is in machine format.
I/O Type

Choose the type of input/output:

  • Input - input data.
  • Output - output data.
  • Read Backwards - input data read from the end of the dataset to the beginning.
Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this DCT. You see this button only if you have editing permissions for the group to which the DCT belongs.

Copy

Click this to create a new DCT using the entries specified on this page.

Dump

Click this to create and view dump information for this DCT.

Parent topic: Pages for Viewing and Editing Resources


CICS FCT - fct_name (group_name)

Use this page to view and, if you have the required permissions, to edit the FCT fct_name, selected from the CICS Group group_name page.

The bar at the top of the page gives details of the FCT you are editing and the resource group it belongs to.

Group List

Display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the FCT resides.

Name

Shows the name for this FCT

Description

Specify a description for this FCT (can be up to 60 characters).

Type

Choose the file type:

  • KSDS - Key sequence data set
  • ESDS - Entry sequence data set
  • RRDS - Relative record data set
  • Alt Index - Alternate index
  • Undefined - Remote file (You must specify Remote SYSID.)

You must uncheck Use Catalog before you can specify a file type. This is because if you use the catalog this information is stored there, not in the FCT entry.

Format

Specify the format for the file. You must uncheck Use Catalog before you can choose a file format. This is because if you use the catalog this information is stored there, not in the FCT entry.

LRECL Min

Specify the minimum logical record length of the file, in bytes, in the range 1 through 32767. This must not be greater than the value of Max LRECL.

For fixed length records, set this value equal to Max LRECL.

You must uncheck Use catalog before you can specify a minimum logical record length. This is because if you use the catalog this information is stored there, not in the FCT entry.

LRECL Max

Specify the maximum logical record length of the file, in bytes in the range 1 through 32767. This must not be less than the value of Min LRECL.

For fixed length records, set this value equal to Min LRECL.

Key Position

For files of type KSDS or ALT, specify the byte number at which the record key begins in the range 1 through 32767. Bytes are numbered from 1.

Key Length

For files of type KSDS or ALT, specify the length of the record key in bytes (within the range 1 through 32767). The value "Key position+Key length-1" must not be greater than Min LRECL.

For files of type Undefined, specify the length of the record key, which must not be greater than Max LRECL.

Use Catalog

Check this if you want to use the catalog to store information about the file. If checked, certain parameters on this page become irrelevant; the description for each parameter indicates whether Use Catalog affects that parameter.

AIX Base

Specify the base filename for an alternate index. MSS references alternate indexes by a user-assigned name. This connects the alternate index definition to the base file.

Dataset Name

Specify the data set name for this file as used on the mainframe. You must check Use Catalog before you can specify a data set name. This is because the catalog uses this information.

Status

Choose whether the file is accessible to transactions:

  • Enabled - the file is accessible to transactions at system startup.
  • Disabled - the file is not accessible to transactions at system startup. A disabled file returns the reference "DISABLED". This can cause problems for some applications; if this is true for your application, set Unenable instead.
  • Unenabled - the file is not accessible to transactions at system startup. An unenabled file returns a reference "NOTOPEN", which can be handled by those applications that cannot handle a "DISABLED" reference.

The value set by this control is ignored if the file resides on a remote system.

Access

Check one or more boxes to set the read/write permissions for the file:

  • Read - enables applications to read records from the file
  • Add - enables applications to add records to the file
  • Browse - enables applications to browse the file
  • Delete - enables applications to delete records from the file
  • Update - enables applications to update records in the file
  • Exclusive - CICS Exclusive Control. Enables an application to gain exclusive control of a record within a file.
Set

Check one or more boxes to set various file parameters:

  • Start Open - check this to indicate that the file is to be opened at system startup. If you want the file to be opened at system startup and accessible to transactions, you must also select Enabled in the Status select box.
  • Start Empty - check this to indicate that the current contents of the file are to be deleted at system startup
  • Backward Recovery - check this to indicate that the file is a protected resource changes to which can be backed out. The file must be accessed through a Fileshare server.
  • Forward Recovery - check this to indicate that journals are to be used to record changes to the file to enable forward recovery. The file must be accessed through a Fileshare server.
  • Allow Duplicate Keys - check this if the file can have duplicate keys. The file must be an alternate index (Type set to Alt index) and you must have unchecked Use Catalog, because if you use the catalog this information is stored there, not in the FCT entry.
  • EBCDIC Collating Sequence - check this to indicate that the EBCDIC collating sequence is to be used. You must uncheck Use Catalog before you can check this, because if you use the catalog this information is stored there, not in the FCT entry.
Remote SYSID

Specify the system ID of the remote system on which the file resides. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

Use Catalog must be unchecked before you can specify a system ID for the remote system. This is because the catalog is used only for storing information about files held locally.

Remote File

Specify the name of the file on the remote system. Use Catalog must be unchecked before you can specify a name for a remote file. This is because the catalog is used only for storing information about files held locally.

Override File Name

Specify the filename of the physical file if you want to override the default. Do not include the file extension. Can be up to 255 characters.

If you do not specify this entry, the physical file name defaults to the name of the FCT entry.

You cannot use this default if you specify a Fileshare server; you must specify a physical file name.

Use Catalog must be unchecked before you can specify a filename. This is because if you use the catalog this information is stored there, not in the FCT entry.

File Extension

Specify the file extension of the physical file if you want to override the default. Can be up to 3 characters. Use Catalog must be unchecked before you can specify an extension. This is because if you use the catalog this information is not required.

File Path

Specify the path of the physical file if you want to override the default. Do not include the filename or file extension. Can be up to 255 characters. Use catalog must be unchecked before you can specify a path. This is because if you use the catalog this information is stored there, not in the FCT entry.

Fileshare Server

Specify the ID of the Fileshare server on which the file resides. Can be up to 16 characters. You must uncheck Use Catalog before you can specify a Fileshare server. This is because if you use the catalog this information is stored there, not in the FCT entry.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - Enables all the resource keys
  • Off - Disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this FCT. You see this button only if you have editing permissions for the group to which the FCT belongs.

Copy

Click this to create a new FCT using the entries specified on this page.

Dump

Click this to create and view a dump of the FCT.

Parent topic: Pages for Viewing and Editing Resources


CICS JCT - jct_name (group_name)

Use this page to view and, if you have the you have the required permissions, edit the JCT jct_name, selected from the CICS Group group_name page.

The title bar gives details of the JCT you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group group_name page.

Apply

Click this to save changes you have made to the page and refresh the page. This button is only displayed if you have permission to edit the group in which the JCT resides.

Name

Shows the name of this JCT.

Description

Specify adescription of the JCT. The description can be up to 60 characters long.

Type

Choose the type of journal:

  • Disk 1 - a journal on disk that has one data set to be reused when full.
  • Disk 2 - a journal on disk that has two data sets to be used alternately. You must specify this to minimize operator involvement during a takeover.
  • Disk 2 Pause - a journal on disk that has two data sets to be used alternately. When the second data set is full, the system is paused to enable the operator to copy the data sets to another location before resuming with the first data set.
  • SMF - mainframe System Management Facility format.
  • Tape 1 - a journal on one tape drive.
  • Tape 2 - a journal on two tape drives.
File Name

Specify the filename of the journal.

File Path

Specify the pathname of the journal file.

Extension

Specify the filename extension of the journal file.

Fileshare

Specify the name of the Fileshare server that controls this data set.

Record Max

Specifies the maximum length of a record in the journal file.

Record Min

Specifies the minimum length of a record in the journal file.

Initial State

Choose the initial status of the journal:

  • New - a new journal data set is created at system initialization.
  • Append - data is appended to an existing journal data set.
Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Delete

Click this to delete this JCT. You see this button only if you have editing permissions for the group to which the JCT belongs.

Copy

Click this to create a new JCT that uses the values in this JCT.

Dump

Click this to create and view dump information for this JCT.

Parent topic: Pages for Viewing and Editing Resources


CICS PCT - pct_name (group_name)

Use this page to view and, if you have the required permissions, to edit the PCT pct_name.

The title bar gives the name (pct_name) of the PCT you are editing and the resource group (group_name) it belongs to.

Click Apply to save changes you make to the page then refresh the page. This button is displayed only if you have permission to edit the group in which the PCT resides.

Group List

Click this to display the CICS Group page group_name.

Name

Shows the name for this PCT.

Description

Specify a description of the transaction program (can be up to 60 characters).

Program Name

For local programs only, specify the name of the application program to be run when this transaction is invoked. Leave this field blank if you enter a value in the remote system ID field.

Can be up to eight characters (A-Z, 0-9, #, @, or $). The name is translated to upper case.

Work Area

Specify the size of the transaction program's Transaction Working Area (TWA) in bytes, in the range 0 through 32767.

Remote SysID

Specify the system ID of the remote system. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

Remote PCT

Specify the transaction ID of the transaction program on the remote system. You must specify Remote SysID before you can specify a transaction ID.

Can be up to four alphanumeric characters, the first of which must be a letter. Do not use the letter C as the first character; transaction IDs beginning with C are reserved for use by MSS.

Status

Choose a status for the transaction program:

  • Enabled - the transaction program is enabled.
  • Disabled - the transaction program is disabled.
In Doubt

Choose what is to happen if a transaction program using intersystem communication abends at a critical moment during syncpoint or abend processing:

  • Backout - the effects of the transaction are backed out using ROLLBACK. To use this option, files used by the transaction program must have Backward recovery checked on the FCT page.
  • Commit - any changes are committed.
  • Wait - critical resources are locked until the session has recovered, and are then backed out or committed in step with the remote system.
Upper Case

Check this if you want the transaction program to translate input into upper case

Tracing

Choose the type of tracing to be performed for the transaction program:

  • None - No tracing is performed.
  • Normal - Tracing is performed.
  • Special - Special tracing is performed.
Dynamic Route

Check this to have the program status (local or remote) determined dynamically at user invocation time. If this is unchecked, the program status is made local or remote according to the value of System ID.

Security

Use these check boxes to control the way in which resource authorization checks are performed. If they are not checked, the only check performed will be to confirm that the user has authority to run the transaction. If you check RLS (Resource Level Security), Enterprise Server will check the user's authorization for all resources that the transaction accesses (e.g. file access, TDQ, TSQ, LINK, DPL, START and so on). Checking CMD(for Command) will check the authorization on all the EXEC CICS command operations (e.g. EXEC CICS SET/ENABLE/DISABLE).

Note that IBM Category 3 Transactions do not have security checking at all, so the transactions are allowed for everyone with no authorization calls.

Priority

Specify the transaction priority of the transaction program in the range 0 through 255, where 255 is the highest priority.

The priority of a transaction is the sum of:

  • The terminal priority
  • The transaction priority (this field)
  • The operator priority

This sum must not be greater than 255.

Dump on ABEND

Check this to create a program dump if the transaction program abends.

3270 Screen

Specify the screen size to be used by the transaction program. Select:

  • Default to use the default screen size (as defined in the Typeterm entry).
  • Alternate to use the alternate screen size (as defined in the Typeterm entry).
Inbound

Check this to indicate that this transaction can be initiated by an inbound user action.

Input Timeout

Specify the maximum time in seconds allowed for operator response to an explicit CICS RECEIVE, WEB OPEN, WEB SEND, WEB RECEIVE, or WEB CONVERSE command before this transaction is abended. A value of 0 indicates that there is no timeout, and the system will wait indefinitely for a response.

Check Use System Value to use the system wide value for Input Timeout (as shown on the ESMAC Control screen) rather than the PCT entry.

Runaway Timeout

Specify the maximum continuous period of time in seconds that the region will allow this transaction to run without making a CICS, EZASOKET or MQSeries API call. When this time is exceeded, the transaction is abended. A value of 0 indicates that there is no timeout.

Check Use System Value to use the system wide value for Runaway Timeout (as shown on the ESMAC Control screen) rather than the PCT entry.

Deadlock Timeout

Specify the maximum time in seconds that the region will permit this transaction to wait for a resource that has been locked by another process. A value of 0 indicates that there is no timeout.

Check Use System Value to use the system wide value for Deadlock Timeout (as shown on the ESMAC Control screen) rather than the PCT entry.

Transaction Threshold

Specify the maximum length of time in seconds that a transaction can run before a message is logged to the console to indicate that it has exceeded its threshold. A value of 0 indicates that there is no threshold.

Check Use System Value to use the system wide value for the transaction time threshold (as shown on the ESMAC Control screen) rather than the PCT entry.

Resource Keys, all

Choose a setting to apply to the resource keys:

  • On - enables all the resource keys.
  • Off - disables all the resource keys.

Check any of the boxes 1 through 24 to activate that resource key.

Security Keys, all

Choose a setting to apply to the security keys:

  • On - enables all the security keys.
  • Off - disables all the security keys.

Check any of the boxes 1 through 64 to activate that security key.

Active

Click Display to display the currently installed definition of this resource.

Click Install to install (make active) this resource.

Delete

Click this to delete this PCT. You see this button only if you have editing permissions for the group to which the PCT belongs.

Copy

Click this to create a new PCT, using the values set on this page as the basis for the new PCT.

Dump

Click this to create and view dump information for this PCT.

Parent topic: Pages for Viewing and Editing Resources


CICS PLT - plt_name (group_name)

Use this page to view and edit the PLT plt_name, selected from the CICS Group group_name page.

The title bar gives details of the PLT you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page, and refresh the page. You see this button only if you have permission to edit the PLT.

Name

Shows the name of the PLT.

Description

Specify a description of the PLT (can be up to 60 characters).

01 - nn

Shows a numbered list of programs.

Note that, if you can edit the PLT, there is always a blank field added at the end of the list.

You can add a new program in the blank field, if required. If you do so, you must click Apply. The page is refreshed, and the new program is added to the list.

You can edit a program name by clicking in the name and making your changes. Your changes do not take effect until you click Apply.

You can change the order of the programs in the PLT. Use Down arrow button to move a program down the list. Use Up arrow button to move a program up the list.

Delete an entry in the PLT by clicking Delete button.

Run once/Run in each process

Click Run once to specify that the program should only run once, when the PLT is first initiated. Click Run in each process to specify that the program should run every time the PLT is initiated.

Delete

Click this to delete this PLT. You see this button only if you have editing permissions for the group to which the PLT belongs.

Copy

Click this to create a new PLT, using the values set on this page as the basis for the new PLT.

Dump

Click this to create and view dump information for this PLT.

Parent topic: Pages for Viewing and Editing Resources


CICS PPT - PPT_name (group_name)

Use this page to edit the PPT PPT_name, selected from the CICS Group group_name page.

The bar at the top of the page gives details of the PPT you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the PPT resides.

Name

Shows the name for this PPT.

Description

Specify a description of the transaction program (can be up to 60 characters).

Status

Choose a status for the program:

  • Enabled - enables this program to be used in a normal manner.
  • Disabled - prevents the program from being used until specifically enabled using master terminal services.
Type

Choose a type for the resource:

  • Program - this resource is a program.
  • Data Area - this resource is a data table.
Resident

Check this if you want to enable this program to reside in the application server's program cache after it has been loaded.

Commarea

Specify the amount of storage to be allocated to the communications area (COMMAREA) to enable MSS to behave like mainframe CICS. The size is in the range 0 through 32767. The effect of this is that when a program is passed a COMMAREA smaller than the COMMAREA defined in the program, the passed COMMAREA is automatically extended in length to fill the defined space.

Language

Choose the language the program is written in.

Save, Working Storage

Check this to have load requests ignored if the program is already in storage.

Uncheck this to have a fresh copy of the program loaded every time a load request for the program is issued.

Remote SysID

If the program resides in a remote region, specify the 4-character, remote system identifier (as defined in the TCT).

If the program resides in the local region, leave this field blank.

Rmt Trans ID

Specify the transaction ID of the transaction program on the remote system. A System ID must be specified before a transaction ID can be specified.

The remote transaction ID can be up to four alphanumeric characters, the first of which must be a letter. Do not use the letter C as the first character; transaction IDs beginning with C are reserved for use by MSS.

Remote Prog

If the program resides in a remote region, specify the name by which the program is known there. Remote SysID must be specified before a remote program ID can be specified.

If you specify a remote system ID but leave this field blank, the local identifier for this program will be sent to the remote region.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to Install (make active) this resource.

Delete

Click this to delete this PPT. You see this button only if you have editing permissions for the group to which the PPT belongs.

Copy

Click this to create a new PPT using the entries specified on this page.

Dump

Click this to create and view a dump of this PPT.

Parent topic: Pages for Viewing and Editing Resources


CICS Sys62 - sys62_name (group_name)

Use this page to view and edit the Sys62 sys62, selected from the CICS Group group_name page. A Sys62 is a definition of an LU6.2 system connection.

The title bar gives details of the Sys62 you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group group_name page.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the Sys62 resides.

Name

Shows the name of this Sys62.

Description

Specify a short description of the Sys62. Acceptable characters are A through Z, 0 through 9, $, @ and #.

LU Alias

Specify the parameter used to connect this definition to the LU6.2 protocol stack definition for this connection.

Mode Table

Specify the parameter that tells the LU6.2 protocol stack which Mode (or session characteristics) Table to use for this connection.

Partner Alias

Specify the parameter required to associate this definition with a peer server's definition within the LU6.2 protocol stack definitions.

APPLID

Specify the SNA Application ID of the peer partner server for this connection.

Net Name

Specify the network name that identifies the remote system. The name can be up to eight characters in length. The name follows assembler language rules. It must start with an alphabetic character. The acceptable characters are: A-Z 0-9 $ @ and #. Lower-case characters are converted to upper case except when using the CREATE command.

Net Name is the APPLID of the remote system or region, unless you are defining an APPC or LUTYPE6.1 link to a VTAM generic resource group. If you are defining an LUTYPE6.1 link to a generic resource, Net Name must specify the generic resource name, not the APPLID of one of the group members. If you are defining an APPC link to a generic resource, Net Name can specify either the group’s generic resource name or the APPLID (member name) of one of the group members. However, if you specify a member name, and this CICS is not itself a member of a CICS Transaction Server for OS/390 generic resource, the connection must always be acquired by this CICS. For VTAM, the APPLID is the label of the remote ACF/VTAMÑ VBUILD TYPE=APPL statement. If you do not supply a Net Name, the CONNECTION name is used by default. You cannot have two or more APPC links with the same Net Name.

Session Max

Specify the maximum number of parallel sessions allowed to be active on this LU.

Transaction

Specify the permanent four character transaction code to be attached to handle unsolicited input.

Priority

Specify the facility related priority to be used for work that is running with this as the primary facility.

In Service

Check this to enable this facilityto default to (or start initially as) being “in service”.

User ID

Specify the permanent user ID for this LU. Any work running against this facility will inherit the permissions of this user ID.

Language

Specify the default language for user interfaces connected to this facility.

Session Name

Specify the name for the session.

Attach

Specify the level of attach-time user security required for the connection:

  • Identify - Incoming attach requests must specify a user identifier. IDENTIFY is used when the connecting system has a security manager; for example, if it is another CICS system.
  • Local - The authority of the user is taken to be that of the link itself, and you rely on link security alone to protect your resource. Local must be specified if the PROTOCOL attribute on the CONNECTION definition is LU6.1.
  • Mixed - Incoming attach requests may be using either or both IDENTIFY or PERSISTENT security types. The security type actually used depends on the incoming attach request.
  • Persistent - Incoming attach requests must specify a user identifier and a user password on the first attach request. Subsequent attach requests require only the user identifier. This should be used only between a PWS (programmable workstation, for example, an IBM Personal System/2) and CICS.
  • Verify - Incoming attach requests must specify a user identifier and a user password. Enter Verify when the connecting system has no security manager and hence cannot be trusted. Do not specify Verify for CICS-to-CICS communication, because CICS does not send passwords.
Oper ID

Specify the three-character operator ID associated with the permanent user ID - returned on ASSIGN OPID() command for transaction attached to this facility.

Oper Priority

Specify the operator-related priority for transactions running against this facility.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all of the resource keys
  • Off - disables all of the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Delete

Click this to delete this Sys62. You only see this button if you have editing permissions for the group to which the Sys62 belongs.

Copy

Click this to create a new Sys62, using the values set on this page as the basis for the new Sys62.

Dump

Click this to create and view dump information for this Sys62.

Parent topic: Pages for Viewing and Editing Resources


CICS SysC - sysc_name (group_name)

Use this page to view and edit the SysC sysc_name, selected from the CICS Group group_name or CICS Startup List startup_list page. A SysC is a definition of a CCI system connection.

The title bar gives details of the SysC you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the SysC resides.

Name

Shows the name of this SysC.

Description

Specify a description of the transaction program (can be up to 60 characters).

Machine Name

Specify the machine name; consists of the Local LU Alias of the client machine and the Mode used by CCIAPPC when issuing the APPC ALLOCATE verb to initiate a conversation with the server TP. The machine name must be specified in the following format:

LUNAME.MODENAME

where the parameters are:

LUNAME | The Local LU Alias of the client machine. This name must also be defined as a Partner LU Alias on the server machine.
MODENAME | A Mode defined on both the client and server machines.
Protocol

Specify the CCI protocol to be used by this connection.

MF Node

Specify the text hostname or dotted decimal address of the target server.

MF Port

Specify the decimal value of the port that the target server listens on.

Net Name

Specifiy the name of the network over which the connection is established.

Session Max

Specify the maximum number of sessions that can use this connection.

Transaction

Specify the one- to four-character transaction ID. When MSS receives a request to start a transaction, it only looks at the first four characters of the TP name.

Priority

Specify the priority for transactions run from this terminal. Defaults to 0 (zero). Terminal priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority (this field)
  • Transaction priority
  • Operator priority

The sum cannot be greater than 255.

In Service

Check this to specify that the connection defined by this Sys62 is in service.

User ID

Specify a user ID to be associated with the connection. Mandatory if no sign-on takes place on the connection.

Language

Choose the national language in which messages are sent over the connection. You can choose English or Kanji.

Session Name

Specify the security name of the connection. Can be up to eight alphanumeric characters from the set A through Z, 0 through 9, $, @ and #.

Attach

Choose the level of security required when a user issues an attach request over this connection:

  • Identify - incoming attach requests must specify a user ID.
  • Verify - incoming attach requests must specify both a user ID and a password.
  • Persistent - the first attach request must specify both a user ID and a password, but subsequent attach requests require only a user ID.
  • Mixed - incoming attach requests can specify either Identify or Persistent.
  • Local - the authority of the user is taken to be that of the link.
Oper ID

Specify an operator ID used for routing messages. Specify this for a terminal that cannot be signed on, such as a printer. If you specify an operator ID for a terminal that can be signed on, it is overridden by the operator ID specified in the user's sign-on table entry. Up to three alphanumeric characters.

Oper Priority

Specify the operator priority for transactions run from this terminal. Specify this for a terminal that cannot be signed on, such as a printer. If you specify it for a terminal that can be signed on, it is overridden by the operator priority specified in the user's sign-on table entry. Defaults to 0(zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority
  • Transaction priority
  • Operator priority (this field)

The sum cannot be greater than 255.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that security key.

Delete

Click this to delete this SysC. You only see this button if you have editing permissions for the group to which the SysC belongs.

Copy

Click this to create a new SysC that uses the values in this SysC.

Dump

Click this to create and view dump information for this SysC.

Parent topic: Pages for Viewing and Editing Resources


CICS T-Type - ttype_name (group_name)

Use this page to view and edit the T-type (terminal type definition) ttype_name. group_name indicates the group to which this T-type belongs.

The title bar gives details of the T-type you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click thtis to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the T-type resides.

Name

Shows the name for this T-type.

Description

Specify a description of the T-type. The text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.

Type

Choose the type of terminal device:

  • 3270 - A 3270 display device
  • Non-Facility - A non-physical device
  • Generic - Non-specific facility definition
  • ECI - External Call Interface dummy facility
  • System - A peer CICS or ES server
  • Printer - Printer device
  • Dialog Sys - Dialog System client facility
Shippable

Check this to indicate that this physical terminal definition may be shipped to a remote system in support of a transaction routing request. Ifa physical terminal definition is not marked shippable, then the target system must have the terminal explicitly defined as a remote terminal for the transaction routing request to succeed.

Map Size, Width

Specify the page width for the terminal type being defined. The width is defined as a number of columns, in the range 0 through 999. The default is 80.

Map Size, Height

Specify the page height for the terminal type being defined. The height is defined as a number of rows, in the range 0 through 999. The default is 24.

Alternate Map, Width

Specify the page size for the terminal type being defined, if you have specified an alternate screen size (non-default values for Alt Screen, Width and Alt Screen, Height). Alternate page size width is defined as a number of columns, in the range 0 through 999. The default is 80. Unexpected results may occur if the number of columns is not the same as the number of columns you specify for Alt Screen, Width. Defaults to the values specified in Map Size, Width.

Alternate Map, Height

Specify the page size for the terminal type being defined, if you have specified an alternate screen size (non-default values for Alt Screen, Width and Alt Screen, Height). Alternate page size height is defined as a number of rows, in the range 0 through 999. Unexpected results may occur if the number of columns is not the same as the number of columns you specify for Alt Screen, Height. Defaults to the values specified in Map Size, Height.

OB Oper ID, Yes

Check this to enable MSS to use the outbound operator identifiers to support the BMS routing facilities required by this terminal type definition.

Outboard Fmt, Yes

Check this to enable MSS BMS to delegate part of the presentation formatting to the client facility.

ASCII

Choose whether or not this terminal type has an ASCII feature:

No | The terminal type does not have an ASCII feature
7 Bit | Terminals of this type are ASCII-7 terminals. All outbound data is translated to 7-bit ASCII, and all inbound data is translated to EBCDIC
8 Bit | Terminals of this type are ASCII-8 terminals. All outbound data is translated to 8-bit ASCII, and all inbound data is translated to EBCDIC
Send Size

Specify the size, in bytes, of the receive buffer of a terminal of this type. This represents the maximum amount of data that the terminal can receive, and depends on the capability of the device. Considerations of line quality might lead you to specify a buffer size that is less than the terminal type's maximum buffer size. A message longer than the receive buffer is broken into as many request units as are necessary. Defaults to 0 (zero). If you specify a zero buffer size, the message is not broken up; the whole message is presented.

Receive Size

Specify the maximum size, in bytes, of a request unit that can satisfy a receive request. The value you specify may be rounded down.

Routed Msg

Indicates whether or not messages are routed to a terminal of this type by the EXEC CICS ROUTE command. Check this to indicate that BMS is to route to this terminal messages that are destined for all terminals, as well as messages destined for this terminal. If not checked, no messages are routed to this terminal, even if they are specifically destined for this terminal.

Logon Msg

Check this to specify that the logon transaction is initiated when a session is established and displays the logon message on the terminal. Automatic Transaction Initiation (ATI) is used to start the transaction, so you must check ATI. The transaction competes with any other ATI transactions for use of the terminal. If you check Lastline, the logon message does not overwrite any error message currently displayed.

Auto Connect

Check this to specify that a session is to be established with the terminal when the region starts up. Leave unchecked to specify that a session is to be established when the user signs on at the terminal.

ATI

Check this to enable a transaction to be automatically initiated on this terminal. If you leave this unchecked, you should check TTI to enable users to initiate transactions.

Create Sess

Check this to specify that a session can be initiated from a terminal of this type: EXEC START requests and Automatic Transaction Initiation (ATI) requests are allowed to create sessions automatically. Leave unchecked to specify that EXEC START requests and Automatic Transaction Initiation (ATI) requests are not allowed to create sessions automatically. Such requests are queued or rejected if a session has not been established.

TTI
Check this to enable users to initiate transactions at this terminal. If you leave this unchecked, you should check ATI to enable transactions to be automatically initiated.
NEP Class

Specify the transaction class of the node error program. Defaults to 0 (zero), which indicates that the default node error program is to be used.

Signoff
Choose which action is to be taken when GNTRAN (CESF or user-defined transaction) is attached and attempts to sign off the terminal. If you are using RACF 1.9 or later, specify the TIMEOUT limit in the RACF segment:
No | The terminal is not automatically signed off in the absence of user input.
Signoff | When the specified time has elapsed after the last input from the operator, the terminal is automatically signed off from CICS.
Signoff/Logoff When the specified time has elapsed after the last input from the operator, the terminal is automatically signed off from CICS and then logged off from VTAM. (This is not supported for TCAM-attached terminals.) LOGOFF is useful for an autoinstall model, because virtual storage is not wasted on entries for terminals that have been timed out. If GNTRAN fails to attach because of unprocessed data in the terminal buffer (resulting in a BID failure), the terminal will be signed off and logged off. GNTRAN will not run and will have no effect.
Note: You cannot change the value of this attribute when DEVICE(APPC) is specified. The default value in that case is SIGNOFF(NO).
Notify
Choose how the user is notified of system recovery. This option applies to the recovery of sessions for terminals in a CICS region running with either VTAM persistent sessions or with XRF. It is for use in situations where a terminal user may have to take action, such as sign on again, after a CICS restart:
None | The user is not notified.
Message | A message is displayed on the screen to say that the system has recovered. The message is specified in two BMS maps; DFHXRC1 and DFHXRC2 for XRF; and DFHXRC3 and DFHXRC4 for VTAM persistent sessions. These maps are in map set DFHXMSG. If reduced takeover time is important, use MESSAGE rather than TRANSACTION. The terminal must be capable of displaying BMS maps, and ATI.must be checked, to specify this option.
Transaction | A transaction is initiated at the terminal. The name of the transaction is specified by the RMTRAN system initialization parameter. (The default transaction for RMTRAN is the one specified in the GMTRAN system initialization parameter: the good-morning transaction.) If reduced takeover time is important, use MESSAGE rather than TRANSACTION. ATI must be checked to specify this option.
Option

Choose how MSS recovers the session and returns the terminal to normal service.

Sys Default | MSS selects the best recovery strategy based on session activity and the characteristics of the terminal.
Clear Receive | MSS sends a CLEAR request to reset the conversation state, or an UNBIND request if the session does not support the CLEAR request. MSS sends the CLEAR or UNBIND request only if the session was busy.
Release Sess | MSS sends an UNBIND request to clear the active session, if the session was busy.
Unconditional | MSS sends an UNBIND request to clear the active session, whether or not the session was busy.
None | The terminal session is not automatically recovered. If you checked Auto Connect, the terminal is automatically reconnected.
Last Line

Check this to specify that error messages are to be displayed at the bottom of the screen: If checked, an error message is displayed at the bottom of the screen, starting at a position that enables the entire message to be shown at once. If messages are received in quick succession, an earlier message might be overwritten before the user has time to read it. Messages displayed in this way may have the additional attributes specified by Intensify, Color and Highlight. If Last Line is not checked, an error message is displayed at the current cursor position, and without any additional attributes.

Intensify

Check this to have error messages displayed in an intensified field (bold). This only has an effect if Last Line is checked.

Color (Diagnostic Display)

Choose the color in which error messages are to be displayed on a terminal of this type. A setting other than No takes effect only if Last Line is checked.

Highlight (Diagnostic Display)

Choose the type of highlighting to be used for error messages displayed on a terminal of this type. A setting other than No takes effect only if Last Line is checked.

Def. Screen, Width

Specify the default screen width for the 3270 terminal type being defined. This is the screen width that is used when a transaction definition specifies a default screen. Screen width is defined as columns, in the range 0 through 999. The default is 80. There is no validity checking; incorrect sizes might lead to unpredictable behavior.

Def. Screen, Height

Specify the default screen height for the 3270 terminal type being defined. This is the screen height that is used when a transaction definition specifies a default screen. Screen height is defined as rows, in the range 0 through 999 The default is 24. There is no validity checking; incorrect sizes might lead to unpredictable behavior.

Alt. Screen, Width

Specify the alternate screen width for the 3270 terminal type being defined. This is the screen size that is used when a transaction definition specifies an alternate screen. Screen width is defined as columns, in the range 0 through 999. The default is 80. There is no validity checking; incorrect sizes might lead to unpredictable behavior.

Alt. Screen, Height

Specify the alternate screen height for the 3270 terminal type being defined. This is the screen size that is used when a transaction definition specifies an alternate screen. Screen height is defined as rows, in the range 0 through 999 The default is 24. There is no validity checking; incorrect sizes might lead to unpredictable behavior.

APL Keyboard

Check this to specify that the terminal type has the APL keyboard feature.

APL Text

Check this to specify that the terminal type can support the APL text character set.

Audible Alarm

Check this to specify that the terminal type has the audible alarm feature.

Color

Check this to specify that the terminal type has the color feature, which enables colors to be selected for individual fields.

Dual case kbd

Check this to specify that the terminal has a typewriter keyboard. Leave this unchecked to specify that the terminal has an operator console keyboard. Both types of keyboard transmit both upper-case and lower-case data.

Copy (Device Properties)

Check this to specify that the terminal type has the copy feature.

Extended DS

Check this to specify that the terminal type supports extensions to the 3270 data stream. You must check this if Color or Hilight are checked.

Highlight

Check this to specify that the terminal type has the extended highlight feature, enabling individual fields or characters to be displayed in bold, reverse video, or blinking.

Katakana

Check this to specify that the terminal type is a Katakana terminal. Katakana terminals do not support mixed case output. Upper-case characters appear as upper-case English, but lower-case characters appear as Katakana characters.

Light Pen

Check this to specify that the terminal type has the light pen selector feature. MSS emulates this feature using mouse clicks.

Form Feed

Check this to specify that the device has the form feed feature.

CGSCID

Specify the coded graphic character set global identifier (CGCSGID) that enables transaction programs to determine what character set is supported by this terminal. Defaults to 0,0, which means that the terminal type does not support this feature. The first field specifies the graphic character set global identifier (GCSGID), and the second field specifies the code page global identifier (CPGID).

Horizontal FF

Check this to specify that the device has the horizontal form feature. The devices that can use this feature are batch, batch data interchange, interactive, SCSPRT or LUTYPE4 logical units. If checked, BMS uses horizontal tabbing when formatting output documents. If unchecked, the HTAB option in the BMS map definition is ignored.

Vertical FF

Check this to specify that the device has the vertical form feature. The devices that can use this feature are batch, batch data interchange, interactive, SCSPRT or LUTYPE4 logical units. If checked, BMS uses vertical tabbing when formatting output documents. If unchecked, the VTAB option in the BMS map definition is ignored.

EWA Support

Check this to enable a 3270 device to shift its display into its alternate mode.

SOSI

Check this to specify that the terminal type supports mixed EBCDIC and DBCS fields.

PS

Check this to specify that the terminal type supports the programmed symbol facility. This facility enables you to use a maximum of six sets of 191 characters.

Outline

Check this to specify that the terminal type supports field outlining.

Numeric Lock

Check this to enable the numeric lock.

Buffer

Check this to specify that BMS buffers formatted data streams that are sent to a terminal of this type, that is, when an application issues a series of SEND TEXT PRINT commands, MSS sends a page to the terminal only when it is full. Leave thus unchecked to specify that when an application issues a series of SEND TEXT PRINT commands, MSS sends a page to the terminal for every command issued, filling up the page by appending blank lines if necessary.

Print Adapter

Check this to specify that output BMS screens with the PRINT option set on are copied automatically to an attached printer.

Transparency

Check this to enable background transparency.

Query

Check this to enable MSS to use the QUERY structured field to determine the characteristics of the device.

Text KB

Check this to specify that the 3270 device has the text-keyboard feature.

Mag Stripe Rdr

Check this to specify that the terminal type has the magnetic stripe reader feature. MSS emulates this feature using mouse clicks.

Validation

Check this:

  • For 8775 devices to enable the extended validation feature, which allows fields to be defined as TRIGGER, MANDATORY FILL, or MANDATORY ENTER.
  • For 3290 devices to enable the validation feature, which allows fields to be defined as MANDATORY FILL or MANDATORY ENTER.
Partition Support

Check this to enable the device to use partitions. This option is not valid for SCS printers.

Build Chain

Check this to specify that MSS is to reassemble request units into complete messages before passing data from a terminal of this type to a transaction program. Leave this unchecked to specify that messages are to be received by the transaction program in individual request units.

User Area

Specify the size, in bytes, of the user area of a terminal of this type. Defaults to 0 (zero).

In Shared Stg

Check this to force the user area into shared storage such hat it can be accessed by transactions that do not have this device as the primary facility.

Uppercase Trans

Choose how data entered in data entered in lower case is to be treated:

Yes | Data input in lower case is translated to upper case.
No | Data input in lower case is not translated to upper case.
Tranid | Transaction identifiers input in lower case are translated to upper case; not other input data is translated.
I/O Area

Specify the minimum and maximum sizes, in bytes, of the terminal I/O area to be passed to a transaction program when it issues a RECEIVE. If you enter a number in the first field, a terminal I/O area of at least that size is passed to the transaction program. If you specify values in both fields, and a message longer than that specified by the first field, but shorter than that specified by the second field is received, then a terminal I/O area of the maximum size is passed to the transaction program. A message longer than that specified by the second field causes the node abnormal condition program to send an exception response to the terminal. Defaults to 0,0. If you check ATI, you must specify a terminal I/O area of at least one byte.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this T-type. You only see this button if you have editing permissions for the group to which the T-type belongs.

Copy

Click this to create a new T-type, using the values set on this page as the basis for the new T-type.

Dump

Click this to create and view dump information for this T-type.

Parent topic: Pages for Viewing and Editing Resources


CICS Term - term_name (group_name)

Use this page to view and edit the Term term_name, selected from the CICS Group group_name page.

The title bar gives details of the Term you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page, and refresh the page and add the new JCT to the group you specify in Grp. You see this button only if you have editing permissions for the group to which the FCT belongs.

Name

Shows the name for this Term.

Description

Specify the description for this Term.

Model

Choose whether or not this terminal definition can be used as a model terminal definition for autoinstall:

  • No - can be used only for a specific device that is not autoinstalled.
  • Yes - can be used as a model for autoinstall, as well as for a specific device that is not autoinstalled.
  • Only - can be used only as a model for autoinstall.
Model Name

Applicable only if Model is Yes or Only. Specify the name by which the definition is known to the Autoinstall Control Program. Specify a name of up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Defaults to the name of this Term.

Terminal Type

Specify the associated Typerterm definition, which must exist. Mandatory.

Net Name

Specify the terminal's network name. Mandatory if Model is Yes or No. Specify a name of up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. The first character must be a letter.

Remote Name

Specify the remote name. Applicable only for remote terminals. Necessary only if it differs from the local terminal name.

Remote SysID

Specify the remote system ID that holds the terminal definition. Applicable only for remote terminals. This must correspond to either:

  • The Local SYSID field in the SIT used to run the related remote MSS region.
  • The APPLID of another CICS system.
Transaction

Specify a transaction name. This specifies the only transaction that users can run from this terminal, apart from print and paging requests. Optional. If not specified, users can run any transaction from this terminal.

Priority

Specify the priority for transactions run from this terminal. Defaults to 0 (zero). Terminal priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority (this field)
  • Transaction priority
  • Operator priority

The sum cannot be greater than 255.

In Service

Check this to specify that this terminal is in service; that is, transactions can be initiated and messages sent.

Main Printer

Specify the printer used for handling print requests. This printer must be owned by the system that owns the terminal. The name can be up to four characters in length.

Prt. Copy

Check this to specify that the hardware copy feature (using the printer defined for this terminal) is used for print requests issued from this terminal.

Alternate Printer

Specify the printer used for handling print requests if the printer specified in Main Printer is unavailable. This printer must be owned by the system that owns the terminal. The name can be up to four characters in length.

Alt. Prt. Copy

Check this to specify that the hardware copy feature (using the alternate printer defined for this terminal) is to be used for print requests issued from this terminal.

User ID

Specify a user ID to be associated with the terminal. Mandatory if no sign-on takes place on the connection.

Language

Specify the national language in which messages are sent over the connection. You can select English or Kanji.

Session Name

Specify the security name of the terminal. Required only if the terminal is owned by a remote system and the connection method is APPC. Can be up to eight alphanumeric characters from the set A through Z, 0 through 9, $, @ and #.

Attach

Choose the level of security required when a user issues an attach request from this terminal:

  • Identify - incoming attach requests must specify a user ID
  • Verify - incoming attach requests must specify both a user ID and a password
  • Persistent - the first attach request must specify both a user ID and a password, but subsequent attach requests require only a user ID
  • Mixed - incoming attach requests may specify either Identify or Persistent
  • Local - the authority of the user is taken to be that of the link
Oper ID

Specify an operator ID to be used for routing messages. Specify this for a terminal that cannot be signed on, such as a printer. If you specify an operator ID for a terminal that can be signed on, it is overridden by the operator ID specified in the user's sign-on table entry. Up to three alphanumeric characters.

Oper Priority

Specify the operator priority for transactions run from this terminal. Specify this for a terminal that cannot be signed on, such as a printer. If you specify it for a terminal that can be signed on, it is overridden by the operator priority specified in the user's sign-on table entry. Defaults to 0 (zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority
  • Transaction priority
  • Operator priority (this field)

The sum cannot be greater than 255.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Active, Display

Click this to display the currently installed definition of this resource.

Active, Install

Click this to install (make active) this resource.

Delete

Click this to delete this Term. You see this button only if you have editing permission for the group to which the Term belongs.

Copy

Click this to create a new Term using the entries specified on this page.

Dump

Click this to create and view dump information for this Term.

Parent topic: Pages for Viewing and Editing Resources


CICS TST - tst_name (group_name)

Use this page to view and edit the TST pct_name, selected from the CICS Group group_name page.

The title bar gives details of the TST you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the TST resides.

Name

Shows the name for the TST.

Description

Specify a description for the TST (can be up to 60 characters).

Recoverable

Check this to enable recovery of the temporary storage queue in the event of an abnormal termination of either MSS or the transaction processing the destination.

Name (Remote Queue)

Specify the name of a temporary storage queue.

SYSID

Specify the system or region in which the temporary storage queue resides. The name specified must be the same as that given in Name in the SysC or Sys62 definition.

Resource Keys, all

Choose a setting to apply to all the resource keys:

  • On - enables all the resource keys
  • Off - disables all the resource keys
Resource Keys, 1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Security Keys, all

Choose a setting to apply to all the security keys:

  • On - enables all the security keys
  • Off- disables all the security keys
Security Keys, 1 - 64

Check any of the boxes 1 through 64 to activate that security key.

Delete

Click this to delete this TST. You only see this button if you have editing permissions for the group to which the TST belongs.

Copy

Click this to create a new TST using the entries specified on this page.

Dump

Click this to create and view dump information for this TST.

Parent topic: Pages for Viewing and Editing Resources


CICS XAT - xat_name (group_name)

Use this page to view and, if you have the required permissions, edit the XAT xat_name, selected from the CICS Group group_name page. An XAT is an XA-compliant database table.

The title bar gives details of the XAT you are editing and the resource group it belongs to.

Group List

Click this to display the CICS Group page group_name.

Apply

Click this to save changes you have made to the page and refresh the page. This button is displayed only if you have permission to edit the group in which the XAT resides.

Name

Shows the name of this XAT.

Description

Specify a description of the XAT. Acceptable characters are A through Z, 0 through 9, $, @ and #.

Switch Module

Specify the location of the executable file (.dll) that contains the entry point that returns the xa_switch_t structure to the enterprise server.

DB Name

Specify the name by which the resource manager is known.

User ID

Specify a resource manager ID, used internally to identify a particular XA configuration. This must be unique within the enterprise server.

Password

Specify the password required for the User ID. If you are entering a new password, you have to confirm it by entering it in PW Verify.

PW Verify

Specify the password again, if you are creating a new password, to verify you have entered it correctly.

Open String, Free Format

Specify the string that is passed to the resource manager on the xa_open() call. An entry in this field usually contains at least the database name, and the user ID and password for connecting to the database. The contents of this string are database-specific.

For DB2, the contents are documented in IBM's DB2 Administration Guide; for additonal information see the Application Programmer's Guide.

For Oracle, see the Oracle Application Developer's Guide - Fundamentals.

Where the rescoure manager supports dynamic registration, and the database vendor requires the name of the module that provides the ax_reg function, you should specify casaxlib.

Close String, Free Format

Specify the string that is passed to the resource manager on the xa_close() call. To find out whether or not you need to supply Close string, see your database vendor's documentation.

Load Module

Choose an external resource manager that the server needs to communicate with on behalf of container-managed applications.

Load Module, Name

if you chose User in Load Module, specify the name of the module that supplies the run-time support for the database calls made by the application.

Delete

Click this to delete this XAT. You see this button only if you have editing permissions for the group to which the XAT belongs.

Copy

Click this to create a new XAT using the entries specified on this page.

Dump

Click this to create and view dump information for this XAT.

Parent topic: Pages for Viewing and Editing Resources


Users

  • Users List
  • Create a New CICS SNT
  • View and Edit a CICS SNT
Parent topic: Enterprise Server Monitor and Control (ESMAC)


Users List

Use this page to view the users defined for this server.

New

Click this to create a new user.

Details

Click this to display information about a user.

The information in the rest of the row shows you the name of the user, the operator ID, and a short description of the user.

Parent topic: Users


Create a New CICS SNT

Use this page to create a new user for ESMAC.

If you displayed this page by clicking Copy on a previous page, the values on the previous page are used as the basis for the new SNT.

If you displayed this page by clicking New on a previous page, some values on this page are already set to default values.

Add

Click this to save changes you have made to the page, refresh the page, and add the user.

Name

Specify the user's name.

Description

Specify a short description of this SNT.

Password

Specify a password for this user. The maximum number of characters is 8.

Repeat PW

Respecify the password to ensure that it has been entered correctly.

Upper Case

Check this to force the password into upper case.

Remove PW
Check this to remove the password from the resource definition file. If no password is specified the user does not require a password.
Operator ID

Specify an operator ID. This is a three-character code that identifies the user to applications.

Priority

Specify the operator priority for transactions. Defaults to 0 (zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority
  • Transaction priority
  • Operator priority (this field)

The sum cannot be greater than 255.

Timeout

Specify the maximum interval in minutes since the last activity of an ESMAC or TN3270 client before the user ID is automatically logged off. The default value is 0, meaning no timeout. This value overrides ID Timeout on the SIT page.

Note: Terminal timeouts (SIT parameter or user ID parameter) must be less than 16 hours.
Group Prefix

Do not use. The group prefix is a Mainframe Express feature that gives developers control over resource groups with a specific name prefix.

Oper Class

Specify a value for the operator class, which is normally used for message routing but can be used for any user/application relationship.

Resource Keys
all
Choose a setting to apply to all the resource keys:
  • On - enables all the resource keys
  • Off - disables all the resource keys
1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Security Keys
all
Choose a setting to apply to all the resource keys:
  • On - enables all the security keys
  • Off - disables all the security keys
1 - 64
Check any of the boxes 1 through 64 to activate that security key.
Surrogate Keys
all
Choose a setting to apply to all the surrogate keys:
  • On - enables all the surrogate keys
  • Off - disables all the surrogate keys
1 - 24

Check any of the boxes 1 through 24 to activate that surrogate key.

JCL Submit

Check this to enable this user to submit JCL jobs via the cassub utility.

ES Security

Check this for the user ID mfuser to enable ESMAC security.

ESMAC Access
Master Flag

Check this to enable the user to access the main ESMAC screens. If unchecked, the user will only be able to view summary server information and environment variables.

all
Choose a setting for the level of access the user will have to all types of resource:
  • Rd - sets all items to read access
  • Upd - sets all items to update access
  • No - denies access for all items
JES - XAT

Choose what type of access this user can have to a resource of this type:

  • Rd - sets the item to read access
  • Upd - sets the item to update access
  • No - sets the item to no access
Parent topic: Users


View and Edit a CICS SNT

Use this page to view information about the SNT you selected from the Users page. You can view information about the SNT, and change various parameters of the SNT.

Apply

Click this to save changes you have made to the page and refresh the page. You see this button only if you have permission to edit the SNT.

Name

Shows the name for this SNT.

Description

Specify a short description for this SNT.

Password

Specify the password for this user. The maximum number of characters is 8.

Repeat PW

Specify the password again, if you are changing the password, to ensure that it has been entered correctly.

Upper Case

Check this to force the password into upper case.

Operator ID

Specify an operator ID. This is a three-character code that identifies the user to applications.

Priority

Specify the operator priority for transactions. Defaults to 0 (zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of:

  • Terminal priority
  • Transaction priority
  • Operator priority (this field)

The sum cannot be greater than 255.

Timeout

Specify the maximum interval in minutes since the last activity of an ESMAC or TN3270 client before the user ID is automatically logged off. The default value is 0, meaning no timeout. This value overrides ID Timeout on the SIT page.

Note: Note that Terminal timeouts (SIT parameter or user ID parameter) must be less than 16 hours.
Group Prefix

Do not use. The group prefix is an Mainframe Express feature that gives developers control over resource groups with a specific name prefix.

Oper Class

Specify a value for the operator class, which is normally used for message routing but can be used for any user/application relationship.

Resource Keys
all
Choose a setting to apply to all the resource keys:
  • On - enables all the resource keys
  • Off - disables all the resource keys
1 - 24

Check any of the boxes 1 through 24 to activate that resource key.

Security Keys
all
Choose a setting to apply to all the resource keys:
  • On - enables all the security keys
  • Off - disables all the security keys
1 - 64
Check any of the boxes 1 through 64 to activate that security key.
Surrogate Keys
all
Choose a setting to apply to all the surrogate keys:
  • On - enables all the surrogate keys
  • Off - disables all the surrogate keys
1 - 24

Check any of the boxes 1 through 24 to activate that surrogate key.

JCL Submit

Check this to enable this user to submit JCL jobs via the cassub utility.

ES Security

Check this for the user ID mfuser to enable ESMAC security.

ESMAC Access
Master Flag

Check this to enable the user to access the main ESMAC screens. If unchecked, the user will only be able to view summary server information and environment variables.

all
Choose a setting for the level of access the user will have to all types of resource:
  • Rd - sets all items to read access
  • Upd - sets all items to update access
  • No - denies access for all items
JES - XAT

Choose what type of access this user can have to a resource of this type:

  • Rd - sets the item to read access
  • Upd - sets the item to update access
  • No - sets the item to no access
Delete

Click this to delete this SNT. You only see this button if you have editing permissions for the SNT.

Copy

Click this to create a new SNT using the entries specified on this page.

Dump

Click this to create and view dump information for this SNT.

Parent topic: Users


Env.Vars.

Use this page to view information about the environment variables used by this server.

Name

Lists all of the environment variables currently in use by the server.

Value

Lists the values for all of the environment variables listed in the Name column.

Parent topic: Enterprise Server Monitor and Control (ESMAC)


Dyn-Dbg.

Use this page to view the debugging criteria for active dynamic debug sessions. You can use X to remove the entry for a particular session.

Type

The type of application or service being debugged.

Criteria

The criteria used to identify the application or service instance to debug.

Parent topic: Enterprise Server Monitor and Control (ESMAC)


System Sign On

Use this page to sign on to the system. You can also use this page to change your password.

Sign On

Click this to sign on. You must first enter your user ID and password.

ID

Enter your user ID.

Password

Enter the password associated with your user ID.

Group
The group of which this user is a member.
New Password

If you want to create a new password for your user ID, enter it in this field. You must enter your current password in the Password field before you can change your password.

Repeat PW

Confirm your new password by re-entering it in this field.

Default

Click this to sign onto the system using the default user ID, and display the System page. Any changes you made to the page before you clicked Default are lost.

Parent topic: Enterprise Server Monitor and Control (ESMAC)


Listeners

Use this page to view a list of the communications processes and service listeners registered for the currently selected server. From this page you can also:

  • Make some specific edits to a communications process
  • Create a communications process by copying an existing one
  • Delete a communications process
  • Edit the configurable settings of a listener
  • Add a new listener

To access this page:

  1. On the server instance screen, select the Listeners tab.
Listener Display Filters

Use this group of fields to apply filters to the list of listeners so that you can just view a subset.

Note:

It is possible to specify filters such that no information is displayed.

Process

Choose an option for filtering by communications process:

All | To list all service listeners regardless of communications process
None | To list no service listeners
n | To list just the service listeners that belong to communications process n
Conversation Type (filter)

Choose an option for filtering by conversation type:

All | To list all service listeners regardless of conversation type
Custom | To list service listeners with a custom conversation type
Web Services and J2EE | To list Web Services and J2EE service listeners
Web | To list Web service listeners
Fileshare | To list Fileshare service listeners
TN3270 | To list service listeners for TN3270 clients (MSS only)
MSS ISC | To list service listeners for MSS Intersystem Communication
Status

Choose an option for filtering by status:

All To list all service listeners regardless of status
status-type To list service listeners with the status status-type, where status-type can be one of:
  • Started
  • Stopped
  • Disabled
  • Blocked
  • Not Responding; this means any listener whose status is unknown because the server it is registered with is not responding to the server monitor
  • Not Started; this means any listener with a status other than Started
  • Not Stopped; this means any listener with a status other than Stopped
Auto-start

Check this to indicate that this communications process is started automatically when the enterprise server starts.

Statistics

Click this to see detailed information about the listener activity on this enterprise server. The information is shown in a new window. You can click this only if the enterprise server is started.

Change

Changes into Stop or Start when the enterprise server is started.

Stop

Click this to stop the communications process and all its listeners. You can click this only if the enterprise server is started, the communications process is started, and this communications process is not Communications Process 1.

Start

Click this to start the communications process and all its listeners. You can click this only if the enterprise server is started, the communications process is not started, and this communications process is not Communications Process 1.

Copy

Click this to create a new communications process by copying this one.

Delete

Click this to delete this communications process. If a server only has one communications process you cannot delete it.

Edit (communications process)

Click this to edit configurable settings for this communications process.

Listeners

Shows the number of listeners owned by this communications process.

Add

Click this to add a new listener.

Process ID

Shows the process ID of this communications process.

Control Channel Address

Shows the internal address used by the communications process for communicating with other components of the enterprise server. The format is:

protocol:ip-address:port

where:

  • protocol is tcp.
  • ip-address is either the text host name or IP address of the communications process. An asterisk (*) indicates that the address is dynamically assigned for the communications process when it starts.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the communications process when it starts.

Under the network address is the DNS-resolved TCP/IP hostname.

Status (communications process)

Shows the current status of the communications process. The possible statuses are:

Not responding | The communications process status is unknown because the server it is registered with is not responding to the server monitor.
Started | The communications process is running.
Stopped | The communications process is stopped.
Last Status Change (communications process)

Shows the time that the communications process's current status was last updated; this time is local to the machine where the Directory Server is running.

Status Log (communications process)

Shows information about the most recent event that occurred on this communications process.

Version

Shows the version string of the communications process. This consists of three elements in decreasing order of significance: major version, minor version, build version. This can be used to distinguish between communications processes of the same name.

Edit (listener)

Click this to edit configurable settings for this listener.

Name

Shows the name of the service listener.

Address

Shows the network address used by the listener to accept incoming client requests. The format is:

protocol:ip-address:port

where:

  • protocol is tcp.
  • ip-address is either the text host name or IP address of the server listener. An asterisk (*) indicates that the address is dynamically assigned for the listener when it starts.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the listener when it starts.

Under the network address is the DNS-resolved TCP/IP hostname.

Status (listener)

Shows the current status of the service listener. The possible statuses are:

Blocked | The listener is started when the server starts, but it does not accept client requests.
Disabled | The listener is stopped and is therefore not available to any client
Invalid | An error has occurred such that it has not been possible to set the status to any other value
Not responding | The listener status is unknown because the server it is registered with is not responding to the server monitor
Started | The server listener is running.
Stopped | The listener is stopped.
Last Status Change (listener)

Shows the time that the listener's current status was last updated; this time is local to the machine where the Directory Server is running.

Status Log (listener)

Shows information about the most recent event that occurred on this listener.

Conversation Type

Shows the conversation type of the listener.

Custom Configuration Data

Shows optional textual configuration information that determines the start-up and run-time behavior of the listener. For details of the entries, see the section Configuration Information in the chapter Communications Processes and Service Listeners in your Configuration and Administration Guide.

Description

Shows an optional text description of the listener, for example, its purpose and owner.

  • Add Listener
  • Edit Listener
  • Delete Listener
  • Copy Communications Process
  • Edit Communications Process
  • Delete Communications Process
Parent topic: Enterprise Server Administration Console Help Pages


Add Listener

Use this page to add a new service listener to the selected communications process.

To access this page:

  1. On the Listeners screen, in the Communications process area, click Edit.
Name

Specify the unique name of the new service listener, up to 255 characters in length. You cannot include angle brackets (<>) or ampersands (&) in the name.

Endpoint Protocol

Specify the communications protocol used by the listener to accept incoming client requests. TCP is the only option.

Endpoint Address

Specify the network address used by the listener to accept incoming client requests. The format is:

ip-address:port

where:

  • ip-address is either the text host name or IP address of the server listener. An asterisk (*) indicates that the address is the IP address of the current machine.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the listener when it starts.

If this network address is not unique in the repository, this may cause listener startup problems.

Secure Sockets Layer

Not currently used.

Legacy Micro Focus Application Format

Check this if you want the listener to handle non-standard TCP/IP flows, for example, for Fileshare clients.

Initial Status

Choose a status from the list. The possible statuses are:

Blocked | The listener is started when the server starts, but it does not accept client requests. One use for this status is where you want to allow requests from only one client, perhaps for debugging purposes. You could amend the client code to ignore a status of "Blocked"and allow requests through.
Disabled | The listener is not started when the server starts and is therefore not available to any client
Stopped | The listener is available but stopped. This is the default. To start a listener use the Edit Listener page. When you add a stopped listener to a server that has a status of "Started", the server will attempt to start the listener immediately. If you add a stopped listener to a server that has a status of "Stopped", when the server is started it will attempt to start the listener.
Supported Conversation Type

if you chose TCP in Endpoint Protocol, click one button to choose a conversation type:

  • Web Services / J2EE for client requests that use a conversation protocol supported by the request handlers provided by Micro Focus, MFRHBINP and MFRHSOAP.
  • Web for World Wide Web (HTTP) client requests. Enterprise Server uses a Web listener for service deployment.
  • Fileshare for Fileshare client requests.
  • TN3270 for client requests for CICS transations that use the TN3270 protocol. You can only use TN3270 listeners with Mainframe Subsystem Support.
  • MSS ISC for client requests from non-CICS programs for CICS transactions. You can only use MSS Inter System Communications listeners with Mainframe Subsystem Support.
  • Custom for other kinds of client requests. Specify the name of the connector module in the entry field next to Custom.
Configuration Information

Specify textual configuration information that determines the startup and run-time behavior of the listener. Optional. For details of the valid entries, see the section Configuration Information in the chapter Communications Processes and Service Listeners in your Configuration and Administration Guide.

Description

Specify an optional text description of the listener, for example, its purpose and owner. Optional.

Add

Click this to add the listener to the current server.

Parent topic: Listeners


Edit Listener

Use this page to change configurable attributes of a listener.

To access this page:

  1. On the Listeners screen, next to the listener to edit, click Edit.
Servers

Click this to return to the list of all the servers on this Directory Server, on the Home page.

Listeners

Click this to view a list of all the service listeners registered with the current server.

Services

Click this to view a list of all the services registered with the current server.

Handlers

Click this to view a list of all the request handlers registered with the current server.

Packages

Click this to view a list of all the packages registered with the current server.

Name

Specify the unique name of the listener, up to 255 characters in length. You cannot include angle brackets (<>) or ampersands (&) in the name.

Connection Endpoint

Specify the network address used by the listener to accept incoming client requests. The format is:

protocol:ip-address:port

where:

  • protocol is tcp.
  • ip-address is either the text host name or IP address of the server listener. An asterisk (*) indicates that the address is dynamically assigned for the listener when it starts.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the listener when it starts.

If this network address is not unique in the repository, this may cause listener start-up problems.

Secure Sockets Layer

This is accessible if you have the Micro Focus Security Pack installed.

Legacy Micro Focus Application Format

Check this if you want the listener to handle non-standard TCP/IP flows, for example, for Fileshare clients.

Current Status

Shows the current status of the listener:

Blocked | The listener is started when the server starts, but it does not accept client requests.
Disabled | The listener is stopped and is therefore not available to any client
Invalid | An error has occurred such that it has not been possible to set the status to any other value
Not responding | The listener status is unknown because the server it is registered with is not responding to the server monitor
Started | The server listener is running.
Stopped | The listener is stopped.
New Status

Choose a status from the list. If the status of the server is "Started", the possible listener statuses are:

Blocked | The listener is still running but will not be found by clients searching for this listener in a "Started" state. One use for this status is where you want to allow requests from only one client, perhaps for debugging purposes. You could amend the client code to ignore a "Blocked" status and allow requests through.
Disabled | The listener is stopped and will not be started.
Started | The server listener is started.
Stopped | The listener is stopped.

If the status of the server is "Stopped", the possible statuses are:

Blocked | The listener is stopped. The listener is started when the server starts, but will not be found by clients searching for this listener in a "Started" state. One use for this status is where you want to allow requests from only one client, perhaps for debugging purposes. You could amend the client code to ignore a "Blocked" status and allow requests through.
Disabled | The listener is stopped and it will not be started when the server starts.
Stopped | The listener is stopped. It will be started when the server starts.
Supported Conversation Type

Shows the conversation type of the listener.

  • MFES Requests for client requests that use a conversation protocol supported by the request handlers provided by Micro Focus, MFRHBINP and MFRHSOAP.
  • Custom for other kinds of client requests. Specify the name of the connector module in the entry field next to Custom.
Configuration Information

Specify textual configuration information that determines the start-up and run-time behavior of the listener. Optional.

Description

Specify a text description of the listener, for example, its purpose and owner. Optional.

Apply

Click this to apply your changes to the listener.

Delete

Click this to delete the listener. You cannot delete a listener if it is registered for use with a service.

Parent topic: Listeners


Delete Listener

Use this page to delete the selected listener.

To access this page:

  1. On the Listeners screen, next to the listener to edit, click Delete.
CAUTION:

Deleting a registered listener may cause application connection errors and loss of data

Name

Shows the name of the listener.

Connection Endpoint

Shows the network address used by the listener to accept incoming client requests. The format is:

protocol:ip-address:port

where:

  • protocol is tcp.
  • ip-address is either the text host name or IP address of the server listener. An asterisk (*) indicates that the address is dynamically assigned for the listener when it starts.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the listener when it starts.
Current Status

Shows the current status of the service listener. The possible statuses are:

Blocked | The listener is started when the server starts, but it does not accept client requests.
Disabled | The listener is stopped and is therefore not available to any client
Invalid | An error has occurred such that it has not been possible to set the status to any other value
Not responding | The listener status is unknown because the server it is registered with is not responding to the server monitor
Started | The server listener is running.
Stopped | The listener is stopped.
Description

Shows a text description of the listener.

Parent topic: Listeners


Copy Communications Process

Use this page to create a new communications process by copying the details of an existing communications process.

To access this page:

  1. On the Listeners screen, in the Communications process area, click Edit.
Control Channel Address

Specify the network address used by the communications process to accept incoming client requests. The format is:

protocol:ip-address:port

where:

  • protocol is tcp.
  • ip-address is either the text host name or IP address of the communications process. An asterisk (*) indicates that the address is the IP address of the current machine.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the communications process when it starts.

If this network address is not unique in the repository, this may cause communications process startup problems.

Secure Sockets Layer

Not currently used.

Auto-start

Check this to indicate that the new communications process is started automatically when the enterprise server is started. If you copy a communications process while the enterprise server is running, and you check this, the new communications process is started immediately.

Parent topic: Listeners


Edit Communications Process

Use this page to change configurable attributes of a communications process.

To access this page:

  1. On the Listeners screen, in the Communications process area, click Edit.
Control Channel Address

Specify the network address used by the communications process to accept incoming client requests. The format is:

protocol:ip-address:port

where:

  • protocol is tcp.
  • ip-address is either the text host name or IP address of the communications process. An asterisk (*) indicates that the address is dynamically assigned for the communications process when it starts.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the communications process when it starts.

If this network address is not unique in the repository, this may cause communications process startup problems.

Secure Sockets Layer

Not currently used.

Configuration Information

Specify textual configuration information that determines the start-up and run-time behavior of the communications process. Optional. You cannot change this if the enterprise server has a status of "Started". For details of the valid entries, see the section Configuration Information in the chapter Communications Processes and Service Listeners in your Configuration and Administration Guide.

Parent topic: Listeners


Delete Communications Process

Use this page to delete the selected communications process.

CAUTION:

Deleting a communications process may cause application connection errors and loss of data.

Name

Shows the name of the communications process.

Address

Shows the network address used by the communications process to accept incoming client requests. The format is:

protocol:ip-address:port

where:

  • protocol is tcp.
  • ip-address is either the text host name or IP address of the communications process. An asterisk (*) indicates that the address is dynamically assigned for the communications process when it starts.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the communications process when it starts.
Listeners

Shows the number of listeners owned by the communications process.

Parent topic: Listeners


Services

Use this page to view a list of the services registered for the currently selected server. From this page you can also:

  • Edit the configurable settings of a service
  • Add a new service
Service Display Filters

Use this group of fields to apply filters to the list of services so that you can just view a subset.

Note:

It is possible to specify filters such that no information is displayed.

Service

Specify a service namespace to see just the details for that service namespace.

Class

Choose an option for filtering by service class:

All | To list all service namespaces regardless of service class
Some | To list those service namespaces that have a value in Service Class
None | To list those service namespaces that have no value in Service Class
Handler

Choose an option for filtering by request handler:

All | To list all service namespaces regardless of which request handler is associated with the service
Some | To list those service namespaces that have a value in Request Handler
None | To list those service namespaces that have no value in Request Handler
Package

Choose an option for filtering by implementation package:

All | To list all service namespaces regardless of which implementation package is associated with the service
Some | To list those service namespaces that have a value in Implementation Package
None | To list those service namespaces that have no value in Implementation Package
Show

Specify the number of service namespaces to show at a time. If you change this, you have to click Refresh to see the effect.

Previous

Click this to view the previous page of service namespaces. You can click this only if the number of service namespaces is greater than can be shown on one page.

Next

Click this to view the next page of service namespaces. You can click this only if the number of service namespaces is greater than can be shown on one page.

Edit

Click this to edit configurable settings for the service.

Service Namespace

Shows the service namespace. For more information about service namespace and service operation see your Configuration and Administration book.

Operation

Shows the name of the operations in the service namespace.

Service Class

Shows the class of the service. This field provides a means of grouping services, so that a client program can ask for a class of service rather than a specific named service. Service classes beginning with MF are reserved for Micro Focus use.

Search Order

Shows the search order of the service. The lower the search order, the higher the search priority where there is more than one service object of the same name in the repository.

Listeners

Lists the listeners allocated to this service. For each listener the fofllowing information is shown:

  • The communications process that it belongs to, for example CP1 (communications process 1)
  • Its name
  • Its address in both IP address and hostname formats
Request Handler

Shows the name and path of the request handler for this service.

Implementation Package

Shows the name of the implementation package for this service.

Current Status

Shows the current status of the service. The possible statuses are:

Available | The service is available.
Invalid | An error has occurred such that it has not been possible to set the status to any other value.
Disabled | The service is disabled.
Status Log

Shows information about the most recent event that occurred on this service.

Custom Configuration

Shows optional textual configuration information that determines the start-up and run-time behavior of the service. For details of the entries, see the section Configuration Information in the chapter Services, Packages and Request Handlers in your Configuration and Administration Guide.

Description

Shows an optional text description of the service.

Add

Click this to add a new service.

  • Edit Service
  • Delete Service
  • Delete Service Operation
Parent topic: Enterprise Server Administration Console Help Pages


Edit Service

Use this page to change configurable attributes of a service.

CAUTION:

Changing the properties of a registered service may cause application connection errors and loss of data

Name

Specify the name of the service, up to 255 characters. You cannot include angle brackets (<>) or ampersands (&) in the name.

A service name can consist of a service namespace and an operation name, separated by a special character. The character depends on which request handler is being used, MFRHSOAP or MFRHBINP.

If there is no separating character, the name of the operation is considered to be the same as the service namespace.

If the service will be using the MFRHSOAP request handler, the text before the first pound character (#) in the name is considered to be the service namespace and the text after is considered to be the name of the operation.

If the service will be using the MFRHBINP request handler, the text before the last period character (.) in the name is considered to be the service namespace and the text after is considered to be the name of the operation.

Note:

You can change the name of a service only when the server has a status of "Stopped".

Search Order

Specify the search order of the service. If more than one service object has the same name, then a program client can use Search Order to decide which service to use. The lower the search order is, the higher the search priority.

Service Class

Specify the service class of the service (optional). This field provides a means of grouping services, so that a client program can ask for a class of service rather than a specific named service. Service classes beginning with MF are reserved for Micro Focus use. Service Class can be up to 32 characters in length.

Version

Specify the version string of the service. This consists of three elements in decreasing order of significance: major version, minor version, build version. This can be used to distinguish between services of the same name or class.

Logging

Check this to request that for each request for this service the request and response blocks are written to the enterprise server dump data set. Only use this option if you need diagnostics as it degrades performance.

Transaction Management

Click one button to choose the type of transaction management that this service uses:

  • Application for a service in which the COBOL application manages their own transactions.
  • Container for a service in which the COBOL application leaves transaction management to the application container.

If the client is transactional, such as a J2EE transactional request, this setting is ignored and the service is forced to be container-managed. Container-managed services should not make any explicit transactional requests, for example, EXEC SQL COMMIT WORK statements.

Current Status

Shows the current status of the service. The possible statuses are:

Available | The service is available.
Invalid | An error has occurred such that it has not been possible to set the status to any other value
Disabled | The service is disabled.
New Status

Choose a status from the list. The possible statuses are:

Available | The service is available.
Disabled | The service is disabled.
Accepting Listeners

Shows the listeners that will accept incoming client requests.

Available Listeners

Lists the listeners that are available to be allocated to this service. Click a listener to select it for adding to Accepting Listeners. A service can have more than one listener.

Remove

Click this to remove the selected listener from Accepting Listeners. There must be more than one listener in Accepting Listeners before you can click this.

Add

Click this to add the selected listener to Accepting Listeners.

Available Handlers

Lists the available request handlers. Click a request handler to select it to become the Associated Handler. You must add a listener before you can see Available Handlers and associate a handler with the service.

Select Handler

Click this to make the selected request handler the Associated Handler.

Associated Handler

Shows the request handler that is associated with this service, if any.

Available Packages

Lists the available implementation packages. Click a package to select it to become the Associated Package. You must add a listener before you can see Available Packages and associate a package with the service.

Select Package

Click this to make the selected package the Associated Package.

Associated Package

Shows the implementation package that is associated with this service, if any.

Configuration Information

Specify textual configuration information that determines the startup and run-time behavior of the service. Optional. For details of the valid entries, see the section Configuration Information in the chapter Services, Packages and Request Handlers in your Configuration and Administration Guide.

Description

Specify a text description of the service, for example, its purpose and owner. Optional.

Parent topic: Services


Delete Service

Use this page to delete a service and all of its operations. You can also optionally delete the packages associated with the operations.

CAUTION:

Deleting registered services and packages may cause application connection errors and loss of data.

Full Name

Shows the full name of the service, consisting of service namespace, separator and operation name

Service Class

Shows the service class of the service.

Version

Shows the version string of the service. This consists of three elements in decreasing order of significance: major version, minor version, build version.

Listener

Shows the listener associated with the service operation.

Request Handler

Shows the request handler associated with the service operation.

Implementation Package

Shows the implementation package associated with the service operation.

Description (service)

Shows a text description of the service operation.

Name

Shows the name of the package associated with the service operation.

IDT

Shows the pathname of the interface definition table (IDT) associated with the service operation.

Description (package)

Shows a text description of the package.

Delete associated packages

Check this to delete the packages associated with the service.

Delete

Click this to delete this service, its operations and optionally the associated packages.

Parent topic: Services


Delete Service Operation

Use this page to delete an individual service operation, or a service that contains no operations.

CAUTION:

Deleting a registered service may cause application connection errors and loss of data.

Name

Shows the name of the service.

Service Class

Shows the service class of the service.

Version

Shows the version string of the service. This consists of three elements in decreasing order of significance: major version, minor version, build version.

Listener

Shows the listener associated with the service.

Current Status

Shows the current status of the service. The possible statuses are:

Available | The service is available.
Invalid | An error has occurred such that it has not been possible to set the status to any other value.
Disabled | The service is disabled.
Status Log

Shows information about the most recent event that occurred on this service.

Description

Shows a text description of the service.

Delete

Click this to delete this service.

Parent topic: Services


Handlers

Use this page to view a list of the request handlers registered for the currently selected server. From this page you can also:

  • Edit the configurable settings of a request handler
  • Add a new request handler
Edit

Click this to edit configurable settings for the server or one of the request handlers.

Module Name

Shows the filename of the request handler.

Module Path

Shows the path where the request handler file is located.

Current Status

Shows the current status of the request handler. The possible statuses are:

Enabled | The handler is enabled
Invalid | An error has occurred such that it has not been possible to set the status to any other value
Disabled | The handler is disabled
Status Log

Shows information about the most recent event that occurred on this handler.

Custom Configuration

This field is not used.

Description

Shows an optional text description of the handler.

Add

Click this to add a new request handler.

  • Edit Handler
  • Add Handler
Parent topic: Enterprise Server Administration Console Help Pages


Edit Handler

Use this page to change configurable attributes of a request handler

Module Name

Specify the name of the request handler, up to 255 characters.

Note: Note:

You can change the name of a handler only when the server has the status "Stopped". You cannot include angle brackets (<>) or ampersands (&) in the name.

Current Status

Shows the current status of the request handler. The possible statuses are:

Enabled | The handler is enabled
Invalid | An error has occurred such that it has not been possible to set the status to any other value
Disabled | The handler is disabled
New Status

Choose a status from the list. The possible statuses are:

Enabled | The handler is enabled. This is the default
Disabled | The handler is disabled
Note:

You can change the status of a handler only when the server has the status "Stopped".

Module Path

Specify the path where the request handler file is located.

Configuration Information

This field is not used.

Description

Specify a text description of the request handler, for example, its purpose and owner. Optional.

Delete

Click this to delete the handler.

Note:

You cannot delete the MFRHBINP request handler.

Parent topic: Handlers


Add Handler

Use this page to add a new request handler to a server.

Module Path

Specify the path where the request handler file is located.

Status

Choose a status from the list. The possible statuses are:

Enabled | The handler is enabled. This is the default.
Disabled | The handler is disabled.
Configuration Information

This field is not used.

Description

Specify a text description of the request handler, for example, its purpose and owner. Optional.

Add

Click this to add the handler to the selected server.

Parent topic: Handlers


Packages

Use this page to view a list of the implementation packages registered for the currently selected server. From this page you can also:

  • Edit the configurable settings of an implementation package
  • Add a new implementation package
Show

Specify the number of packages to show at a time. If you change this, you have to click Refresh to see the effect.

Previous

Click this to view the previous page of packages. You can click this only if the number of packages is greater than can be shown on one page.

Next

Click this to view the next page of packages. You can click this only if the number of packages is greater than can be shown on one page.

Edit

Click this to edit configurable settings for the implementation package.

Name

Shows the name of the package.

Current Status

Shows the current status of the package. The possible statuses are:

Available | The package is available. This is the default.
Invalid | An error has occurred such that it has not been possible to set the status to any other value.
Disabled | The package is disabled.
Status Log

Shows information about the most recent event that occurred on this package.

Package Module

Shows the name of the library that contains the package, if any.

IDT

Shows the path of the IDT (interface definition table) for the package.

Package Path

Shows the path where the package file is located.

Custom Configuration

This field is not used.

Description

Shows an optional text description of the package.

Add

Click this to add an implementation package.

  • Add Package
  • Edit Package
  • Delete Package
Parent topic: Enterprise Server Administration Console Help Pages


Add Package

Use this page to add an implementation package to the server.

Name

Specify the name of the new package, up to 255 characters. You cannot include angle brackets (<>) or ampersands (&) in the name.

Status

Choose a status from the list. The possible statuses are:

Available | The package is available. This is the default.
Disabled | The package is disabled.
Package Module

Specify the name of the library that contains the new package. You need to specify this only if the program is in a library that has a different name than the package name. Include the extension; library files have the extension .lbr or .dll on Windows, .lbr or .so on UNIX (.lbr or .sl on HP-UX PA-RISC).

IDT

Specify the pathname of the IDT (interface definition table) for the package.

IDT Remains Resident

Check this if you want the IDT to be loaded into the shared memory area while the service is running. This can help performance if the service is frequently used and there are no constraints on shared memory.

Package Path

Specify the path or paths where the executable program or programs are located. Separate paths with semicolons on Windows, and with colons on UNIX. If you do not specify this, the Directory Server looks for the file first in the path included in the interface definition table, and then in the paths specified by the COBDIR environment variable.

Configuration Information

This field is not used.

Description

Text description of the package. Optional.

Add

Click this to add the new package to the server. You must add a listener before you can click Add.

Parent topic: Packages


Edit Package

Use this page to change configurable attributes of an implementation package.

Name

Specify the name of the package, up to 255 characters. You can change the name only if the server has the status "Stopped". You cannot include angle brackets (<>) or ampersands (&) in the name.

Current Status

Shows the current status of the package.

New Status

Choose a status from the list. The possible statuses are:

Available | The package is available.
Disabled | The package is disabled.
Package Module

Specify the name of the library that contains the new package. You need to specify this only if the program is in a library that has a different name than the package name. Include the extension; library files have the extension .lbr or .dll on Windows, .lbr or .so on UNIX (.lbr or .sl on HP-UX PA-RISC).

IDT

Specify the pathname of the IDT (interface definition table) for the package.

IDT Remains Resident

Check this if you want the IDT to be loaded into the repository while the service is running. This can help performance if the service is frequently used and there are no constraints on shared memory.

Package Path

Specify the path where the package file is located. If you do not specify this, the Directory Server looks for the file first in the path included in the interface definition table, and then in the paths specified by the COBDIR environment variable.

Configuration Information

This field is not used.

Description

Specify a text description of the package. Optional.

Delete

Click this to delete the package. You cannot delete a package if it is associated with a service.

Parent topic: Packages


Delete Package

Use this page to delete the selected package.

CAUTION:

Deleting a registered package may cause application connection errors and loss of data

Name

Shows the name of the package.

Package Module

Shows the name of the library that contains the package.

IDT

Shows the path of the IDT (interface definition table) for the package.

Description

Shows a text description of the package.

Parent topic: Packages


Security Configuration Screen Help

This section contains the context sensitive help available when configuring Enterprise Server security. This help is also available from the user interface. To access the help, select Help > This Page from the left pane.

Note: The context help in this section is the most up-to-date version.
  • MF Directory Server Users, Add or Edit
  • Add resource class
  • Add resource entity
  • Add Security Manager
  • Add to Default ES Security Manager List
  • Add to ES Security Manager List
  • Add to MF Directory Server Security Manager List
  • Configure General Options
  • Confirm Password
  • Configure Journal Options
  • Configure Monitor Options
  • Configure Repository Options
  • Default ES Security Configuration
  • Directory Server Users
  • Edit Resource Class
  • Edit resource entity
  • Edit Security Manager
  • Left Pane Menu Items
  • MF Directory Server Security
  • Remove Security Manager Reference Confirmation
  • Security Managers Pool
  • SSL Options
  • Shut Down the MF Directory Server
  • Update User
  • User Group Members
  • User Groups
  • User Import: another user registry
  • User Import: previous version
Parent topic: Enterprise Server Administration Console Help Pages
Parent topic: Managing an LDAP from the Enterprise Server UI


MF Directory Server Users, Add or Edit

Use this page to add new users, select a user for updating or deleting, and to import user accounts. This screen is divided into tabs. The label of the tab indicates the start character(s) of the account IDs that are listed on the tab.

Account ID
The ID for the user account.
Add
Click this to add a new user.
Advanced Configuration (read only)
Displays user information retrieved from the LDAP.
Allow Logon
Indicates whether this user can logon.
Custom Configuration
An area where you can add custom user configurations, if your LDAP allows it.
Description
A description of the user account.
Edit
Click this to select the highlighted user ID for updating or deleting
Import
Click this to import user data from an installation of a previous version of Micro Focus Directory Server.
Journal
Click this to show the Journal page. This page shows the Directory journal, which is a record of Directory Server activity.
Logon
Click this to show the log on page. This menu option is shown only if the session is not currently logged on and the User Access setting on the Options page is "Restricted".
Member of
A comma separated list of the user groups of which the the user is a member.
Name
The full name of the person assigned to this account.
Sessions
Click this to show the Sessions page. This page shows the list of currently logged on Web browser client sessions, and also any bound program client sessions.
Shut Down
Click this to show the Shut Down confirmation page. This page enables you to shut down the Directory Server. This menu option is available only if you logged on with Schema Administrator permission level This menu option is available only if you logged on with Schema Administrator permission level and Directory Server is not running as a Windows service.
Parent topic: Security Configuration Screen Help


Add resource class

Use this page to add the details of a new resource class.

Add

Click here to add the new definition.

Class name

Specify the unique name of the resource class.

Description

Specify a description of the resource class.

Parent topic: Security Configuration Screen Help


Add resource entity

Use this page to add the details of a new resource entity to the current resource class.

Entity name

Specify the name of the resource entity. This must be unique within the resource class.

Description

Specify a description of the resource entity.

Add

Click here to add the new definition.

Parent topic: Security Configuration Screen Help


Add Security Manager

Use this page to add a new security manager.

Authorized ID and Password

If the module requires credentials to connect to the external security manager, specify them here.

As with the connection path, the content and format of these fields depend on the module that you are using. For details, please see the documentation supplied with the module.

Cache limit:

If the module has a configurable cache for holding responses from the security manager, enter its maximum size in kilobytes here.

Cache TTL:

If the module has a configurable cache for holding responses from the security manager, enter the maximum time in seconds that an entry in the cache can be used to satisfy requests before the details must be requeried from the security manager.

Note: Enterprise Server and Directory Server also have their own configurable caches for security information. These are checked before submitting queries to the security manager module.
Configuration information

Specify any additional configuration settings that the module requires.

Connection Path:

If the module requires a connection string that tells it how to connect to the external security manager, specify it here.

The information supplied in the string and its format depend on the module that you are using. For details, please see the documentation supplied with the module.

Description

Specify a description of the security manager.

Enabled

Check this to enable this security manager. If it is disabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Module

Specify the module used to access an external security manager or to implement the security rules. If you specify it with a relative path (which includes no path) it is relative to \base\bin.

Name

Specify the name used to identify the security manager.

Parent topic: Security Configuration Screen Help


Add to Default ES Security Manager List

Use this page to add Security Managers to the Default ES Security Manager List. This is the list of security managers (taken from the available pool) that enterprise servers can use to perform security queries.

The screen shows a table that contains the available pool of Security Managers.

Select

Use this to select a security manager for addition to the Default ES Security Manager List.

Name

This column indicates the name that used to identify a security manager.

Module

This column indicates the module used by a security manager to access an external security manager or to implement the security rules.

Used by

This column shows the security manager lists that include this security manager.

Description

The description column indicates the description for a security manager.

Enabled

This column indicates whether or not the security manager is enabled. If it is not enabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Add

Click this to add the currently selected security manager to the Default ES Security Manager List.

Parent topic: Security Configuration Screen Help


Add to ES Security Manager List

Use this page to add Security Manager to a particular enterprise server's Security Manager List. This is the list of security manager (taken from the available pool) that the enterprise server can use to perform security queries.

The screen shows a table that contains the available pool of Security Managers.

Home menu option

Click this to return to the Home page.

Actions

The heading for menu options that provide administrative actions. The actual number of options displayed below this heading is variable, depending on the permission level of the user.

Logon

Click this to show the log on page. This menu option is shown only if the session is not currently logged on and the User Access setting on the Options page is "Restricted".

Logoff

Click this to log off from an administrative session that is currently logged on. There is no log off confirmation. This menu option is shown only if the session is currently logged on and the User Access setting on the Options page is "Restricted".

Renew

Click this to refresh the IP address information cached by your Directory Server. Use this option when the IP address of the machine running your Directory Server changes.

Directory Server uses the IP address to locate the servers that it manages. When the cached IP address is out of date, Directory Server may be unable to connect to its servers and may report inaccurate information to clients.

Export

Click this to show the Export page. This page enables you to save a copy of the whole repository to a location of your choice. This menu option is available only if you logged on with Administrator or Schema Administrator permission level.

Import

Click this to show the Import page. This page enables you to update the repository with additional objects from an import directory. Imported objects can include servers (along with all of their child objects), and Security Manager definitions. This menu option is available only if you logged on with Schema Administrator permission level.

Delete All

Click this to show the Delete confirmation page. This page enables you to confirm that you want the repository to be completely erased and all registered objects to be deleted. This menu item is available only if you logged on with Schema Administrator permission level.

Shut Down

Click this to show the Shut Down confirmation page. This page enables you to shut down the Directory Server. This menu option is available only if you logged on with Schema Administrator permission level This menu option is available only if you logged on with Schema Administrator permission level and Directory Server is not running as a Windows service.

Configure

The heading for the menu option that enables you to configure Directory Server. This menu heading and its associated menu option are available only if you logged on with Administrator permission level or higher.

Options

Click this to show the Directory Server Options page. This page enables you to configure the Directory Server.

Security

Click this to show the pages used for configuring security options.

Display

The heading for menu options that enable you to view information about the state of the Directory Server and about the events that have taken place on the server.

Directories

Click this to show the Directories page. This page lists all the instances of Directory Server that are running on the network and using the default Directory Server port (86).

Statistics

Click this to show the Statistics page. This page shows statistics and status information about Directory Server.

Sessions

Click this to show the Sessions page. This page shows the list of currently logged on Web browser client sessions, and also any bound program client sessions.

Journal

Click this to show the Journal page. This page shows the Directory journal, which is a record of Directory Server activity.

Help

The heading for menu options that enable you to view documentation about the Directory Server and Enterprise Server Administration.

This page

Click this to view help for the page you are currently viewing and for all the controls on the page.

Contents

Click this to view the Contents of the Enterprise Server documentation.

Note: Note:

For this link to work, you must be using an enterprise server that has a Web listener with the following entry in the [virtual paths] section:

docs=<ES>/help

This enterprise server must be started.

The default enterprise server, ESDEMO, has a web listener with this configuration information. When you create a new enterprise server, a Web listener with the required configuration information entry is automatically created.

Support

Click this to contact Micro Focus Technical Support via the Supportline website to report problems or ask any questions about using Micro Focus software.

Feedback

Click this to open your email client and send general feedback to Micro Focus.

Select

Use this to select a security manager for addition to the Security Manager List.

Name

This column indicates the name that used to identify a security manager.

Module

This column indicates the module used by a security manager to access an external security manager or to implement the security rules.

Description

The description column indicates the description for a security manager.

Enabled

This column indicates whether or not the security manager is enabled. If it is not enabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Add

Click this to add the currently selected security manager to the Security Manager List.

Parent topic: Security Configuration Screen Help


Add to MF Directory Server Security Manager List

Use this page to add Security Managers to the MFDS Security Manager List. This is the list of security manager (taken from the available pool) that Directory Server can use to perform security queries.

The screen shows a table that contains the available pool of Security Manager.

Add

Click this to add the currently selected security manager to the MF Directory Server Security Manager List.

Description

The description column indicates the description for a security manager.

Enabled

This column indicates whether or not the security manager is enabled. If it is not enabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Module

This column indicates the module used by a security manager to access an external security manager or to implement the security rules.

Name

This column indicates the name that used to identify a security manager.

Select

Use this to select a security manager for addition to the MFDS Security Manager List.

Used by

This column shows the security manager lists that include this security manager.

Parent topic: Security Configuration Screen Help


Configure General Options

Use this page to change configuration settings for the Directory Server.

Maximum Directory Server object count

Specify the maximum number of objects that the repository can hold.

The minimum is 64 objects. The maximum is 9999 objects. The default value is 128 objects.

Generate UDP search requests

When a CCI client request cannot be satisfied by this Directory Server it can forward the request to any other compatible naming services on the local network by issuing the request using a UDP broadcast. You might want to minimize broadcast traffic or force clients to search for locally registered servers by disabling this feature.

The default is enabled.

Restore server states when Directory Server starts up

Check this if you want servers that were previously started when the Directory Server closed down to be restarted when the Directory Server is started. For example, if your system is configured to run Directory Server automatically at system startup, and this flag is checked, then whenever you reboot your machine, Directory Server will attempt to restart any servers that were running when it closed down.

The default is "Disabled".

Save Legacy Micro Focus Servers

Check this if you want legacy Micro Focus servers to be included when you save the Directory Server repository. Legacy Micro Focus servers are CCI servers.

The default is "Disabled".

Servers marked "Started" only when all listeners started

Check this if you want the server status to remain "Stopped" until all of the auto-start and startable listeners (those not marked as Disabled) have been set to "Started" status.

If this is unchecked, the server status is set to "Started" when the first MFCS instance that starts up modifies the server status. This will be shortly after the Communications Process Control Channel listener becomes active. At this point, any remaining listeners for that Communications Process, and any other Communications Processes for that server, will probably still be starting up.

By default this is unchecked.

Clear dynamically assigned address values when servers stop

Check this box to override the option on the individual stop server confirmation page so that the dynamic address values for the server are cleared when it stops. This will happen regardless of whether it is started remotely, from the command line, or from the Enterprise Server Administration GUI.

By default this is unchecked.

Default Process User ID

UNIX only. Specify a default user ID to be attached to all processes started from the Directory Server, for example, service execution processes. You can override this default process user ID for an individual enterprise server by specifying a value for Process User ID on the Edit Server Advanced page. If you do not specify a user ID in either place, all processes run as user root, which can create problems with security and access to files. You can specify either a numeric user ID or a username.

Defaults

Click this to restore the default settings.

Note:
  • If the current number of objects exceeds the default object count, the default is not restored.
Parent topic: Security Configuration Screen Help


Confirm Password

Use this page to confirm your user ID and password after you have changed the mode of Directory Server from Unrestricted to Restricted.

User ID

Specify your user ID. User IDs are case sensitive.

Password

Specify your password. Passwords are case sensitive.

Parent topic: Security Configuration Screen Help


Configure Journal Options

Use this page to change configuration settings for the Directory Server journal.

Journal

The journal is a file that records some of the Web browser client and program client activity occurring on the Directory Server. It can track usage and help with support issues.

The level of journaling in force affects performance; the more entries written, the more performance is degraded. The scale of the degradation depends on many factors such as file system performance and client traffic; a system with a large number of highly active program clients suffers the most.

Maximum file size

Specify the maximum file size in kilobytes (KB) of the journal file. Once the journal file grows to this size, the most recent journal entries overwrite the oldest journal entries.

The minimum is 32 KB. The default value is 256 KB.

CAUTION:

Changing the size of the journal erases any previous journal entries.

Entries displayed

Specify the number of journal entries that will be displayed on the page at a single time.

The minimum is 5 entries. The default value is 23 entries.

Journal level - Errors only

Check this if you want journal entries to be written for errors only.

Journal level - Errors and warnings

Check this if you want journal entries to be written for errors and warnings only.

Journal level - All information

Check this if you want journal entries to be written for all events.

CTF trace

Check this if you want journal entries to be written through the Consolidated Trace Facility.

Defaults

Click this to restore the default settings.

Note:
  • Restoring the default maximum file size of the journal has the effect of erasing the journal, unless the maximum size is already set to the default.
Parent topic: Security Configuration Screen Help


Configure Monitor Options

Use this page to change configuration settings for the Server Monitor.

Acceptable response time

Specify the interval (in seconds) that the server monitor is to wait for a response after sending a keep-alive request to a server before assuming it is not responding. If you know that the network is normally quiet or busy, you can adjust this time accordingly.

The default value is 5 seconds.

Defaults

Click this to restore the default settings.

Enabled

Check Enabled to start the server monitor. Uncheck it to stop the server monitor at the next keep-alive interval timeout.

The default is Enabled.

Keep-alive interval

Specify the interval (in seconds) that the server monitor is to wait between each cycle of server interrogations. Since each cycle of interrogations takes a finite amount of time, depending on how many servers are registered and how responsive they and the network are, the actual time taken between checks is longer than this interval.

The default value is 60 seconds.

Server Monitor

The server monitor checks whether all enterprise servers registered with the Directory Server and not marked "Stopped" or "Disabled" are responding to potential client requests. If they are, their status is marked as "Started", otherwise, if they are currently marked as "Started" and they are not responding, they are marked as "Not Responding".

Having the server monitor on ensures that Current Status for a server is up to date, even if the server itself cannot contact the Directory Server for some reason, for example, a network connection or machine failure.

Parent topic: Security Configuration Screen Help


Configure Repository Options

Use this page to change configuration settings for the Directory

Repository Location

Specify the type of storage and the location containing the repository. You can store the repository in the file system or in an LDAP repository.

For file system storage, the location is the directory in which the repository data will be stored.

For LDAP storage, the location is the address of the LDAP server that will be used.

In order to store the repository in an LDAP server, the server must be updated to support the Micro Focus configuration objects.

Warning:

If you change the location and the destination already contains a repository, you will be warned and given the opportunity to overwrite it or to cancel the operation.

Note: When you specify ldap:// as the storage mechanism, additional fields are displayed for specifying the container in which the data will be stored, and the LDAP user credentials required to write to the container.
Repository Container Distinguished Name

The distinguished name of the LDAP container in which the repository is to be stored.

User DN
The distinguished name of the LDAP user with which to access the repository. This user must have permission to read and write to the container.
User Password
The password of the user with which to access the repository.
Parent topic: Security Configuration Screen Help


Default ES Security Configuration

Use this page to define default security settings that can be used with Directory Server and enterprise servers. You can override these defaults for individual servers

Add

Click this to add a security manager from the pool of available definitions.

Allow unknown resources

Check this if you want the security facility to permit access to any unknown resource; that is, any resource for which all entries on the priority list return Unknown.

You might use this in circumstances where you only want to restrict access to some resources.

Allow unknown users

Check this if you want to allow unknown users to log in.

Enabled

This column indicates whether or not the security manager is enabled. If it is not enabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Cache limit:

Enter the maximum size in kilobytes that the Directory Server or enterprise server's security facility can use for caching the results of security queries.

Cache TTL:

Enter the maximum time in seconds that an entry in the cache can be used to satisfy requests before the details must be requeried from the security manager.

Create audit events

Check this to enable the enterprise server or Directory Server to generate security audit events. These events can be captured and logged by the Audit Facility.

Configuration information

Specify any additional configuration settings that the security facility requires.

Default ES Security Manager List

This is the list of security managers (taken from the available pool) that can be used to perform security queries.

Note: Security managers are queried in the order that they appear in the list. If the Verify against all Security Managers checkbox is not checked, the first manager in the list that responds with a definite answer will determine the result of a security query. See the text for Verify against all Security Managers for more details.

Use the up and down arrows to reposition the selected entry.

Module

This column shows the module used by a security manager to access an external security manager or to implement the security rules.

Name

This column shows the name that used to identify a security manager.

Priority

Indicates the position of the security manager in the sequence in which the security managers are queried.

Select

Use this to select a security manager for removal or for moving to a different position in the list.

Description

The description column shows the description for a security manager.

Remove

Click this to remove the currently selected definition from this list.

Note: The definition is only removed from this list, not from the available pool of definitions.
Use all groups

Check this if a user requesting authorization is to have the permissions of every group to which he or she belongs.

Uncheck this if the user is to have only the permissions of the group specified in the initial security API call that requested verification (authentication) of the user's credentials. Where no group is specified in the verify call, a default group is used.

Verify against all Security Managers

Set this if you want each security query to be checked by all entries on the Security Manager Priority List.

If this is not set, the entries will be queried in the order that they appear on the Priority List until one gives a response of Allow, Deny, or Fail (equivalent to Deny). This response will then be used to decide what action should be taken.

If this field is set, all entries on the list will be queried, and if any returns a Deny or Fail, the access request will be denied. If there are no Deny or Fail responses and at least one of the entries on the list gives Allow as its response, the request will be allowed.

If a security manager does not have a rule for the resource or user specified in the request, it gives a response of Unknown. Whatever the setting of the Verify against all Security Managers field, if all of the entries on the priority list respond with Unknown, the request will be denied unless you have checked Allow unknown resources or Allow unknown users.

Parent topic: Security Configuration Screen Help


Directory Server Users

Use this page to add new users, select a user for updating or deleting, and to import user accounts. This screen is divided into tabs. The label of the tab indicates the start character(s) of the account IDs that are listed on the tab.

Account ID

The ID for the user account.

Name

The full name of the person assigned to this account.

Member of

A comma separated list of the user groups of which the the user is a member.

Description

A description of the user account.

Allow Logon

Indicates whether this user can logon.

Edit

Click this to select the highlighted user ID for updating or deleting

Add

Click this to add a new user.

Import

Click this to import user data from an installation of a previous version of Micro Focus Directory Server.

Parent topic: Security Configuration Screen Help


Edit Resource Class

Use this page to edit the details of a resource class and to add resource entities to the class.

Description

Specify a description of the resource class in this field.

Apply

Click this to apply any change that you have made to the description text.

Delete

Click this to delete this resource class. Note that you cannot delete a resource class that contains resource entities.

Entity

This column specifies the name of each resource entity that is included in this resource class.

Entity Description

This column specifies the description of each resource entity that is included in this resource class.

ACL String

This column specifies the Access Control List (ACL) string of each resource entity that is included in this resource class. The ACL specifies the access rights for the resource entity. Each entry in an ACL is referred to as an Access Control Entry, or ACE. These entries are separated by semi-colons.

Each ACE specifies an actor, which is a user, a wildcard pattern for users, or a group, and one or more permissions that are granted (allow) or denied (deny) to that actor. The format for the ACE is as follows:

setting:actor:action-1,...,action-n

Where:

  • setting is allow or deny
  • actor is the name of a user, a pattern with one or more wildcards (see Wildcards) string that will be matched against the user's name, or a group name or wildcard pattern followed by a space and the word group (eg "ADMIN group")
  • action-1 through action-n are permission tokens:
    • none
    • execute
    • read
    • update
    • add
    • delete
    • control
    • alter
    • all
Edit

Click this to edit the resource entity in this row.

Add

Click this to add a new resource entity to this resource class.

Parent topic: Security Configuration Screen Help


Edit resource entity

Use this page to edit the details of a resource entity.

Description

Specify a description of the resource entity.

ACL String

Specify the Access Control List(ACL) string for the resource entity. The ACL specifies the access rights for the resource entity. Each entry in an ACL is referred to as an Access Control Entry, or ACE. These entries are separated by semi-colons.

Each ACE specifies an actor, which is a user, a wildcard pattern for users, or a group, and one or more permissions that are granted (allow) or denied (deny) to that actor. The format for the ACE is as follows:

setting:actor:action-1,...,action-n

Where:

  • setting is allow or deny
  • actor is the name of a user, a pattern with one or more wildcards (see Wildcards) string that will be matched against the user's name, or a group name or wildcard pattern followed by a space and the word group (eg "ADMIN group")
  • action-1 through action-n are permission tokens:
    • none
    • execute
    • read
    • update
    • add
    • delete
    • control
    • alter
    • all

For example, the following ACL string:

allow:Test group:Execute,Read,Update,Add,Delete;allow:Operator group:Read

assigns the Test group execute, read, update, add and delete permissions for the resource, and assigns the Operator group read permission.

Parent topic: Security Configuration Screen Help


Edit Security Manager

Use this page to amend the details of a security manager.

Authorized ID and Password

If the module requires credentials to connect to the external security manager, specify them here.

As with the connection path, the content and format of these fields depend on the module that you are using. For details, please see the documentation supplied with the module.

Cache limit:

If the module has a configurable cache for holding responses from the security manager, enter its maximum size in kilobytes here.

Cache TTL:

If the module has a configurable cache for holding responses from the security manager, enter the maximum time in seconds that an entry in the cache can be used to satisfy requests before the details must be requeried from the security manager.

Note:

Enterprise Server and Directory Server also have their own configurable caches for security information. These are checked before submitting queries to the security manager module.

Configuration information

Specify any additional configuration settings that the module requires.

Connection Path:

If the module requires a connection string that tells it how to connect to the external security manager, specify it here.

The information supplied in the string and its format depend on the module that you are using. For details, please see the documentation supplied with the module.

Description

Specify a description of the security manager.

Enabled

Check this to enable this security manager. If it is disabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Module

Specify the module used to access an external security manager or to implement the security rules. If you specify it with a relative path (which includes no path) it is relative to install-dir\base\bin.

Name

Specify the name used to identify the security manager.

Properties

Click this to access pages for the management of users, groups and resources controlled by this security manager.

Note:

You will only be able to manage users, groups and resources where the security manager is on the priority list used by Directory Server. That is:

  • if Directory Server uses the Default ES Security configuration, the security manager must be on the Default ES Security manager list
  • if Directory Server uses its own configuration options, the security manager must be on the Directory Server's own security manager list

In addition, the ESM module and the external security manager to which it connects must also support user, group and resource administration via the Security Facility.

Parent topic: Security Configuration Screen Help


Left Pane Menu Items

The following items appear on the left pane menu:

Home menu option

Click this to return to the Home page.

Actions

The heading for menu options that provide administrative actions. The actual number of options displayed below this heading is variable, depending on the permission level of the user.

Logon

Click this to show the log on page. This menu option is shown only if the session is not currently logged on and the User Access setting on the Options page is "Restricted".

Logoff

Click this to log off from an administrative session that is currently logged on. There is no log off confirmation. This menu option is shown only if the session is currently logged on and the User Access setting on the Options page is "Restricted".

Renew

Click this to refresh the IP address information cached by your Directory Server. Use this option when the IP address of the machine running your Directory Server changes.

Directory Server uses the IP address to locate the servers that it manages. When the cached IP address is out of date, Directory Server may be unable to connect to its servers and may report inaccurate information to clients.

Export

Click this to show the Export page. This page enables you to save a copy of the whole repository to a location of your choice. This menu option is available only if you logged on with Administrator or Schema Administrator permission level.

Import

Click this to show the Import page. This page enables you to update the repository with additional objects from an import directory. Imported objects can include servers (along with all of their child objects), and Security Manager definitions. This menu option is available only if you logged on with Schema Administrator permission level.

Delete All

Click this to show the Delete confirmation page. This page enables you to confirm that you want the repository to be completely erased and all registered objects to be deleted. This menu item is available only if you logged on with Schema Administrator permission level.

Shut Down

Click this to show the Shut Down confirmation page. This page enables you to shut down the Directory Server. This menu option is available only if you logged on with Schema Administrator permission level This menu option is available only if you logged on with Schema Administrator permission level and Directory Server is not running as a Windows service.

Configure

The heading for the menu option that enables you to configure Directory Server. This menu heading and its associated menu option are available only if you logged on with Administrator permission level or higher.

Options

Click this to show the Directory Server Options page. This page enables you to configure the Directory Server.

Security

Click this to show the pages used for configuring security options.

Display

The heading for menu options that enable you to view information about the state of the Directory Server and about the events that have taken place on the server.

Directories

Click this to show the Directories page. This page lists all the instances of Directory Server that are running on the network and using the default Directory Server port (86).

Statistics

Click this to show the Statistics page. This page shows statistics and status information about Directory Server.

Sessions

Click this to show the Sessions page. This page shows the list of currently logged on Web browser client sessions, and also any bound program client sessions.

Journal

Click this to show the Journal page. This page shows the Directory journal, which is a record of Directory Server activity.

Help

The heading for menu options that enable you to view documentation about the Directory Server and Enterprise Server Administration.

This page

Click this to view help for the page you are currently viewing and for all the controls on the page.

Contents

Click this to view the Contents of the Enterprise Server documentation.

Note: Note:

For this link to work, you must be using an enterprise server that has a Web listener with the following entry in the [virtual paths] section:

docs=<ES>/help

This enterprise server must be started.

The default enterprise server, ESDEMO, has a web listener with this configuration information. When you create a new enterprise server, a Web listener with the required configuration information entry is automatically created.

Support

Click this to contact Micro Focus Technical Support via the Supportline website to report problems or ask any questions about using Micro Focus software.

Feedback

Click this to open your email client and send general feedback to Micro Focus.

Parent topic: Security Configuration Screen Help


MF Directory Server Security

Use this page to define the security settings to be used with Directory Server.

Add

Click this to add a security manager from the pool of available definitions.

Allow unknown resources

Check this if you want the security facility to permit access to any unknown resource; that is, any resource for which all entries on the priority list return Unknown.

You might use this in circumstances where you only want to restrict access to some resources.

Allow unknown users

Check this if you want to allow unknown users to log in.

Authenticated client sessions

There are two main methods that a remote user can use to connect to the Directory Server:

  • Using Enterprise Server Administration, which runs in a Web browser. This method is intended for the administrative functions. These clients are known as Web browser clients.
  • Using the underlying MLDAP API, usually via some higher level application interface or product, to carry out some short-lived operation such as to search for the address of a service or to modify the properties of an object. These clients are known as program clients.

If Directory Server is running in Restricted mode, Web browser clients have to authenticate themselves to the Directory Server, carry out any operations, and then log off. (Program clients always run in Restricted mode.) During the time period between the authentication and removal the client is entered into the authenticated client list maintained internally by the Directory Server process. To s the list from accidentally growing too large (not all users or applications log off correctly after they have been authenticated) and also to maintain security, the Directory Server removes both Web browser and program client sessions after a configurable timeout period.

Cache limit:

Enter the maximum size in kilobytes that enterprise server's security facility can use for caching the results of security queries.

Cache TTL:

Enter the maximum time in seconds that an entry in the cache can be used to satisfy requests before the details must be requeried from the security manager.

Certificate
Custom server certificate path.
Certificate passphrase

Custom server certificate passphrase (optional).

Change

Click this to add a security manager from the pool of available definitions. This button is only present if you are using the MFDS Internal Security Manager. As MFDS Internal Security cannot be used alongside other security managers, when you add the new manager MFDS Internal Security will be removed.

Client program timeout

Specify the maximum interval in seconds since the last activity of a program client before it is automatically unbound.

The minimum value is 60 seconds (1 minute). A value of -1 indicates an infinite timeout period.

The default value is 6000 seconds (100 minutes).

Configuration information

Specify any additional configuration settings that the enterprise server security facility requires.

Create audit events

Check this to enable the enterprise server to generate security audit events. These events can be captured and logged by the Audit Facility.

Description

The description column indicates the description for a security manager.

Enabled

This column indicates whether or not the security manager is enabled. If it is not enabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Keyfile

Custom keyfile path.

Keyfile passphrase

Custom keyfile passphrase.

Module

This column indicates the module used by a security manager to access an external security manager or to implement the security rules.

Name

This column indicates the name that used to identify a security manager.

Priority

Indicates the position of the security manager in the sequence in which the security managers are queried.

Remove

Click this to remove the currently selected definition from this list.

Note: The definition is only removed from this list, not from the available pool of definitions.
Restrict user access

Check this to cause all administrative access to the Directory Server to be authenticated and authorized by the entries on the Security Manager Priority List.

Secure Port

Unless a specific secure port is specified, the SSL connection will use a dynamically assigned port each time the MF Directory Server process is restarted. A fixed known port may be useful if configuring firewall settings.

Security Manager List

This is the list of security managers (taken from the available pool) that MF Directory Server can use to perform security queries.

Note: Security managers are queried in the order that they appear in the list. If the Verify against all Security Managers checkbox is not checked, the first manager in the list that responds with a definite answer will determine the result of a security query. See the text for Verify against all Security Managers for more details.

Use the up and down arrows to reposition the selected entry.

Select

Use this to select a security manager for removal or for moving to a different position in the list.

Use all groups

Check this if a user requesting authorization is to have the permissions of every group to which he or she belongs.

Uncheck this if the user is to have only the permissions of the group specified in the initial security API call that requested verification (authentication) of the user's credentials. Where no group is specified in the verify call, a default group is used.

Use custom server ID certificate

If this is turned off, the default DemoCA root certificate, server certificate, keyfile and passphrase that are installed with the product will be used. For production purposes it is recommended that the default certificates are not used, and that the customers own certificates are specified. In addition, the MF_ROOT_CERT environment variable will need to be set so that the MF Directory Server process can pick up the value of the root certificate path.

Use default ES Security Manager List

Check this if you want to use your default ES security manager list for Directory Server, rather than the Security Manager List below. To define the default ES Security settings, click Security on the menu on the left hand side, and then click Security > Default ES Security.

Use encrypted connections

Select this if you want to start Enterprise Server Administration so that it requires authorized browser connections to use SSL. If the state is changed from the current active selection then the MF Directory Server process will need to be re-started to use the new setting. If encrypted connections are selected, administrative access must also be set to restricted.

Verify against all Security Managers

Set this if you want each security query to be checked by all entries on the Security Manager Priority List.

If this is not set, the entries will be queried in the order that they appear on the Priority List until one gives a response of Allow, Deny, or Fail (equivalent to Deny). This response will then be used to decide what action should be taken.

If this field is set, all entries on the list will be queried, and if any returns a Deny or Fail, the access request will be denied. If there are no Deny or Fail responses and at least one of the entries on the list gives Allow as its response, the request will be allowed.

If a security manager does not have a rule for the resource or user specified in the request, it gives a response of Unknown. Whatever the setting of the Verify against all Security Managers field, if all of the entries on the priority list respond with Unknown, the request will be denied unless you have checked Allow unknown resources or Allow unknown users.

Web browser timeout

Specify the maximum interval in seconds since the last activity of a Web browser client, for example, a browser refresh, before it is automatically logged off.

The minimum value is 60 seconds (1 minute). A value of -1 indicates an infinite timeout period. We recommend you use this value sparingly and always reset to a finite period as soon as possible. This is because if the Directory Server is running with an infinite Web client timeout, there is more likelihood that an unauthorised user might gain access to the system using an unattended machine; also the Directory Server will tend to become overloaded with clients who have not logged off.

The default value is 300 seconds (5 minutes).

Parent topic: Security Configuration Screen Help


Remove Security Manager Reference Confirmation

Enterprise Server Administration displays this page in the following situations:

  • when you choose to remove a security manager from the MF Directory Server's security manager list and that security manager is the only one present in the list. When the security manager is removed, it is automatically replaced by the MFDS Internal security manager.
  • The MFDS Internal security manager cannot be used in a list that contains other security managers. Therefore, when you choose to add a different security manager to the MF Directory Server's security manager list, the MFDS Internal security manager, if present in the list, will be automatically removed.

This screen checks that you want to proceed with the removal.

Parent topic: Security Configuration Screen Help


Security Managers Pool

Use this page to manage the pool of security managers available for Directory Server and enterprise servers to use for resolving security queries.

You can have multiple definitions for any given external security manager. Each definition may be used by Directory Server and one or more enterprise servers.

Add

Click this to add a new security manager.

Description

The description column shows the description for a security manager.

Edit

Click this to edit details of the currently selected security manager.

Enabled

This column indicates whether or not the security manager is enabled. If it is not enabled, it will be ignored by Directory Server and those enterprise servers that reference it.

Module

This column shows the module used by a security manager to access an external security manager or to implement the security rules.

Name

This column shows the name that used to identify a security manager.

Select

Use this to select a security manager for editing or removal.

Used by

This column shows the security manager lists that include this security manager.

Parent topic: Security Configuration Screen Help


SSL Options

Use this page to set options for encryption and for authentication of online entities.

Accept all clients

Click this to allow all clients to communicate with the server without being checked for an SSL certificate.

Request client certificate, and verify if present

Click this to request the client for a certificate, and to verify the returned certificate. If the client doesn't return a ceritficate, communication continues between the client and server. If a certificate is returned and it fails to verify, communication stops.

If you check this, you must specify the CA root certificates file below.

Require client certificate and verify

Click this to always require a client certificate and to verify it. This ensures that the client is trusted. If a certificate is not returned or it cannot be verified, communication between the client and server is stopped.

If you check this, you must specify the CA root certificates file below.

CA root certificates file

This field is mandatory if you have chosen to request or require a client certificate.

Specify the path and filename of the file containing certificates of root CAs that you trust. This file must contain the CA root certificate of the CA that signed the client's certificate. For example, in the demoCA environment, this is CARootcert.pem in the private directory of the DemoCA area in the client system.

Parent topic: Security Configuration Screen Help


Shut Down the MF Directory Server

Use this page to confirm that you want to shut down the MF Directory Server.

Note: This is available only if MFDS is running as a program. Under normal circumstances, MFDS runs as a service, and this screen is unavailable.
CAUTION:

Shutting down the server might cause application connection errors and loss of data if currently running applications rely on reaching data registered in the Directory Server repository.

Stop servers before shutting down

Check this if you want the servers to be stopped before the Directory Server stops.

Yes

Click this to shut down the Directory Server. Enterprise Server Administration will no longer be available after you have shut down the Directory Server.

Parent topic: Security Configuration Screen Help


Update User

Use this page to modify the details of registered users and to delete users.

Account ID

Indicates the ID of the accout being edited.

Name

Specify the full name of the person assigned to this account.

Description

Specify a description of the user.

Default Group

Specify a default user group for this user.

Where a user verification request does not specify a group, this default group is used.

Allow Logon

Check this to permit the user to logon.

Member of:

Lists the user groups of which this user is a member. Click a group to select it for removal from this list.

User groups:

Lists all available user groups. Click a group to select it for adding to the Member of list.

Remove-->

Click this to remove the selected group from Member of.

<--Add

Click this to add the selected group to Member of.

New Password

Specify the new password of the user. Passwords can contain alphabetical and numeric characters only and are case sensitive. If you leave this field blank, the existing password is unchanged.

Confirm Password

Specify the case-sensitive new password of the user. If you enter a value that does not match the value in New Password, an error is generated and the existing password is unchanged.

Delete

Click this to delete this user.

Parent topic: Security Configuration Screen Help


User Group Members

Use this page to edit the details of a user group.

Group Members

Lists the members of this user group. Click a member to select it for removal from this list.

Add

Click this to add the specified user to the group. Note that the user must exist.

Remove

Click this to remove the selected member from the group.

Parent topic: Security Configuration Screen Help


User Groups

Use this page to add new groups, and to select a group for updating or deleting.

Name

The name of the group.

Description

A description of the group.

Members

Shows the number of users in the group.

Edit

Click this to select the adjacent group for updating or deleting

Add

Click this to add a new group.

Parent topic: Security Configuration Screen Help


User Import: another user registry

Use this page to import user data another user registry.

Note:

Prior to this release, user data was stored in a user definition file called CCIUSERS.dat. This was located in the install-dir\base\bin\ for Net Express or install-dir\bin\ where Enterprise Server was installed standalone.

Note also, the fields available on this screen will depend on whether you are importing from a file or from an LDAP server.

User registry

Specify the location of the user registry from which you want to import users.

If the registry is in a file, the location is the full name of the file.

If the registry is in an LDAP server, the location is the address of the LDAP server.

Note:

When you specify ldap:/// as the type of registry, additional fields are displayed for specifying which users are to be imported, and the user credentials required for reading the data from the LDAP server.

Base DN

Specify the base distinguished name for the container from which the user entries will be obtained.

Filter

Specify any filter condition to restrict the list of users imported.

Credentials

Specify the credentials required to access the LDAP server.

User DN:

The distinguished name of the LDAP user with which to access the repository.

Password:

The password of the user with which to access the repository.

Replace all existing user information

Check this if you want all existing users to be removed and replaced with the users that you are importing. If this is not checked, existing users will not be changed and only those users in the import file that are not already present in your repository will be imported.

Replace existing duplicate user information

Check this to replace any existing user that is a duplicate of one being imported.

Import only users who are members of these groups

Restrict the users imported to those within the groups named in this field.

Add imported users into this group

Specify a group to which all imported users should be assigned.

Parent topic: Security Configuration Screen Help


User Import: previous version

Use this page to import user data from a previous version of Micro Focus Directory Server.

Note:

Prior to this release, user data was stored in a user definition file called CCIUSERS.dat. This was located in the install-dir\base\bin\ for Net Express or install-dir\bin\ where Enterprise Server was installed standalone.

Note also, the fields available on this screen will depend on whether you are importing from a file or from an LDAP server.

User registry

Specify the location of the user registry from which you want to import users.

If the registry is in a file, the location is the full name of the file.

If the registry is in an LDAP server, the location is the address of the LDAP server.

Note:

When you specify ldap:/// as the type of registry, additional fields are displayed for specifying which users are to be imported, and the user credentials required for reading the data from the LDAP server.

Base DN

Specify the base distinguished name for the container from which the user entries will be obtained.

Filter

Specify any filter condition to restrict the list of users imported.

Credentials

Specify the credentials required to access the LDAP server.

User DN:

The distinguished name of the LDAP user with which to access the repository.

Password:

The password of the user with which to access the repository.

Replace all existing user information

Check this if you want all existing users to be removed and replaced with the users that you are importing. If this is not checked, existing users will not be changed and only those users in the import file that are not already present in your repository will be imported.

Replace existing duplicate user information

Check this to replace any existing user that is a duplicate of one being imported.

Import only users who are members of these groups

Restrict the users imported to those within the groups named in this field.

Add imported users into this group

Specify a group to which all imported users should be assigned.

Parent topic: Security Configuration Screen Help


Deploying and Configuring Modernized Applications

The topics in this chapter describe how to configure and administer modernized COBOL applications running in the Enterprise Server environment.

  • About Modernized Applications
  • Managing Resources
  • Adding and Deleting Services
  • Configuring and Monitoring Services
  • Configuring Implementation Packages
  • Deploying Interfaces Generated by the Interface Mapping Toolkit
  • Deploying EJBs and Resource Adapters
Parent topic: Enterprise Server


About Modernized Applications

COBOL applications can be modernized so that they run in the Enterprise Server environment. A modernized COBOL application can be deployed as a service that perform the application's operations.

A service provides access to specific business functionality. A COBOL program implemented as a service reads in a parameter block, processes it and returns a results block.

A service that you create within Enterprise Server can contain one or more operations, depending on the name you give the service and which request handler is associated with it (if any). If you create a service with no request handler associated with it or if the name you use does not contain a valid separator, the service and the operation are one and the same. The Enterprise Server documentation uses the term "simple service" for services of this type. System services such as the Deploy service of the default Enterprise Server instance, ESDEMO are simple services.

  • Service Names and Operations
  • Types of Services Supported
  • Configuration Parameters
Parent topic: Deploying and Configuring Modernized Applications


Service Names and Operations

Service names can be of two forms, depending on whether or not the service contains any operations. The two forms are:

  • Names consisting of one part, for example, Test or my_service. Simple services have this type of name.
  • Names consisting of three parts, for example, http:/tempuri.org/wmapserv#Add. The parts are:
    • The service namespace. This is the part of the name before the first pound (#) character
    • The separator, in this case, the pound (#) character
    • The operation name, in this case Add

    Services with operations have this type of name.

    Service names for Web services use the first pound (#) character as a separator, while names for services that form part of a J2EE application use the last period ( ) character, for example, mybinpservice.operation.

    You can include more than one pound character or period in a service name; Enterprise Server will interpret the first pound character or last period character it finds as the separator.

  • The Services Table
  • Configuring Services
Parent topic: About Modernized Applications


The Services Table

You can see the information held in the repository for services by clicking Details against Services in the table of servers on the Home page. The services table is shown below.

Figure 1. Services Table
Services Table

The information is as follows:

  • Service namespace - a unique label within the enterprise server that identifies the service and if it contains operations, groups the operations together
  • Operation - a list of the individual operations within a service; if the service is a simple service, there is just one item in this list, and it bears the same name as the service itself
  • Service class -a further qualifier for a service; client requests can look for a service of a particular class rather than a named service
  • Search order - the order in which services of the same name are sorted for searching purposes
  • Listeners - a list of the listeners allocated to this service
  • Request handler - the request handler for this service
  • Implementation package - the implementation package that provides the business functionality
  • Status information - you can see the current status and the time of the last status change
  • Status log - this supplies information about the most recent event that occurred on this service
  • Custom configuration data - for more information see the section Configuration Information
  • Description

Service display flters control how much service information you can see. These appear at the top of the services table. There are four service display filters:

  • Service: to use this filter, specify the name of the service you want to view; you need only enter enough characters to identify the service uniquely
  • Class
  • Handler
  • Package

Except for Service, each has three options

  • None: choose this to see no services for this filter
  • Some: choose this to see services that have a value for this filter
  • All: choose this to see all services for this filter

For example, to see service details for services of class 1, choose Some in Service Display Filters Class; to see only services that do not have a request handler associated with them, choose None in Service Display Filters Handler; to see all services choose All in all three filters that have options and leave Service blank. Use all the filters in combination to achieve the maximum control over the level of detail you see.

When you first see the Services table, all the filters that have options are set to All and the Service filter is blank.

Parent topic: Service Names and Operations
Related information
Configuration Information


Configuring Services

You can use the Configuration Information field on the Add Service and Edit Service pages for configuration data specific to services.

The [MF client] settings provide configuration for MFCC when it is creating the deployment request.

The [destination] settings are used by mfdepinst when it creates service and package objects in the Directory Server while installing a deployment package (.car file).

Note: These settings are only used when deployment is done via MFCS, using the IMTK or another deployment client. If you run mfdepinst manually from the command line to install a .car file, it is not invoked for a particular deployment service, so it has no deployment service configuration to consult.
[MF client]
scheme=protocol
URL=virtual-directory-name-1/mfdeploy.exe/virtual-directory-name-2
accept=request-data-type
[destination]
listener=listener-name
server=server-name
Parent topic: Service Names and Operations


Types of Services Supported

Enterprise Server applications deployed as services can be one of three types:

  • Web services

    These are components using standards and mechanisms that enable software components to be invoked across the Web. A client application using a Web service can invoke the service, and pass data to and from it in the form of XML files sent using a standard protocol such as HTTP.

  • J2EE services
  • COM services
Parent topic: About Modernized Applications


Configuration Parameters

  • scheme
    Specifies the protocol to use for the request.
  • URL
    Sets the base path portion of the request URL.
  • accept
    Tells MFCC what kind of request data this service accepts.
  • listener
    Specifies the name of the listener which will own the new services. By default this is “Web Services”. You can set this value if you want to deploy services to a listener with a different name.
  • server
    Specifies the name of the server which will own the new services and packages. By default this is the server that the deployment service belongs to. You can set this value so that an enterprise server accepts deployment requests for services that will be deployed to a different enterprise server on the same system.
Parent topic: About Modernized Applications


scheme

Syntax:

scheme=protocol

Parameters:

protocol Set to “http”

Properties:

Default: None.
Parent topic: Configuration Parameters


URL

Syntax:

URL=virtual-directory-name-1/mfdeploy.exe/virtual-directory-name-2

Parameters:

virtual-directory-name-1/ | Must correspond to a virtual directory in the listener’s configuration which is mapped to the directory containing mfdeploy.exe
virtual-directory-name-2 | Must correspond to a virtual directory where the new deployment directory will be created. (This directory must contain an .mfdeploy file.)

Properties:

Default: /cgi/mfdeploy.exe/uploads

Comments:

You can have multiple deployment services under a single Web listener, directing deployment packages to different locations, by creating additional virtual directories in the listener’s configuration and specifying the appropriate directory here. For more information see the section Deployment Services and Listeners in the chapter Configuration.

Parent topic: Configuration Parameters
Related information
Deployment Services and Listeners


accept

Syntax:

accept=request-data-type

Parameters:

request-data-type Set to “application/x-zip-compressed”

Properties:

Default: None
Parent topic: Configuration Parameters


listener

Syntax:

listener=listener-name

Properties:

Default: Web Services

Comments:

You can set this value if you want to deploy services to a listener with a different name.

Parent topic: Configuration Parameters


server

Syntax:

server=server-name

Properties:

Default: The server that the deployment service belongs to.

Comments:

You can set this value so that an enterprise server accepts deployment requests for services that will be deployed to a different enterprise server on the same system.

Parent topic: Configuration Parameters


Managing Resources

A COBOL application providing a service that uses external resources, such as databases and files, can manage its own resources or let the application container manage them. A service that manages its own resources is known as application-managed, while a service that does not manage its own resources is known as container-managed.

If a service updates files through Fileshare, you must specify the name and location of an fhredir.cfg file for the enterprise server in which the service runs.

  • Application-managed Services
  • Container-managed Services
  • Mixing Container-managed and Application-managed Services
Parent topic: Deploying and Configuring Modernized Applications


Application-managed Services

A service must manage its own resources if:

  • The application accesses files or databases (or both) in a transactional way, and contains transactional logic: that is, it includes COMMITs and ROLLBACKs
  • The application uses a resource manager that we do not support in the Enterprise Server environment; see the list in Supplementary Information.

A service in which the application accesses files in a non-transactional way (that is, it does not includes COMMITs and ROLLBACKs), should be application managed.

A transactional application-managed service must contain all the transactional logic it needs, that is, it must complete with all resources either committed or rolled back.

CAUTION:

A CICS EXCI call can only be executed in a service that is Container Managed. An EXCI call executed in an Application Managed generates an abend: EXIA

Application-managed services are executed in a similar way to applications in a conventional execution environment such as Enterprise Server or Enterprise Server. One of the main differences is that the process is not terminated at the end of execution of the service.

Parent topic: Managing Resources


Container-managed Services

If an application running as a service uses databases and files but does not contain any transactional logic, it can let the application container manage its resources.

The application container must know in advance what resource managers will be required. You define resources not by service, but by Enterprise Server instance. You can only define resource managers that are XA-compliant.

When an Enterprise Server instance and its service execution processes start up, the enterprise server manager opens connections to all the resources that might be needed by the services that run in that Enterprise Server instance. When a container-managed service is invoked, the enterprise server manager performs all file and database actions that it requires.

The application container manages databases by issuing XA commands.

The application container decides whether to commit or roll back resources using information supplied when the Enterprise Server instance was created and deployed in your COBOL development system. However, if there is an error in the application container itself, resources are always rolled back.

CAUTION:

A CICS EXCI call can only be executed in a service that is Container Managed. An EXCI call executed in an Application Managed generates an abend: EXIA

Parent topic: Managing Resources


Mixing Container-managed and Application-managed Services

You can mix container-managed and application-managed services in the same enterprise server, but in these circumstances it is even more important that the application-managed services complete with all resources either committed or rolled back. This is because when the application container commits or rolls back resources on behalf of a container-managed application, it commits or rolls back all outstanding updates, including any outstanding from application-managed services that ran previously.

Parent topic: Managing Resources


Adding and Deleting Services

You can add services and implementation packages to an Enterprise Server instance, and update and delete them whether or not the Enterprise Server instance is running.

If the Enterprise Server instance is running (that is, if it has the status "Started") when you are adding services and packages, the changes are immediately reflected in the enterprise server. As long as the service is not currently responding to a client request, any updates are also accepted and take immediate effect.

You cannot delete a service, package or request handler if the resources are in use by a client request. You cannot delete a package if it is associated with a service, whether or not the service is running. If a service has operations, you can delete a service and all its operations and packages in one step, or you can delete individual operations and packages.

When you delete services, packages and request handlers, you are deleting objects in the Directory Server repository, not physical files. Every time a developer deploys a service using the Deploy tool or the imtkmake command, a new directory is created in the enterprise server's deploy directory to hold all the deployed files. If a developer redeploys a service that has already been deployed, the old deployment directory is no longer referenced, since the old service and package objects will have been deleted. You might want to delete old deployment directories from time to time.

If an Enterprise Server instance is running and you add, edit or delete resources, administration messages are sent to the enterprise server console indicating the success or otherwise of your changes.

It is possible for the Directory Server repository to become out-of-step with an Enterprise Server instance if the Directory Server accepts updates that the Enterprise Server instance rejects. If this happens you should stop the server and restart it to enable it to pick up the updates.

  • Creating Services Manually
  • To Add a Service to an Enterprise Server Instance
  • To Associate a Package with a Service
Parent topic: Deploying and Configuring Modernized Applications


Creating Services Manually

If you add services manually to an Enterprise Server instance, you need to create the objects for them and their relationships in a certain order, as follows:

  1. Add the implementation package to the Enterprise Server instance
  2. Add one or more service listeners
  3. Add the service, and associate the listener or listeners, implementation package and request handler with it
Parent topic: Adding and Deleting Services


To Add a Service to an Enterprise Server Instance

  1. Click Details against Services in the Objects column for the server you want to add the service to.
  2. Click Add.
  3. Specify a name for the service in Name.
  4. If you have more than one service of the same name in the repository, specify a search order for the service in Search Order. The lower the search order, the higher the search priority .
  5. If you want to enable clients to search for services by class, specify the class in Service Class.
  6. Change the default value in Version, if required.
  7. Choose the type of transaction management appropriate to this service: check either Application or Container.
  8. Click a listener you want to use on this service in Available Listeners and then click Add. You can repeat this step to add extra listeners. The listener is added immediately.
  9. Click the request handler you want to use on this service in Available Request Handlers and then click Select Handler. The selection is active immediately.
  10. Click the implementation package that is to provide the service functionality in Available Packages and then click Select Package. The selection is active immediately.
  11. Choose a status for the service from the list in Initial status.
  12. Specify any configuration information the service requires in Configuration Information.
  13. Specify a text description of the service in Description (optional).
  14. Click Add.
Note:
  • You can also reach the Add Service page by clicking Edit to the left of the server to which you want to add the service, clicking the Services tab and clicking Add.
  • You do not have to select a request handler and package for the service when you first add it to the server. You can do this at a later time by going to the Edit Service page.
Parent topic: Adding and Deleting Services
Parent topic: Work with Services
Related concepts
To Manually Deploy a Service Interface
To Add a Package to an Enterprise Server Instance


To Associate a Package with a Service

  1. On the Enterprise Server Administration screen, click Edit to the left of the server to which you want to add the package.
  2. Click the Packages tab and then click Add.
  3. Click Edit to the left of the row containing the service with which you want to associate the package.
  4. In Available Packages click the package that you want to associate with the service.
  5. Click Select Package.
Note:

A service can have just one package associated with it.

Parent topic: Adding and Deleting Services
Parent topic: Work with Packages


Configuring and Monitoring Services

When you are running services on an Enterprise Server instance, you need to ensure that services are starting and stopping as expected, and that no service is using more resources than expected.

The Monitor page enables you to view the performance of services, providing information about:

  • The average latency, in hundredths of a second.
  • The average time taken to complete a task, in hundredths of a second.
  • The number of tasks completed per second.

For example, if the average time taken to complete a task is large, this would indicate that a service is a long running or stateful service. If the number of tasks completed per second suddenly rises beyond what you expect, this might indicate that a task is repeatedly calling another task in error.

  • Services and Permissions
  • To Monitor Services
  • To Record Service Input and Output
  • To Add a Service for Integration with the Micro Focus Development Tools
  • To Change the Status of a Service
  • To Delete a Simple Service or an Operation
  • To Delete a Service with Operations
  • To Edit a Service
  • To Switch Logging On for a Service
  • To View Services for an Enterprise Server Instance
Parent topic: Deploying and Configuring Modernized Applications


Services and Permissions

If you have Modify permission level or higher you can:

  • Edit the attributes of a service
  • Switch logging on or off for a service. When logging is on, the service's request and result blocks are written to the enterprise server's dump data set
  • Change the status of a service between available and disabled

If you have Add/Delete permission level or higher you can also:

  • Add a service
  • Delete a simple service or operation
  • Delete a service with operations. When you delete a service with operations you delete all the operations associated with it. You can also delete the packages associated with it
Parent topic: Configuring and Monitoring Services


To Monitor Services

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To monitor services

  • Click either:

    • Monitor, 1 - This displays the Monitor (1 Minute Intervals) page. Use this to monitor the current situation. This page displays information on the last 32 minutes of activity.
    • Monitor, 15 - This displays the Monitor (15 Minute Intervals) page. Use this to gain information on how the system is performing overall. This page displays information on the last eight hours of operation.
Parent topic: Configuring and Monitoring Services
Parent topic: Administer a Server Using ESMAC


To Record Service Input and Output

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To record service input and output

  1. Click Services.

    The Services page is displayed.

  2. Click Details for the service for which you want the input and output to be recorded.

    The Services page is displayed.

  3. Click the Log I/O dropdown.

    Select Dump.

  4. Click Change.
Note:

If you set input and output to be recorded, they are only recorded during this enterprise server session. If you stop and restart the enterprise server, input and output will no longer be recorded.

If you want input and output to always be recorded, you can specify this using Enterprise Server Administration.

Parent topic: Configuring and Monitoring Services
Parent topic: Administer a Server Using ESMAC


To Add a Service for Integration with the Micro Focus Development Tools

  1. Click Details in the Object column for the server you want to add the service to.
  2. Click Add.
  3. In both Name and Service Class type: MF ES
  4. Leave the type of transaction management as Application.
  5. In Available Listeners, select the line containing Web Services and J2EE. Then click <-Add below this field.
  6. In Description type a suitable description, such as ES utility service.
  7. Click Add.
Note:
  • You can also reach the Add Service page by clicking Edit to the left of the server to which you want to add the service, clicking the Services tab and clicking Add.
  • Do not associate this service with a handler.
Parent topic: Configuring and Monitoring Services
Parent topic: Work with Services


To Change the Status of a Service

  1. Click Details against Services in the Objects column for the server you want to change.
  2. Click Edit in the Operation column for the service whose status you want to change.
  3. Choose the new status from the list in New Status.
  4. Click Apply.
Note:

Depending on the status of the change request, one of three messages is displayed in the Enterprise Server Administration GUI status bar:

  • MDS0112I Update success
  • MDS0111W Update request failure

In the case of a failure the state of the service, as reported by the ES Administration GUI, changes from "Available" or "Disabled" to a pending state. The next time the ES instance starts it will use the new configuration.

  • MDS0110W The specified configuration change may not take effect until the server is restarted

The state of the service, as reported by the Enterprise Server Administration GUI, changes from "Available" or "Disabled" to "Changes made to service: a server restart may be required for the new configuration to take effect". To check whether the service update was effective, use the ES Monitor and Control HTML GUI and select the "Services" resource list page.

Parent topic: Configuring and Monitoring Services
Parent topic: Work with Services


To Delete a Simple Service or an Operation

CAUTION:

Deleting a registered service might cause application connection errors and loss of data.

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details against Services in the Objects column for the server that owns the service you want to delete.
  3. Click Edit in the Operation column for the simple service or operation that you want to delete.
  4. Click Delete.
  5. Click OK on the confirmation page.
Parent topic: Configuring and Monitoring Services
Parent topic: Work with Services


To Delete a Service with Operations

CAUTION:

Deleting a registered service might cause application connection errors and loss of data.

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking
    expand button
  2. Click Details against Services in the Objects column for the server that owns the service you want to delete.
  3. Click Delete to the left of the row containing the service with operations that you want to delete. You see a page summarizing what you have requested.
  4. If you want to delete the packages associated with the operations, check Delete associated packages.
  5. Click OK.
Note:

When you delete a service, you are removing the service object from the Directory Server repository; the actual deployed files that make up the service are not deleted. For information on deleting old deployed files, see the link in Related Topics.

Parent topic: Configuring and Monitoring Services
Parent topic: Work with Services


To Edit a Service

CAUTION:

Changing the properties of a registered service might cause application connection errors and loss of data.

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details against Services in the Objects column for the server you want to edit.
  3. Click Edit in the Operation column for the service that you want to edit.
  4. Update the attributes of the service as required.
  5. Click OK.
Note:

If you make any changes to the listener or listeners, request handler or package associated with the service, the changes take effect immediately, not when you click OK.

Parent topic: Configuring and Monitoring Services
Parent topic: Work with Services


To Switch Logging On for a Service

  1. Click Details in the Objects column for the server that owns the service for which you want to switch logging on.
  2. Click Edit in the Operation column for the service for which you want to switch logging on.
  3. Check Logging.
  4. Click OK.
Note:

The effect of switching logging on is that the service's request and response blocks are written to a diagnostics file each time the service is invoked. This file is stored in the server's system directory, which defaults to %SYSTEMDRIVE%\Documents and Settings\user-ID\My Documents\Micro Focus\<product name> X.X\WORKAREA\es-name where es-name is the name of the enterprise server and user-ID is the user account that is running it. The file is named casdumpa.rec (or it might be named casdumpb.rec if you specified a maximum diagnostics file size on the Edit Server page).

If you are running the Directory Server as a service that logs on as the Local System account (LocalService), any Enterprise Server that it starts will also run under that account. Hence, the location of the files will typically be C:\Documents and Settings\LocalService\My Documents\Micro Focus\<product name> X.X\WORKAREA\es-name. By default, Windows hides the LocalService subdirectory of Documents and Settings. In order to view this directory, you must configure your Windows Explorer so that: Show hidden files and folders is set, and Hide protected operating system files is not set.

You can format and view the information from the Edit Server > Diagnostics > ES Console page. The client request is shown in a block named user-storage-type under the part of the dump entitled CAS-REQ. The server response is shown in a similar block under the title CAS-RESP.

Only switch logging on if you need diagnostics as it degrades performance.

Parent topic: Configuring and Monitoring Services
Parent topic: Work with Services


To View Services for an Enterprise Server Instance

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details against Services in the Objects column for the server for which you want to view services.
Parent topic: Configuring and Monitoring Services
Parent topic: Work with Services


Configuring Implementation Packages

An implementation package defines the application that provides the business functionality.

  • The Packages Table
  • Configuring Packages
  • Configuring Request Handlers
Parent topic: Deploying and Configuring Modernized Applications


The Packages Table

You can see the information held in the repository for packages by clicking Details next to Packages in the table of servers on the Home page. The packages table is shown below.

Figure 1. Packages Table
Packages Table

The information is as follows:

  • Name – this is unique in an enterprise server
  • Current status
  • Status log – this supplies information about the most recent event that occurred on this package
  • Package module – the name of the library containing the package, if it is part of a library
  • IDT – the name of the interface definition table (IDT) for this package
  • Package path – the location of the package module
  • Custom configuration data - this field is not used
  • Description
Parent topic: Configuring Implementation Packages


Configuring Packages

If you have Modify permission level or higher you can:

  • Edit the attributes of a package
  • Change the status of a package between available and unavailable
  • Associate a package with a service
  • Disassociate a package from a service

If you have Add/Delete permission level or higher you can also:

  • Add a package to an enterprise server
  • Delete a package, as long as it is not associated with any service

Outside Enterprise Server Administration, you can delete old deployment directories.

  • To Add a Package to an Enterprise Server Instance
  • To Delete a Package
  • To Edit a Package
  • To Disassociate a Package from a Service
  • To View Packages for an Enterprise Server Instance
  • To Delete Old Deployed Package Files
Parent topic: Configuring Implementation Packages


To Add a Package to an Enterprise Server Instance

  1. On the Enterprise Server Administration screen, click Edit to the left of the server to which you want to add the package.
  2. Click the Packages tab and then click Add.
  3. Note:
  4. Specify a name for the package in Name.
  5. Choose a status from the list in Status.
  6. If the entry point that exposes this service is in a library that has a different name than the package itself, specify the name of the library in Module Package. Include the extension; library files have the extension .lbr or .dll
  7. Specify a full pathname for the interface definition table (IDT) in IDT.
  8. Check IDT Remains Resident if you want the IDT to be loaded into the repository while the service is running. This can help performance if the service is frequently used and there are no constraints on shared memory.
  9. Specify a full pathname for the executable file in Package Path. If you have set the COBPATH environment variable at enterprise server level in Configuration Information in the Add Server or Edit Server page, you must specify $COBPATH here, to add the value set at enterprise level to the search path for this package.
  10. Ignore Configuration Information; this field is not used.
  11. Specify a text description of the package in Description (optional).
  12. Click Add.
Parent topic: Configuring Packages
Parent topic: Work with Packages
Related concepts
To Manually Deploy a Service Interface
To Add a Service to an Enterprise Server Instance


To Delete a Package

  1. On the Enterprise Server Administration screen, click Edit to the left of the server to which you want to add the package.
  2. Click the Packages tab to display the packages for the Enterprise Server instance.
  3. Click Delete next to the package that you want to delete.
  4. Click Delete on the confirmation page.
Note:
  • You can also delete a package by using the mfpackage command.
  • You cannot delete a package if it is associated with any service.
  • When you delete a package, you are removing the package object from the Directory Server repository; the actual deployed files that make up the package are not deleted.
Parent topic: Configuring Packages
Parent topic: Work with Packages


To Edit a Package

  1. On the Enterprise Server Administration screen, click Edit to the left of the server to which you want to add the package.
  2. Click the Packages tab and then click Add.
  3. Click Edit to the left of the row containing the package that you want to edit.
  4. Update the attributes of the package as required.
  5. Click Apply.
Parent topic: Configuring Packages
Parent topic: Work with Packages


To Disassociate a Package from a Service

  1. On the Enterprise Server Administration screen, click Edit to the left of the server to which you want to add the package.
  2. Click the Packages tab and then click Add.
  3. Click Edit to the left of the row containing the service from which you want to disassociate the package.
  4. In Available Packages click the package that you want to replace the currently associated package.
  5. Click Select Package.
Note:

A service can have just one package associated with it.

Parent topic: Configuring Packages
Parent topic: Work with Packages


To View Packages for an Enterprise Server Instance

  1. On the Enterprise Server Administration screen, click Edit to the left of the server to which you want to add the package.
  2. Click the Packages tab to display the packages for the Enterprise Server instance.
Parent topic: Configuring Packages
Parent topic: Work with Packages


To Delete Old Deployed Package Files

CAUTION:

Use this procedure with great care. Make sure that you are deleting the right directory, and delete the service containing the packages from the Directory Server repository before you delete the old package files.

  1. Go to the Deploy folder of the enterprise server to which the service was deployed. By default this is install-dir\base\deploy . In this folder you will find several directories with names of the form: service-name.random-string where service-name is the name of the service supplied during the creation of the service interface, and random-string is a string of random characters generated by the deploy process.
  2. Identify the directory that you want to delete; the date and time of creation of the directory are probably the best guide.
  3. Right-click the directory and click Delete on the popup menu.
Parent topic: Configuring Packages
Parent topic: Work with Packages


Configuring Request Handlers

A request handler is software that receives a client request for access to the service, and translates the request into a form that the application providing the business functionality can understand. The following request handlers are provided with Enterprise Server :

  • MFRHSOAP – handles requests that use SOAP (Simple Object Access Protocol). These are requests for Web services. They are coded in XML.
  • MFRHBINP – handles binary requests made by the Micro Focus J2EE connector.
  • The Request Handlers Table
  • Configuring Handlers
Parent topic: Configuring Implementation Packages


The Request Handlers Table

You can see the information held in the repository for request handlers by clicking Details against Request Handlers in the table of servers on the Home page. The request handlers table is shown below.

Figure 1. Request Handlers Table
Request Handlers Table

The information is as follows:

  • Module name
  • Module path
  • Current status
  • Status log – this supplies information about the most recent event that occurred on this request handler
  • Custom configuration data - this field is not used
  • Description
Parent topic: Configuring Request Handlers


Configuring Handlers

If you have Modify permission level or higher you can:

  • Edit the attributes of a request handler
  • Change the status of a request handler between available and unavailable
  • Associate a request handler with a service
  • Disassociate a request handler from a service

If you have Add/Delete permission level or higher you can also:

  • Add a request handler to an Enterprise Server instance
  • Delete a request handler. You cannot delete MFRHBINP
  • To Add a Request Handler to an Enterprise Server Instance
  • To Edit a Request Handler
  • To Associate a Request Handler with a Service
  • To Disassociate a Request Handler from a Service
  • To Delete a Request Handler
  • To View Request Handlers for an Enterprise Server Instance
Parent topic: Configuring Request Handlers


To Add a Request Handler to an Enterprise Server Instance

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details against Handlers in the Objects column for the server you want to add the request handler to.
  3. Click Add.
  4. Specify a name for the request handler in Module Name.
  5. Specify a full pathname for the request handler in Module Path.
  6. Choose a status from the list in Status.
  7. Ignore Configuration Information; this field is not used.
  8. Specify a text description of the request handler in Description (optional).
  9. Click Add.
Note:

You can also reach the Add Handler page by clicking Edit to the left of the server to which you want to add the handler, clicking the Handlers tab and clicking Add.

Parent topic: Configuring Handlers
Parent topic: Work with Request Handlers


To Edit a Request Handler

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details against Handlers in the Objects column for the server that owns the request handler you want to edit.
  3. Click Edit to the left of the row containing the request handler that you want to edit.
  4. Update the attributes of the request handler as required.
  5. Click OK.
Note:

Any changes that you make only affect the request handler object that the current server owns. Request handler objects of the same name in other enterprise servers are unaffected.

Parent topic: Configuring Handlers
Parent topic: Work with Request Handlers


To Associate a Request Handler with a Service

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button.
  2. Click Details against Handlers in the Objects column for the server that owns the service with which you want to associate the request handler.
  3. Click Edit to the left of the row containing the service that you want to associate the request handler with.
  4. In Available Request Handlers click the request handler that you want to associate with the service.
  5. Click Select Handler.
Note:

A service can have just one request handler associated with it.

Parent topic: Configuring Handlers
Parent topic: Work with Request Handlers


To Disassociate a Request Handler from a Service

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details against Handlers in the Objects column for the server that owns the service from which you want to disassociate the request handler.
  3. Click Edit to the left of the row containing the service from which you want to disassociate the request handler.
  4. In Available Request Handlers click the request handler that you want to replace the currently associated request handler.
  5. Click Select Handler.
Note:

A service can have just one request handler associated with it.

Parent topic: Configuring Handlers
Parent topic: Work with Request Handlers


To Delete a Request Handler

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details against Handlers in the Objects column for the server that owns the handler you want to delete.
  3. Click Edit to the left of the row containing the request handler that you want to delete.
  4. Click Delete.
  5. Click OK on the confirmation page.
Note: You cannot delete a request handler if it is associated with any service. You cannot delete the MFRHBINP request handler.
Parent topic: Configuring Handlers
Parent topic: Work with Request Handlers


To View Request Handlers for an Enterprise Server Instance

  1. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button
  2. Click Details against Handlers in the Objects column for the server for which you want to view request handlers.
Parent topic: Configuring Handlers
Parent topic: Work with Request Handlers


Deploying Interfaces Generated by the Interface Mapping Toolkit

Before you can run a service interface that has been generated using the Interface Mapping Toolkit, it needs to be deployed to an enterprise server. The service interface comprises the mapping information and might include the COBOL program and any required data.

During development the developer usually deploys the interface automatically using the Deploy tool in the Interface Mapping Toolkit. Once it is ready for use in a production environment however, you should deploy it using the .car file that was produced when the Deploy tool was run for the last time.

  • About IMTK Deployment
Parent topic: Deploying and Configuring Modernized Applications


About IMTK Deployment

After a COBOL program has been mapped using the Interface Mapping Toolkit, it needs to be deployed to an Enterprise Server instance. During the development process the developer deploys the interface using the Deploy tool, which is part of the Toolkit. This tool not only automatically deploys the interface to an Enterprise Server instance, it also packages all the files required to deploy a service to a COBOL archive file (.car file). Typically, once the service is ready to be run in a production environment, deployment becomes your responsibility. You deploy the interface from the .car file created when the Deploy tool was last used.

If the service has been mapped as an EJB interface, there are some extra tasks to perform:

  • Deploy the EJB to a J2EE application server
  • Deploy a resource adapter
  • Deploying the .car Fle Using mfdepinst
  • Deploying the .car File Manually
Parent topic: Deploying Interfaces Generated by the Interface Mapping Toolkit


Deploying the .car Fle Using mfdepinst

The mfdepinst command handles the server-side part of the process of deploying a service to enterprise server. The tool installs the services contained in a .car onto the enterprise server. It is the equivalent of unpacking the .car file manually and adding the files using Enterprise Server Administration.

The mfdepinst command extracts the files (.int, .idt, and so on) from the .car file, updates the Directory Service directory for the new services and packages, and if the enterprise server is running tells it about the new services so they are available for use.

  • mfdepinst
    Installs the services contained in a COBOL archive file (.car file) onto the enterprise server.
Parent topic: About IMTK Deployment


mfdepinst

Syntax:

mfdepinst myservice.car

Parameters:

myservice.car The name of the .car file containing the service to be deployed

Dependencies:

mfdepinst must be in the same directory as the .car file.

There must be a .mfdeploy file in the parent directory. So, for example, if the .car file is in $COBDIR/deploy/test, there must be a .mfdeploy file in $COBDIR/deploy (which is the installation default deployment directory).

Comments:

mfdepinst extracts files from the .car file into the current directory. It extracts files with relative pathnames into subdirectories, which it creates as necessary. Files without paths or with absolute pathnames are extracted into the current directory. mfdepinst overwrites any files in the current directory with those in the .car file.

mfdepinst records its progress in the file deploylog.txt in the current directory, overwriting any existing deploylog.txt. After mfdepinst completes, you can examine this file to find out if deployment succeeded.

Example:

To install the services from /tmp/myservice.car:

cd $COBDIR/deploy
    mkdir myservice
    cd myservice
    cp /tmp/myservice.car .
    mfdepinst myservice.car
    cat deploylog.txt
Parent topic: Deploying the .car Fle Using mfdepinst
Parent topic: Administration and Configuration Commands


Deploying the .car File Manually

You can also deploy manually by unpacking the files in the COBOL archive file .car for your service and adding these to enterprise server using Enterprise Server Administration. The .car file is created when you deploy your service interface.

The .car file is in your deployment folder myservice myservice.deploy. The significant files in the COBOL archive are:

  • The interface definition table (IDT). For example myservice.idt.
  • The implementation package. For example myprogram.int and myprogram.idy
  • The data required. For example mydata.idx and mydata.dat
  • The manifest file manifest.mf, which controls the deployment process.

To deploy the service interface manually, you use Enterprise Server Administration to:

  1. Add the implementation package. Among other things, you specify the path and name of the IDT, the executable file and the data files.
  2. Add the service. Among other things, you specify the listener to use on this service, and the implementation package that is to provide the service functionality.
  • To Manually Deploy a Service Interface
Parent topic: About IMTK Deployment


To Manually Deploy a Service Interface

  1. Unzip the COBOL archive file for the service interface, using a utility such as Winzip. This archive file is called myservice.car and is in your deployment folder myservice/Repos/myservice.deploy
  2. Start Enterprise Server Administration.
  3. Add the implementation package of the COBOL service being deployed. Among other things, you specify the path and name of the IDT, the executable file and the data files.
  4. Add the COBOL service. Among other things, you specify the listener to use on this service, and the implementation package that is to provide the service functionality.
Parent topic: Deploying the .car File Manually
Parent topic: Deploy Interfaces
Related concepts
To Add a Service to an Enterprise Server Instance
To Add a Package to an Enterprise Server Instance


Deploying EJBs and Resource Adapters

An EJB running a COBOL service runs in two places: the COBOL service runs under an enterprise server, and the EJB and client run under a third party J2EE application server, such as WebSphere or WebLogic.

Resource adapters enable EJBs deployed on J2EE to communicate with COBOL on an enterprise server. Resource adapters are also known loosely as J2EE connectors

  • Enterprise Server Acting as a Resource Manager
  • Deploying EJBs Overview
  • Resource Adapters Supplied by Micro Focus
  • Deployment Descriptors that Are Required
  • CustomRecord and the RuntimeProperties Support
  • Third Party Application Server Deployment
  • Troubleshooting
Parent topic: Deploying and Configuring Modernized Applications


Enterprise Server Acting as a Resource Manager

J2EE clients run in a J2EE application server such as IBM WebSphere or BEA WebLogic. When a service is processing requests from a J2EE client, the J2EE application server can be a transaction manager coordinating updates to all the resources involved in a transaction. In this situation, the Enterprise Server instance behaves like a resource manager and responds to commit and rollback requests from the J2EE application server, whether the COBOL service is container-managed or application-managed.

Parent topic: Deploying EJBs and Resource Adapters


Deploying EJBs Overview

An EJB running a COBOL service runs in two places: the COBOL service runs under an enterprise server, and the EJB and client run under a third party J2EE application server, such as WebSphere or WebLogic.

You deploy the COBOL service from the .car file.

You deploy the EJB and client by deploying the following to a J2EE application server:

  • The enterprise archive file myservice.ear. This file is created automatically when you generate a Java client. The file contains the:
    • EJB archive file myservice.jar. This file is created when you generate a client and also when you use the Deploy tool to deploy the service interface.
    • Client archive file myservice.war. This file is created when you generate a client.

    If you haven't generated an .ear file, but have only the .jar file, you might be able to deploy the .jar file instead. Your J2EE application might require you to package the .jar file into an .ear before deploying it, or you might find it simpler to do that.

  • One of the supplied resource adapters, mfcobol*.rar. A resource adapter enables the EJB to communicate through its J2EE application server with an enterprise server. Resource adapters are also known as J2EE connectors and they are packaged in resource archive (.rar) files.

Many J2EE application servers are supported, such as BEA WebLogic and IBM WebSphere. Each application server has different deployment requirements and different utilities to help.

  • Deploying EJBs
  • To Add Micro Focus Support for EJBs
  • To Create an .ear File for your EJB
  • To Deploy to WebLogic
  • To Deploy to WebSphere
  • To Deploy to JBoss
  • To deploy to Oracle Application Server
Parent topic: Deploying EJBs and Resource Adapters


Deploying EJBs

Deploying EJBs involves configuring them in the third party application server on the J2EE machine, so that the EJBs, resource adapter and Enterprise Server can locate each other.

When you deploy an EJB you use the interface for your third-party application server. Many application servers provide a Web-based interface, such as the WebLogic Server Console, which takes you step by step through the deployment process. Most third-party application servers require the EJB to be packaged in an application .ear file, together with the client and all the necesssary deployment descriptors and other files.

If you don't have an application .ear file, you can often use your application server's administration interface to create one, or you can use the jar command.

Parent topic: Deploying EJBs Overview


To Add Micro Focus Support for EJBs

  1. Locate the file mfejblib.jar, which contains the Micro Focus support for EJBs.

    Specific versions of this file are supplied for each supported application server and J2EE version. They are available in subdirectories under bin in your COBOL system installation or the CD or DVD. They are in the following the application server subdiectories:

    • j2ee14/beaweblogic9
    • j2ee14/ibmwebsphere6
    • j2ee14/ibmwebsphere61
    • j2ee14/jboss4
    • javaee5/ibmwebsphere7
  2. Copy mfejblib.jar to the root directory of your enterprise archive file (.ear). By default, the mfejblib.jar belongs in the root because the classpath is set to this in the EJB's manifest.mf file.

    If you copy mfejblib.jar to a different directory, you need to change the classpath in the manifest.mf file in the EJB's .jar file, which is in myproject/Repos/myservice.deploy

  3. Add the mfejblib.jar file to the archive file that you want to deploy.

    For most application servers, you can do this using their administrative tools. Alternatively, you can use a jar command similar to the following:

    jar -uvf myApplication .ear mfejblib.jar

Parent topic: Deploying EJBs Overview
Parent topic: Deploy Interfaces


To Create an .ear File for your EJB

If you have generated a client and EJB together, they are automatically packaged into an enterprise archive file (.ear) and you do not need to do this. Otherwise:

  1. Package the EJB's .jar file into an .ear for your application. To do this use a jar command similar to the following:

    jar -cvf myApplication .ear myService.jar

    If you have a client .war file you can add that to the .ear file in the same way.

  2. Create a deployment descriptor application.xml either using your application server's tools or by copying and editing a sample, as follows:
    1. Locate a sample .ear, which is in examples directory in mapdemo/mapdemo/repos/myService.deploy/JMapServ-WL.ear
    2. Extract the descriptor application.xml from the .ear file, using the following jar command:
      jar -xvf JMapServ-WL.ear META-INF/application.xml
    3. Make a copy of the application.xml descriptor and edit it, replacing JMapServ with the name of your .jar file. You can also add the name of your .war file if you added that to the .ear file.
    4. Put the descriptor in the meta-inf subdirectory of the directory containing your .ear file.
    5. Package the descriptor into your .ear file using a jar command similar to:
      jar -uvf myService.ear META-INF/application.xml
Parent topic: Deploying EJBs Overview
Parent topic: Deploy Interfaces


To Deploy to WebLogic

  1. If you have not set up a WebLogic server domain, set one up using the WebLogic Domain Configuration Wizard, following the instructions in the wizard. You can start the wizard from the Start menu.
  2. If your COBOL system (either reUZE Developeror reUZE Server) is installed in a location that uses a spacey path, you need to copy the following files to a non-spacey location:
    • mfcobolpure.jar - This is by default in the bin directory of your COBOL system installation.
    • mfconnector.jar - This is by default in the bin\j2ee-version\appserver directory of your COBOL system installation . You need the jar file that corresponds to the WebLogic version that you are using, such as j2ee14\beaweblogic9
  3. Open the startup script for your project in a text editor. This startup script is StartWebLogic.cmd , and is located in your domain directory of your WebLogic installation.
  4. Go to the end of the file.
  5. Above the line @rem Call WebLogic Server , add the following lines:
    set java_home=jdk_path
set mf_home=mfcobolpure_path
set classpath=%java_home%\lib\tools.jar;
              %mf_home%\mfconnector_path\mfconnector.jar;
              %mf_home%\mfcobolpure.jar

    Where:

    • jdk_path is the location of the JDK installation to use for WebLogic.
    • mfcobolpure_path is the path containing mfcobolpure.jar.
    • mfconnector_path is the path containing the required mfconnector.jar. If you have copied this jar into the same directory as mfcobolpure.jar, you don't need to specify this path.
  6. Save the file.
  7. You can now run the startup script.

To start WebLogic

  1. Set up a WebLogic server domain and edit the startup script, if you have not already done so.
  2. Go to the Start menu for WebLogic and choose the domain and server that you specified in your startup script. This Start menu item runs the startup script.

    You cannot start WebLogic using Services in Windows Control Panel and you cannot configure it in Control Panel to start automatically when you reboot the machine.

To start WebLogic server console:

  1. Start WebLogic.
  2. Open a browser.
  3. Enter the URL, http://localhost:7001/console where 7001 is the default port for the server console.

To deploy a resource adapter to WebLogic

  1. Start WebLogic server and the WebLogic Server Console.
  2. In the left pane of WebLogic Server Console, expand your-domain >Deployments>Connectors
  3. Click Configure a new Connector Component and follow the steps on the page. When you are asked to upload the resource adapter file, upload the required mfcobol*.rar file.

    The resource adapter must be deployed on a machine where your COBOL system (either reUZE Developeror reUZE Server) is installed.

    You do not need to create a connection factory or specify the JNDI name of the resource adapter because these are already specified in the deployment descriptor for the connection factory, weblogic-ra.xml

  4. Confirm that the resource adapter has been successfully deployed, by examining the Deployment Activity table on the page on the right. The resource adapter should also be listed in the hierarchy on the left.

To deploy an EJB to WebLogic

  1. If you don't have a .ear file containing your EJB, package the EJB into an.ear file now. You will have an .ear file if you generated a client and EJB together, and it will be in myProject\repos\myservice.deploy
  2. Start WebLogic server and the WebLogic Server Console.
  3. Deploy the .ear file as follows:
    1. In the left pane expand mydomain >Control> myserver
    2. Click Configure a new Application on the right, and follow the steps on the page.
    3. Confirm that the application has been successfully deployed, by examining the Deployment Activity table on the page on the right. The application should also be listed in the hierarchy on the left

To stop WebLogic

  1. Start the WebLogic server console, if it is not already started.
  2. Navigate to your server in the left-hand pane. This will probably mean expanding: mydomain >Control> myserver
  3. Right-click your server.
  4. Click Start/Stop server and follow the instructions.

TheWebLogic Server Console will not be available until you restart the server.

Parent topic: Deploying EJBs Overview
Parent topic: Deploy Interfaces


To Deploy to WebSphere

To start WebSphere server:

Either start the server from the Start menu or:

  1. Run the startup script by entering the following command from the bin directory of your WebSphere installation:
    startserver myServer

To start WebSphere administrative console

  1. Start WebSphere server and WebSphere Administrative Console.
  2. In the left pane click ResourcesResource Adapters
  3. Click Install RAR on the page on the right, and follow the instructions on the screen.

    When you are asked for the resource adapter file, specify the required mfcobol*.rar file.

  4. The new resource adapter is now listed on the right. Click it to display its properties.
  5. Add a connection factory for the resource adapter. You might need to scroll to Additional Properties at the end and then click J2C Connection Factories. Then click New and follow the instructions on the screen to specify:
    • CCIMFCobol_v1.5 as the reference name for the connection factory
    • eis/MFCobol_v1.5 as the JNDI name for the connection factory
  6. Confirm that the new resource adapter is now listed on the right.
Note: The resource adapter must be deployed on a machine where your COBOL development system is installed.

To deploy an EJB to WebSphere

  1. If you don't have an .ear file containing your EJB, package the EJB into an .ear file now. You will have a. ear if you generated a client and EJB together, and it will be in myProject\repos\myservice.deploy
  2. Start WebSphere server and WebSphere Administrative Console.
  3. In the Administrative Console, click ApplicationsInstall New Application on the left
  4. Follow the instructions on the screen. Most of the information will default to information in the generated deployment descriptors and you do not need to change it. You will however need to specify the following:
    Path to ear file
    Specify the path to your .ear file
    Deploy EJBs
    Check this
    JNDI name of EJB
    Specify any name you like, but it must match the JNDI name that other components of your application use when they refer your EJB
    Map EJB ref to an enterprise bean
    Specify the same JNDI name that you specified above

To stop WebSphere server

Either stop the server from the Start menu or:

  • Run the stop script by entering the following command from the bin directory of your WebSphere installation:
    stopserver myserver
Parent topic: Deploying EJBs Overview
Parent topic: Deploy Interfaces


To Deploy to JBoss

Installing JBoss Application Server

You can download JBoss Application Server from http://www.jboss.com, and install it from there.

To open JBoss Application Server:

  • Enter the URL http://localhost:8080 in your Web browser, where 8080 is the default port.

Administering JBoss Application Server

JBoss Application Server provides a Web interface for administering the application server. This administration interface is called the JBoss console. To start the console:

  • Enter http://localhost:8080/jmx-console/ in your Web browser, where 8080 is the default port.

Setting up JBoss Application Server

The JBoss Application Server provides deployment descriptors. The deployment descriptors require some changes before generating EJBs. These changes are described below, in which JBOSS_HOME is the top-level directory of your JBoss installation, and default is the location of the default server configuration in your JBoss installation.

For JBoss 4.2.3, change the following:

  • In JBOSS_HOME\server\default\conf\jboss-service.xml set the following attribute to true:
    • CallByValue
  • In JBOSS_HOME\server.home\default\deploy\ear-deployer.xml change the following attributes:
    • Isolated - set to false
    • CallByValue - set to true
  • In JBOSS_HOME\server.home\default\deploy\jboss-web.deployer\META-INF\jboss-service.xml set the following attributes:
    • Java2ClassLoadingCompliance - to true
    • UseJBossWebLoader - to false

For JBoss 5.1.0, change the following:

  • In JBOSS_HOME\server\default\conf\jboss-service.xml set the following attribute to true:
    • CallByValue
  • In JBOSS_HOME\server\default\deployers\ear-deployer-jboss-beans.xml change the following attributes:
    • Isolated - set to false
    • CallByValue - set to true
  • In JBOSS_HOME\server\default\deployers\ejb-deployer-jboss-beans.xml set the following attribute to true:
    • CallByValue
  • In JBOSS_HOME\server\default\deployers\jboss-web.deployer\META-INF\war-deployers-jboss-beans.xml set the following attribute to true:
    • Java2ClassLoadingCompliance

Starting and Stopping JBoss Application Server

You can start and stop JBoss Application Server from the JBoss console or from the command line, as follows.

  • Run jboss_home/bin/run.bat to start it.
  • Run jboss_home\bin\shutdown.bat -S to stop it.

Deploying the Resource Adapter

Resource adapters, named mfcobol*.rar, are supplied together with JBoss-specific deployment descriptors for using the resource adapters with the JBoss Application Server. The descriptors have names corresponding to the resource adapters, as follows:

  • mfcobol-notx-ds.xml is the desciptor for the resource adapter mfcobol-notx.rar
  • mfcobol-localtx-ds.xml is for mfcobol-localtx.rar
  • mfcobol-xa-ds.xml is for mfcobol-xa.rar

To deploy a resource adapter:

  1. Copy the appropriate .rar file into your JBoss deployment directory, which is by default jboss_home\server\default\deploy
  2. Copy the corresponding deployment descriptor,*ds.xml , for the resource adapter into the same directory. For example, if you are deploying mfcobol-notx.rar, copy mfcobol-notx-ds.xml.

Deploying the Application .ear File

When you generate an application .ear file the JBoss Application Server requires that the .ear file contains deployment descriptors that specify deployment information about your application. When you use generate a client and EJB using the Interface Mapping Toolkit, these deployment descriptors are automatically created and packaged into the .ear.

To deploy your application .ear file:

  1. Copy the application .ear file from the directory my-project\repos\my-service.deploy\my-service.ear into your JBoss deployment directory which is, by default, jboss_home\server\default\deploy

Logging

JBoss stores log files and traces by default in jboss_home\server\default\log\server.log

Configuring a JDBC Data Source for XA Transactions

If the application being deployed connects to a third party database, you will need to configure a JDBC data source and specify information such as the JNDI name of the data source. For an Oracle database, you edit the Oracle-supplied deployment descriptor oracle-xa-ds.xml. For full details see the JBoss administration documentation on configuring JDBC data sources.

Further Information

For further information, see the Release Notes for your JBoss Application Server installation and the JBoss Web site.

Parent topic: Deploying EJBs Overview
Parent topic: Deploy Interfaces


To deploy to Oracle Application Server

This topic describes how to deploy an application developed using the Interface Mapping Toolkit to Oracle Application Server.

Introduction

To run an application on Oracle Application Server you need to:

  • Have Oracle Application Server installed.
  • Deploy one of the Micro Focus resource adapters, which are supplied, together with default deployment descriptors.
  • Deploy the application .ear file. You can generate this automatically when you generate a client for your EJB using the Interface Mapping Toolkit. Default deployment descriptors are also generated and packaged in the .ear file when you generate a client.

You can deploy using the Web-based administration console, called Enterprise Manager, or you can deploy using the command line tool dcmctl.

When you deploy an application .ear file or a resource adapter, you deploy it to an instance of Oracle Application Server Containers for J2EE (OC4J). An OC4J instance called Home is created by default when you install Oracle Application Server.

Installing and Starting Oracle Application Server

You can install Oracle Application Server by downloading it from http://www.oracle.com

To open Oracle Application Server, enter the URL http://localhost:7777 in your browser.

To start the administration console, Enterprise Manager, enter the URL http://localhost:1810 in your browser.

The default ports are:

7777: | HTTP port
4443: | HTTPS port
1810: | Enterprise Manager port

Resource Adapters

The following resource adapters are supplied for Oracle Application Server:

  • mfcobol-notx-ora.rar - does not support transactions
  • mfcobol-localtx-ora.rar - supports local transactions
  • mfcobol-xa-ora.rar - supports XA transactions

For the location and details of the resource adapters, see the section Resource Adapters in the chapter Deploying Interfaces in your Configuration and Administration Guide

Deployment Descriptors

Oracle Application Server requires that deployment information is supplied in deployment descriptors. For background, see the section Deployment Descriptors in the chapter Mapping a Java Interface and Using Resource Adapters in your Java and COBOL book.

For background on deployment descriptors, see the chapter Mapping a Java Interface and Using Resource Adapters in your Java and COBOL book.

Default deployment descriptors for your application are automatically generated when you generate a client for the EJB. They are packaged in the archive files (.ear .jar .war) and are named orion-*.xml

A default deployment descriptor for the resource adaptors is included in the supplied .rar archive files. This deployment descriptor,oc4j-ra.xml contains configurations for deploying resource adapters to OC4J. It includes:

  • EIS connection information that matches the information specified in the deployment descriptor of the resource adapter
  • JNDI name to be used
  • Connection pooling parameters
  • Resource principal mapping mechanism and configurations

You might need to modify oc4j-ra.xml. For example, you might need to change the server host from localhost to the name of the machine on which your enterprise server is running. To modify this file, extract it from the required .rar file, and reinstate it there after editing.

Note: Do not change the connector-factory location, which must remain set to: eisMFCobol_v1.0

Deploying Using the Command Line

You can use the command line tool dcmctl to deploy a resource adapter or your application .ear file, and for other administration tasks. For full details of all the commands and their syntax, see the Oracle documentation. The following commands are a few simple examples.

To start Oracle Application Server, go to the Start menu and select your Oracle Application Server.

To deploy the resource adapter mfcobol-notx-ora.rar, use a command such as:

dcmctl deployApplication -f d:\product name X.X\base\bin\mfcobol-notx-ora.rar -a mfcobol-notx-ora

To deploy the application myapplication.ear, use a command such as:

dcmctl deployApplication -f d:\myproject\repos\myapplication.ear -a myapplication

Setting Up Logging

To switch on logging, use Enterprise Manager. Go to the Command Line Options and specify the following options:

In this field: | Enter:
OC4J Options | -properties -out oc4j.out -err oc4j.err
Java Options | -Dhttp.session.debug=true -Dtransaction.debug=true

Further Information

For further information, see the Release Notes for your Oracle Application Server installation and the OC4J Connectors FAQ on the Oracle Web site.

Parent topic: Deploying EJBs Overview
EJBs and Resource Adapters
To add support for Micro Focus resource adapters
To deploy a Micro Focus resource adapter to a J2EE application server


Resource Adapters Supplied by Micro Focus

The Micro Focus resource adapters enable EJBs deployed on J2EE to communicate with COBOL on an enterprise server. Resource adapters are also known loosely as J2EE connectors.

Before an EJB can communicate with the COBOL code running on an enterprise server, you need to:

  • Deploy a resource adapter to the J2EE application server. Only one resource adapter can be deployed at a time. This resource adapter then handles all the binary requests being sent to the enterprise server.

    You must deploy a resource adapter appropriate to your application server and the J2EE version it uses. The following resource adapters are supplied for each supported application server and J2EE version:

    • mfcobol-notx.rar - does not support transactions
    • mfcobol-localtx.rar - supports local transactions
    • mfcobol-xa.rar - supports XA transactions
  • Ensure that support for the resource adapter is available, by adding the archive files mfcobolpure.jar and mfconnector.jar to your classpath environment variable. Again, you must add support for the resource adapter appropriate to your application server and the J2EE version it uses.

The information needed to deploy the resource adapters is set up in deployment descriptors.

  • To Add Support for Micro Focus Resource Adapters
  • To Deploy a Micro Focus Resource Adapter to a J2EE Application Server
Parent topic: Deploying EJBs and Resource Adapters
Related information
To add support for Micro Focus resource adapters
To deploy a Micro Focus resource adapter to a J2EE application server
Deployment Descriptors that Are Required


To Add Support for Micro Focus Resource Adapters

  1. Edit the classpath to point to the archive files mfcobolpure.jar and mfconnector.jar, which contain the classes that support for the Micro Focus resource adapters.

    To do this, use the command:

    set classpath=base/bin/mfcobolpure.jar;jar_path/mfconnector.jar;%classpath%

    where jar_path is the path to the archive files appropriate to your application server.

    Specific versions of these files are supplied for each supported application server and J2EE version. They are available in the application server subdirectories under bin in your COBOL system installation or on the CD or DVD, as follows:

    • j2ee14/beaweblogic9
    • j2ee14/ibmwebsphere6
    • j2ee14/ibmwebsphere61
    • j2ee14/jboss4
    • javaee5/ibmwebsphere7
Parent topic: Resource Adapters Supplied by Micro Focus
Parent topic: Deploy Interfaces


To Deploy a Micro Focus Resource Adapter to a J2EE Application Server

  1. Start your J2EE application server and its administration console, and navigate to where you add resource adapters.

    The resource adapter must be deployed on a machine where a COBOL system such as reUZE Server or reUZE Developer is installed.

  2. Specify the resource adapter to deploy. These can be one of the following:
    • mfcobol-notx.rar - does not support transactions
    • mfcobol-localtx.rar - supports local transactions
    • mfcobol-xa.rar - supports XA transactions

    Specific versions of these files are supplied for each supported application server and J2EE version. They are available in the application server subdirectories under $COBDIR/lib in your COBOL development system, as follows:

    • j2ee13/beaweblogic8
    • j2ee13/oracle1012
    • j2ee14/beaweblogic9
    • j2ee14/ibmwebsphere6
    • j2ee14/ibmwebsphere61
    • j2ee14/jboss4
    • j2ee14/oracle1013
    • javaee5/ibmwebsphere7
  3. Ensure that the support for the resource adapters and ensure it is on your path and classpath environment variables.
  4. You might need to provide the application server with a deployment descriptor for the resource adapter. Deployment descriptors are supplied for the following application servers:
    • JBoss - mfcobol*ds.xml, which are supplied in the folder with the .rar files
    • Oracle - oc4j-ra.xml, which is packaged in each .rar file
    • WebLogic - weblogic-ra.xml, which is packaged in each .rar file
    • WebSphere - does not require deployment descriptors

    Among other things, the deployment descriptors specify the following connection information, and you must not change this.

    Note: The JNDI name and the reference name that you enter both depend upon your J2EE version.
    JNDI name | Reference name
    J2EE 1.3 | eis\MFCobol_v1.0 | CCIMFCobol_v1.0
    J2EE 1.4 | eis\MFCobol_v1.5 | CCIMFCobol_v1.5
    Java EE 5 | eis\MFCobol_v1.5 | CCIMFCobol_v1.5
    Note: The resource adapter must be deployed on a machine where either Micro Focus Server or your COBOL development system is installed.
Parent topic: Resource Adapters Supplied by Micro Focus
Parent topic: Deploy Interfaces


Deployment Descriptors that Are Required

Deployment descriptors are xml files that describe the component to be deployed. J2EE application servers require deployment descriptors for the archive files (.jar, .war and .ear) to be deployed. At run time, the application server reads the descriptors and acts accordingly.

When you generate an EJB or client using the COBOL development system reUZE Developer, generic deployment descriptors are created and they are packaged into the relevant archive files. Some J2EE application servers require additional deployment descriptors and these are generated automatically for the supported application servers.

If your application server requires additional deployment descriptors and these are not generated, you need to create them manually and add them to the archive files. In many cases, you can create deployment descriptors using the administration console for your application server. Alternatively you can edit them in a text editor.

For example, the deployment descriptor weblogic-ra.xml, which is in the archive file mfcobol-notx.rar, contains the following lines:

<connection-factory-name>CCIMFCobol_ver</connection-factory-name>
<jndi-name>eis/MFCobol_ver</jndi-name>

Where ver is v1.5 for j2ee14

  • To Create Deployment Descriptors Manually
Parent topic: Deploying EJBs and Resource Adapters
To create deployment descriptors manually


To Create Deployment Descriptors Manually

You can create deployment descriptors using the administration tool provided by your J2EE application server. You need to specify the following information in the deployment descriptor:

  • The JNDI name of the EJB. This can be any name you like, but it must match the JNDI name that other components of your application use when they refer your EJB.
  • The JNDI name and resource reference name of the Micro Focus resource adapter.

    Among other things, the deployment descriptors specify the following connection information, and you must not change this.

    Note: The JNDI name and the reference name that you enter both depend upon your J2EE version.
    JNDI name | Reference name
    J2EE 1.3 | eis\MFCobol_v1.0 | CCIMFCobol_v1.0
    J2EE 1.4 | eis\MFCobol_v1.5 | CCIMFCobol_v1.5
    Java EE 5 | eis\MFCobol_v1.5 | CCIMFCobol_v1.5

Note that deployment descriptors are automatically created for the supported application servers that are listed in Servers > Settings on the EJB Generation tab in the Application server field.

Parent topic: Deployment Descriptors that Are Required
Parent topic: Deploy Interfaces
Related information
EJBs and Resource Adapters
Java Development Kit (JDK)


CustomRecord and the RuntimeProperties Support

Support for the CustomRecord and the RuntimeProperties interfaces is provided in mfejblib.jar for EJBs and in mfj2se.jar for J2SE Java beans.

For J2SE Java beans, you need to make sure that the mfj2se.jar is available to the Java run-time system and is on the Java classpath.

For EJBs, this support is automatically included in the application .ear file when you generate a client for the EJB. If you create a client manually, you need to add the mfejblib.jar to your .ear file, manually. Specific versions of this file are supplied for each supported application server and J2EE version.

Parent topic: Deploying EJBs and Resource Adapters


Third Party Application Server Deployment

Several third party application servers are supported for use during development and in production. For example WebSphere and WebLogic.

Most third party application servers come with a Web-based administration console, which you use to deploy EJB and resource adapters. These take you step by step through deployment and provide information online.

When you have changed the modules deployed on the server, we recommend that you stop and restart the server.

Parent topic: Deploying EJBs and Resource Adapters
Related information
To deploy a Micro Focus resource adapter to a J2EE application server
To add support for Micro Focus resource adapters
To create deployment descriptors manually
To create an .ear file for your EJB
To deploy to WebLogic
To deploy to WebSphere
To deploy to JBoss


Troubleshooting

If your deployed EJB does not work, check the following things:

  • Have you stopped and restarted the application server? Sometimes this is required to pick up changes to deployments and configuration. Whenever you reboot the WebLogic machine, you also need to restart the WebLogic server from the Start menu.
  • Is the enterprise server you require running?
  • Are the required services deployed to the enterprise server? Were they deployed successfully? You can check this by looking in the Enterprise Server Administration console, http://locahost:86, in deploy\...\deploylog.txt and also in workarea\myes\console.log , in the installation directory of your COBOL development system where myes is your enterprise server name, such as ESDEMO.
  • Was any information written to the resource adapter log file cobcon.log? This log file is located in the directory defined in your Java system's user.home property. This directory equates by default to your user profile directory. If there wasn't any information written to the log file, the failure occurred before the resource adapter was invoked. The failure might lie in the application server setup. Notice that there are backup log files cobcon1.log and cobcon2.log.
  • Was any information written to the communications server log file log.html? See the section Communications Server Log Files in the Troubleshooting chapter.
  • When you generated your EJB using the Deploy tool, did you use the J2EE connector classes specific to your application server? For example, you must use WebLogic.jar for WebLogic EJB generation and j2ee.jar for WebSphere EJB generation. You specify these classes in the Classpath settings of the Deploy tool.
  • Is the JNDI name of the resource adapter set to eis/MFCobol_v1.0? Is this JNDI name mapped to the resource references of the EJB.
  • Is the JNDI name for each EJB the same wherever it is referred to? When you assign a JNDI name to an EJB, any client or other software that uses that EJB must use that same JNDI name.
  • Are the EJB and the resource adapter successfully deployed in your application server?
  • What failures are recorded in your application server's log files? All the supported application servers have a logs subdirectory.
  • Is the JNDI name of the resource adapter set to eisMFCobol_v1.0?
Parent topic: Deploying EJBs and Resource Adapters
Related information
Communications Process Log Files


Enterprise Server Task Index

  • Accessing the Enterprise Server Administration UI
  • Accessing the ESMAC User Interface
  • Administer a Server Using ESMAC
  • Configure the Directory Server
  • Deploy Interfaces
  • Log On and Off
  • Monitor Directory Server
  • Monitor and Manage Enterprise Server
  • Start and Stop the Directory Server
  • Work with Communication Processes and Service Listeners
  • Work with Packages
  • Work with Request Handlers
  • Work with Servers
  • Work with Services
  • Work with the Directory Server Repository
  • CICS Support Tasks
  • JCL Support Tasks
  • IMS Support Tasks
Parent topic: Enterprise Server


Accessing the ESMAC User Interface

You use the Enterprise Server Monitoring and Control (ESMAC) user interface to monitor and control the Enterprise Server instances that your installation is running. From the ESMAC user interface, you can monitor and control all aspects of each Enterprise Server instance.
  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details..

    The Details screen for the server is displayed.

  4. On the Details screen, click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

Parent topic: Enterprise Server Task Index


Administer a Server Using ESMAC

  • To Change the Trace Dataset
  • To Configure Dumps
  • To Create an ESMAC User
  • To initiate a system dump
  • To stop or kill a SEP
  • To Monitor Services
  • To Record Service Input and Output
  • To Reply to an ACCEPT FROM CONSOLE Statement
  • To Shut Down a Server from ESMAC
  • To specify what information is traced
  • To Start ESMAC for an Enterprise Server instance
  • To Transfer the In-memory Trace Data to the Auxiliary Dataset at Rollover
  • To View a Dump
  • To View a Local Trace for a Client Process
  • To View a Local Trace for a SEP
  • To View a System Trace
Parent topic: Enterprise Server Task Index


To Create an ESMAC User

Note: This procedure is supported for backward compatibility only.

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To create an ESMAC user:

  1. Click Users.

    The Users page is displayed

  2. Click New.

    The CICS SNT page is displayed.

  3. In the field Name, enter the name to be used by this user when logging in.
  4. Optionally, you can enter a short description for the user; enter it in the field Description.
  5. In the field Password, enter a password for the user.
  6. In the field Repeat PW, re-enter the password. This ensures that you type the password correctly.
  7. If you want the password always to be entered in upper case, check Upper case.
  8. In the field Operator ID, enter an operator ID for this user. This is optional.
  9. In the field Timeout, enter a timeout period, in minutes, for this user. This is optional.

    If the user does not interact with ESMAC for more minutes than defined in this field, security permissions revert to the default permissions.

  10. To set what aspects of a server and its definitions a user can change:
    1. Check Yes in the Definition Access group
    2. Click on the required dropdown, and select one of:
      • No - the user cannot read or update the selected definition
      • Upd - the user can read and update the selected definition
      • Rd - the user can read the selected definition

    By default, the user cannot read or update definitions; that is, the Definition Access, Yes check box is unchecked, and all definitions are set to No.

    If you set the definitions to Rd or Upd, these only have an effect if the Definition Access, Yes check box is checked.

    To set all definitions to No, Upd or Rd, click the all dropdown and select No, Rd or Upd, respectively.

  11. Click Add.

    The user is added to the list of users. The CICS SNT page is redisplayed, enabling you to change any details for this user.

Note:

You can ignore the controls Group prefix, Oper Class, and those for resource keys, security keys, and surrogate security keys.

Parent topic: Administer a Server Using ESMAC
Related information
To start ESMAC for a server
To monitor services
To configure dumps
To view a dump
To initiate a system dump
To specify what information is traced
To change the trace dataset
To transfer the in-memory trace data to the auxiliary dataset at rollover
To view a system trace
To record service input and output
To view a local trace for a SEP
To view a local trace for a client process
To kill a SEP
To reply to an ACCEPT FROM CONSOLE statement
To shut down a server


To stop or kill a SEP

You can stop or kill a service execution process (SEP).

If you stop a SEP it will stop when the SEP has completed the current task. Stopping a SEP is most useful if an associated JCL is looping, or if it is a SEP with a debugger attached.

Killing stops the SEP when it is currently running a task. If the task terminates prior to the kill process being initiated, ESMAC returns a message explaining that the target task was no longer active.

Note: After stopping a process, Enterprise Server will automatically replace the SEP to keep the configured number of SEPs - unless it is a debug SEP or a SEP that was started from the command prompt. In these cases it will stop the SEP but not replace it.

To start ESMAC:

  1. Access the Enterprise Server Administration screen for your installation.
  2. In the table of Enterprise Server instances, check that the server you want has started, and if not, start it.
  3. In the Status column of the Enterprise Server instance to monitor, click Details.

    The Details screen for the server is displayed.

  4. On the Details screen, select the Server > Control tab, then click ES Monitor & Control.

    The Enterprise Server Monitoring and Control (ESMAC) screen is displayed.

To stop or kill a SEP

  1. Click SEPs in the menu.
  2. Click Stop next to the SEP.

To kill a SEP

  1. Click SEPs in the menu.
  2. Click Kill next to the SEP.
Parent topic: Administer a Server Using ESMAC
Related information
To shut down a server
To view a local trace for a SEP


Configure the Directory Server

  • To Configure the MF Directory Server
  • To Run casperm
Parent topic: Enterprise Server Task Index


To Configure the MF Directory Server

  1. Click Configure > Options on the menu on the left-hand side of any Enterprise Server Administration Web page.
  2. Update the attributes of the Directory Server as required.
  3. Click OK.
Note:

If you check Restricted under User Access, as soon as you click Apply you will be asked for a valid user ID and password with at least Administrator permission level, which you must provide to continue working.

Parent topic: Configure the Directory Server


To Run casperm

  1. Log in as root
  2. Enter:
    casperm

    You see a message asking you to ensure you have the alphanumeric user ID of the Enterprise Server System Administrator to hand. This becomes the Process User ID.

  3. Press Enter. You see the message:
    Do you want error/warning messages to be displayed via the syslog daemon (y/n)?

    The console messages are always directed to the file console.log. Responding Y to this prompt will also direct them to the syslog daemon as Info type messages

  4. Enter Y or N. You see the message:
    Enter the alphanumeric user ID of the Enterprise Server System Administrator

    This is the user id which will be the owner of all Enterprise Server processes with the exception of the Directory Server, which must run as root. It is known as the Process User ID. When an enterprise server is started from the Administration Server Administration it will run under this user ID. Since all the server's processes will run with this user's authority this has implications for file creation and access. The Directory Server has to run as root because the Directory Server process (Enterprise Server Administration) uses port 86. This port is only accessible to processes running with root authority.

  5. Enter the Process User ID. You see the message:
    Enter the directory where you want the Enterprise Server
 run-time system files to reside. Please enter the absolute path.
 Do not use environment variables. Press return to use /var/mfcobol/es

    You should take the default unless you have a good reason not to.

    The directory given here will be the root for the working directory for all enterprise servers run in this installation. A new directory will be created for each server the first time it is run and a number of files will be created in this location including the console.log file and diagnostics files. It is imperative that the Process User ID has create and write permissions in this directory.

  6. Press Enter to accept the default or enter the directory you want to use. You see the message:
    Setting file permissions. Please wait...

    Then the command terminates.

Parent topic: Configure the Directory Server


Deploy Interfaces

  • To Deploy to WebSphere
  • To Deploy to WebLogic
  • To Deploy to JBoss
  • To Manually Deploy a Service Interface
  • To Create Deployment Descriptors Manually
  • To Create an .ear File for your EJB
  • To Add Micro Focus Support for EJBs
  • To Add Support for Micro Focus Resource Adapters
  • To Deploy a Micro Focus Resource Adapter to a J2EE Application Server
Parent topic: Enterprise Server Task Index


Log On and Off

  • To Log On to Enterprise Server Administration
  • To Log Off from Enterprise Server Administration
Parent topic: Enterprise Server Task Index


Monitor Directory Server

  • To View the Sessions List
  • To View the Journal
  • To View and Use Remote Directory Server Instances
  • To View Directory Server Statistics
  • To Export the Journal as a Text File
  • To Delete Journal Entries
  • To Configure Run-time Core Dumps
Parent topic: Enterprise Server Task Index


Monitor and Manage Enterprise Server

  • To View Server Instances and Properties in Operations Manager
  • To import Server Management Packs into Operations Manager
  • To Use Performance Counters
  • To Enable Performance Counters
  • To Use Windows Event Logging
  • To Enable Windows Event Logging
Parent topic: Enterprise Server Task Index


Start and Stop the Directory Server

  • To Start the Directory Server
  • To Start the Directory Server from the Command Line
  • To Stop the Directory Server
  • To Stop the Directory Server Not Running as a Service
Parent topic: Enterprise Server Task Index


Work with Communication Processes and Service Listeners

  • To Add a Service Listener to an Enterprise Server Instance
  • To Associate a Listener with a Service
  • To Start a Communications Process
  • To Stop a Communications Process
  • To Copy a Communications Process
  • To Edit a Communications Process
  • To Delete a Communications Process
  • To Start a Listener
  • To Stop a Listener
  • To Edit a Listener
  • To Disassociate a Listener from a Service
  • To delete a listener
  • To View Communications Processes and Listeners for an Enterprise Server Instance
  • To View Statistics for a Communications Process
Parent topic: Enterprise Server Task Index


Work with Packages

  • To Add a Package to an Enterprise Server Instance
  • To Edit a Package
  • To Associate a Package with a Service
  • To Disassociate a Package from a Service
  • To View Packages for an Enterprise Server Instance
  • To Delete a Package
  • To Delete Old Deployed Package Files
Parent topic: Enterprise Server Task Index


Work with Request Handlers

  • To Add a Request Handler to an Enterprise Server Instance
  • To Edit a Request Handler
  • To Associate a Request Handler with a Service
  • To Disassociate a Request Handler from a Service
  • To View Request Handlers for an Enterprise Server Instance
  • To Delete a Request Handler
Parent topic: Enterprise Server Task Index


Work with Servers

  • To Add an Enterprise Server Instance
  • To Add an XA Resource to an Enterprise Server Instance
  • To Change the Number of ES licenses
  • To Change the Number of SEPs
  • To Change the System Directory
  • To Copy an Enterprise Server Instance
  • To Create and View a Diagnostic Dump for an Enterprise Server Instance
  • To Delete an Enterprise Server Instance
  • To Delete an XA Resource
  • To Delete a CCI Server
  • To Edit an Enterprise Server Instance
  • To Edit an XA Resource
  • To Enable Dynamic Debugging
  • To Enable or Disable an XA Resource
  • To Export Server Information
  • To start an enterprise server instance
  • To stop a server Instance
  • To View the Communications Console Log for an Enterprise Server Instance
  • To View the Console Log for an Enterprise Server Instance
  • To View the Control Page for an Enterprise Server Instance
Parent topic: Enterprise Server Task Index


To Create and View a Diagnostic Dump for an Enterprise Server Instance

  1. On the Home page click Edit to the left of the server whose console log you want to view.
  2. Click the Diagnostics tab.
  3. Click the Dump tab.
  4. Click Create Dump.

    The page is refreshed showing a table of dumps with one row for the dump you just created.

    Note:

    Create Dump is only available when the server is started.

  5. Click Show against the dump you just created. You briefly see a console window, then the dump file overwrites the contents of the Dump page.
  6. When you have finished viewing the dump, click Datasets to return to the Server > Diagnostics > Dump page.
Parent topic: Work with Servers


To Enable Dynamic Debugging

  1. In the table of servers on the Home page of Enterprise Server Administration, find the row for the server that you want to configure, and click Edit in the left hand column.
  2. In the Server > Properties > General section, select Allow Dynamic Debugging.
  3. Click OK to confirm your changes.
Note: You must restart the server for the changes to take effect.
Parent topic: Work with Servers


To View the Communications Console Log for an Enterprise Server Instance

  1. On the Enterprise Server Administration Home page click Edit to the left of the server whose communications console log you want to view.
  2. Click the Diagnostics tab.
  3. Click the CS Console tab.
  4. To view the entire log since the server was started, click Show Entire Log. The log opens in a new Web browser window. To return to ESMAC, click Back in your browser.
Parent topic: Work with Servers


To View the Control Page for an Enterprise Server Instance

  • In the Enterprise Server Administration screen, click Details in the Current status column of the Enterprise Server instance you want.
    Note:

    You can click Details only if the status of the Server is "Started".

Parent topic: Work with Servers


Work with Services

  • To View Services for an Enterprise Server Instance
  • To Add a Service to an Enterprise Server Instance
  • To Edit a Service
  • To Change the Status of a Service
  • To Switch Logging On for a Service
  • To Add a Service for Integration with the Micro Focus Development Tools
  • To Delete a Service with Operations
  • To Delete a Simple Service or an Operation
Parent topic: Enterprise Server Task Index


Work with the Directory Server Repository

  • To Import a Repository
  • To Export the Repository
  • To Restore the Repository
  • To Delete the Repository
Parent topic: Enterprise Server Task Index


CICS Support Tasks

  • Control and Configuration
  • Resources
Parent topic: Enterprise Server Task Index
Parent topic: Mainframe Support for Deployed Applications


Control and Configuration

The following control and configuration tasks are available:

  • To change the SIT associated with a server
  • To configure CICS search paths
  • To enable MSS for an enterprise server
  • To send a message to all 3270 terminals
  • To specify a listener for TN3270 terminals
  • To view and delete interval control elements
  • To view resource locks
Parent topic: CICS Support Tasks


To change the SIT associated with a server

  1. Click Home.
  2. Stop the server whose SIT you want to change:
  3. In the table of servers click Edit to the left of the row for the server whose SIT you want to change.
  4. Click Properties > MSS.
  5. Specify the new SIT in System Initialization Table.

    If this entry is not present, the SIT associated with a server defaults to DFH$IVP, the SIT for the CICS application that you use to perform the installation verification procedure.

  6. Click Apply.
  7. Start the server:
  8. Start ESMAC:
  • To stop a server Instance
  • To start an enterprise server instance
  • To Start ESMAC for an Enterprise Server instance
Parent topic: Control and Configuration
Parent topic: Changing the SIT for an MSS-Enabled Server
Related information
To stop an enterprise server
To start an enterprise server
To start ESMAC for a server
To view resource locks


To configure CICS search paths

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server that you want to configure CICS search paths for.
  2. Click the MSS tab.
  3. Enter the search path for CICS application programs in Transaction Path.
  4. Enter the search path for CICS VSAM datasets in VSAM File Path.
  5. Enter the search path for CICS BMS load modules in Map Path.
  6. Enter the search path for CICS resource definition files in Resource Definition File Path.
Note:

In all the path fields except Resource Definition File Path you can specify multiple paths by separating them with a semicolon character (;), for example, to set the search path for VSAM files you could enter

d:\cics\files;d:\cics\files2

in VSAM File Path.

Parent topic: Control and Configuration
Parent topic: Configuring CICS Search Paths
Parent topic: To enable MSS for an enterprise server
Related information
To view resource locks


To enable MSS for an enterprise server

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server that you want to enable MSS for.
  2. Click the MSS tab.
  3. Check Mainframe Subsystem Support enabled.

    This is the minimum you need do to enable MSS. By default the enterprise server uses the SIT DFH$IVP. The startup lists, groups and resources used by the enterprise server will, therefore, be those defined by DFH$IVP.

  4. If you want to use a SIT other than DFH$IVP, specify the name of the SIT in System Initialization Table.

    If you want to set a SIT that has a $ (dollar) character in its name you have to escape the $ character, for example MY\$SIT:

  5. If you specified a SIT other than DFH$IVP, specify CICS search paths, unless you are enabling MSS for JCL rather than CICS, in which case search paths are not required.
  6. Click Apply.
  7. Restart your server. The enterprise server will start as a MSS-enabled enterprise server, using either the default SIT, or the SIT you specified.
Note: You can disable or re-enable MSS by unchecking or checking Mainframe Subsystem Support enabled, then clicking OK and stopping and restarting the enterprise server.
  • To configure CICS search paths
Parent topic: Control and Configuration
Parent topic: Configuring the Enterprise Server
Parent topic: Enabling MSS for an Enterprise Server
Parent topic: Enabling MSS for an Enterprise Server
Parent topic: Enabling JCL for an Enterprise Server
Related information
To configure CICS search paths
To enable MTO for an enterprise server
To specify a listener for TN3270 terminals
To view active resources
To view resources by group
To view resources by startup list
To view resources by type
To view detailed information for a resource
To modify a resource
To create a resource from an existing resource
To create a resource table
To create a resource group
To delete a resource
To view a dump of a resource
To create a SIT
To create a startup list
To change the SIT associated with a server
To view and delete data queue items
To view and delete interval control elements
To view resource locks
To send a message to all 3270 terminals


To send a message to all 3270 terminals

  1. Click Control.
  2. Specify the text of your message in Message all.
  3. Click Send.
Parent topic: Control and Configuration
Parent topic: Sending Messages to All Terminals
Related information
To view a system trace


To specify a listener for TN3270 terminals

  1. In the table of servers on the Home page of Enterprise Server Administration, click Details in the Communications Processes cell for the server to which you want to add the listener.
  2. Click Add in the Listeners column for the communications process to which you want to add the listener.
  3. In the Name field, specify a suitable name (for example, tn3270).
  4. Allow Endpoint Protocol to default to TCP.
  5. In Endpoint Address), set the port number for the listener to *.nnnn, where nnnn is a port number. You can use any number above 5000 that isn't in use.
  6. In the Supported Conversation Type group, click TN3270.
  7. Click Add.

    The Communications Processes page is redisplayed showing that the listener was added.

  8. Click the upwards-pointing arrow expand button to the left of the Server name to return to the Home page.
  9. Stop the enterprise server.
  10. Restart the enterprise server.

    This has the effect of starting the listener.

Parent topic: Control and Configuration
Parent topic: Using Telnet 3270 Terminal Emulators
Parent topic: Specifying a Listener for TN3270 Terminals
Related information
To stop an enterprise server
To start an enterprise server
To view resource locks


To view and delete interval control elements

  1. Click the dropdown menu in the Resources group.
  2. Select Active.
  3. Click ICE. You see the Interval Control Elements (Active) page, containing a list of active ICE definitions.
  4. Click Delete button to the left of the row containing the interval control element you want to delete. The item is deleted immediately, and a message is displayed at the top of the ICE information confirming the deletion.
Note: You can delete interval control elements only if you have the appropriate permissions.
Parent topic: Control and Configuration
Parent topic: Controlling CICS Resources
Related information
To view resource locks


To view resource locks

  1. Click the dropdown menu in the Resources group.
  2. Click Active.
  3. Click Lock. You see the Lock page, containing information about the current resource locks. This display is in two parts. The first lists the locks held and applied for. The second part lists the resources. Information in the two parts is related by resource IDs.
Parent topic: Control and Configuration
Parent topic: Viewing Locks
Related information
To view resource locks


Resources

The following Resources tasks are available:

  • To create a resource from an existing resource
  • To create a resource group
  • To create a resource table
  • To create a SIT
  • To create a startup list
  • To delete a resource
  • To modify a resource
  • To view a dump of a resource
  • To view active resources
  • To view and delete data queue items
  • To view detailed information for a resource
  • To view resources by group
  • To view resources by startup list
  • To view resources by type
Parent topic: CICS Support Tasks


To create a resource from an existing resource

  1. Click Details on any of the pages that list resources.
  2. Click Copy.

    You can find this button at the bottom of the page.

    ESMAC opens a new page, containing the values carried over from the previous page.

  3. In the Name field, enter a name for the resource.
  4. In pages that have a Group selector, select the group you want the resource to belong to.
  5. Edit fields and/or change controls to the values you require for your new resource.
  6. Click Add.

    The resource is added to the group you specified, or to the list of SITs, groups or startup lists.

Parent topic: Resources
Parent topic: Controlling CICS Resources
Related information
To view resource locks


To create a resource group

  1. Click Resources, by Group.
  2. Click Groups.
  3. Click New.
  4. Specify a name and a description for the group.
  5. Click Add.
  6. Click Group List.
  7. Add resources to the group as required: click one of the buttons at the foot of the page (FCT, TST etc), create the new table, and from the table page click Group List to return to the group list. Repeat to add more resources.
Parent topic: Resources
Parent topic: Configuring the Enterprise Server
Parent topic: Specifying IMS Resources to a Resource Group
Related information
To view resource locks


To create a resource table

  1. Select Resources, by Type.
  2. Click one of the table buttons (for example, FCT or DCT).
  3. Scroll to the bottom of the page.
  4. Click the button corresponding to the resource table you want to create (for example, FCT or DCT).

    The entry page corresponding to the button you clicked is displayed.

  5. Edit fields and/or change controls to the values you require for your new resource.

    The help for the page explains the meanings and values of controls and fields. To display the context help, click Body in the Help group in the sidebar.

  6. Click Add.

    The resource is added to the group you specified on the page.

Parent topic: Resources
Parent topic: Database Managers Supported
Related information
To view resource locks


To create a SIT

  1. Click Resources, by Group.
  2. Click SIT.
  3. Click New.
  4. Specify a name and description.
  5. Choose a startup list for the group from the list in Startup List.
  6. Edit fields or change controls to the values you require for your new SIT.

    The help for the page explains the meanings and values of controls and fields. To display the context help, click This page in the Help group in the sidebar.

  7. Click Add.

    The page is refreshed showing the SIT you have just added.

Parent topic: Resources
Related information
To view resource locks


To create a startup list

  1. Click Resources, by Group.
  2. Click Startup.
  3. Click New.
  4. Specify a name and description.
  5. Check Production if the startup list is for a production system.
  6. Specify a group to add to the startup list in 01.
  7. Click Add.

    A new empty row has been added, with the number 02, and icons have been added at the end of row 01 allowing you to move the group at this position up or down, or to delete it. When you move a group up or down, you change the order in which the resources are loaded at startup.

  8. Repeat steps 6 and 7 on the next row and click Apply. Continue until you have specified all the groups in the resource list.
Parent topic: Resources
Related information
To view resource locks


To delete a resource

  1. Click Details on any of the pages that list resources.
  2. click Delete on the detailed information page.
Note: If you do not have the required permissions to delete resources, the Delete button is not shown.
Parent topic: Resources
Related information
To view resource locks


To modify a resource

  1. Click Details on any of the pages that list resources.

    The detailed information page shows various information relating to the resource you selected. The page title reflects the resource and the method you chose to view it. For example, if you choose to view resources by startup list, click FCT to display a list of FCTs, and then click Details next to an FCT listed in the table, the detailed information page for the FCT you selected is displayed. The detailed information page has the title CICS FCT - fct_name (grp), where fct_name is the name of the FCT, and grp the group to which the FCT belongs. In this case, the detailed information page displays all of the values set for the FCT.

  2. Edit the fields or change controls on the page as required.
  3. Click Apply. If your changes are successfully applied, you see the message "Update successful".
Note: If you do not have the required permissions to modify resources, the Apply button is not shown.
Parent topic: Resources
Parent topic: Specifying IMS Resources to a Resource Group
Related information
To view resource locks


To view a dump of a resource

  1. Click Details on any of the pages that list resources.
  2. click Dump on the detailed information page. The dump is taken, formatted, and displayed.
  3. When you finished viewing the dump, click Back on your browser. This returns you to the details page you were viewing before you initiated the dump.
Parent topic: Resources
Related information
To view resource locks


To view active resources

  1. Click the dropdown menu in the Resources group.
  2. Select Active.
    The following buttons are displayed:
    • DCT
    • FCT
    • ICE
    • JCT
    • Lock
    • PCT
    • PPT
    • TST
    • T-Type
    • SysC
    • URIMAP
    • TCPIPSv
  3. Click one of the buttons (except for Lock and ICE) to display a page that contains a table listing all the active resources of that type. The page is called rsc (active), where rsc is the type of resource, such as DCT. For example, if you click FCT, the FCT (active) page is displayed, which lists all the active FCTs.

    Each row of the table lists the name of a resource, and gives further information that depends on the type of resource. For example, the DCT (active) page lists the name of the DCT, its state, and the type of DCT; the PPT page gives the name of the PPT, the type of PPT, and the programming language specified for the PPT.

    Each row also contains a Details button. Click this to display the detailed information page for the resource.

    The TST page also provides a table of actual data queues, including those created for interval control element data records. You can delete data queues on the TST page.

Parent topic: Resources
Parent topic: Controlling CICS Resources
Related information
To view and delete data queue items
To view and delete interval control elements
To view resource locks
To enable MTO for an enterprise server
To configure CICS search paths
To specify a listener for TN3270 terminals
To view active resources
To view resources by group
To view resources by startup list
To view resources by type
To view detailed information for a resource
To modify a resource
To create a resource from an existing resource
To create a resource table
To create a resource group
To delete a resource
To view a dump of a resource
To create a SIT
To create a startup list
To change the SIT associated with a server
To send a message to all 3270 terminals


To view and delete data queue items

  1. Click the dropdown menu in the Resources group.
  2. Select Active.
  3. Click TST. You see the TST (active) page, containing a list of active TST definitions in the upper half, and a table of actual data queue items in the lower half. These include data queues associated with interval control elements.
  4. Click Delete button to the left of the row containing the data queue item you want to delete. The item is deleted immediately, and a message is displayed at the top of the TST information confirming the deletion.
Note: You can delete data queue items only if you have the appropriate permissions.
Parent topic: Resources
Parent topic: Controlling CICS Resources
Related information
To view resource locks


To view detailed information for a resource

  1. Click Details on any of the pages that list resources.

    The detailed information page displays various information relating to the resource you selected.

    The page title shows the resource and the method you chose to view it.

    For example, if you choose to view resources by startup list, click FCT to display a list of FCTs. Then click Details next to an FCT listed in the table. The detailed information page for the FCT you selected is displayed.

    The detailed information page has the title CICS FCT - fct_name (grp), where fct_name is the name of the FCT, and grp the group to which the FCT belongs. In this case, the detailed information page displays all of the values set for the FCT.

Parent topic: Resources
Parent topic: Controlling CICS Resources


To view resources by group

  1. Click the dropdown menu in the Resources group.
  2. Select by Group. The following buttons are displayed:
    • Groups - click this to view a list of all groups on this enterprise server. The page CICS Resource Groups is displayed, which lists the resource groups.
    • Startup Lists - click this to view a list of all startup lists on this enterprise server. The page CICS Startup Lists is displayed, which lists all startup lists.
    • SIT - click this to view all a list of all SITs available to this enterprise server. The CICS System Initialization Tables page is displayed, which lists all SITS.

    Each page displayed when you click one of the above buttons contains a table that lists the resources relevant to that button. For example, the CICS System Initialization Tables page, displayed when you click SIT, lists the SITs available.

    Each row of the table provides the name of the resource, and further information on that resource. For example, the CICS System Initialization Tables page shows the name of the SIT, the startup list for the SIT, and a short description of the SIT.

    Each row also contains a Details button. Click this to display the detailed information page for the resource.

Parent topic: Resources
Parent topic: Controlling CICS Resources
Related information
To view resource locks


To view resources by startup list

  1. Click the dropdown menu in the Resources group.
  2. Select by Start L. A number of buttons are displayed.
  3. Click one of the buttons to display a page that contains a table listing all the resources of that type for the current startup list. The current startup list is the startup list defined in the SIT that was initiated when the enterprise server was started.

    The page displayed is called CICS Startup List list, where list is the name of the startup list initiated by the SIT.

    Each row of the table lists the name of a resource of the type you selected, and gives further information that depends on the type of resource. For example, if the current SIT used the startup list DFH$IVP, and you clicked DCT, the page displayed is called CICS Startup List DFH$IVP, and lists the DCTs available to the startup list.

    Each row also contains a Details button. Click this to display the detailed information page for the resource.

Parent topic: Resources
Parent topic: Controlling CICS Resources
Related information
To view resource locks


To view resources by type

  1. Click the dropdown menu in the Resources group.
  2. Select by Type. A number of buttons are displayed.
  3. Click one of the buttons to display a page that contains a table that lists all the resources of that type known to the current enterprise server.

    The page displayed is called CICS Defined rsc, where rsc is the name the type of resource you clicked.

    Each row of the table gives the name of a resource of the type you selected, and gives further information that depends on the type of resource. For example, if you clicked DCT, the page displayed is called CICS Defined DCT, and lists the DCTs known to the enterprise server.

    Each row also contains a Details button. Click this to display the detailed information page for the resource.

Parent topic: Resources
Parent topic: Controlling CICS Resources
Related information
To view resource locks


JCL Support Tasks

The following JCL support tasks are available:

  • JCL Configuration
  • Deploying and Running JCL Applications
  • Spool Queue Tasks
  • JCL Catalog Tasks
Parent topic: Enterprise Server Task Index
Parent topic: Mainframe Support for Deployed Applications


JCL Configuration

The following JCL configuration tasks are available:

  • To add a service for JCL
  • To define a batch initiator or printer SEP
  • To enable JCL support
  • To specify a handler for JCL requests
  • To automatically defer printing for specified message classes
Parent topic: JCL Support Tasks


To add a service for JCL

  1. Click Details in the Objects column for the server you want to add the service to.
  2. Click Add.
  3. In both Name and Service Class type: MF JES
  4. Leave the type of transaction management as Application.
  5. In Available Listeners, select the line containing Web Services and J2EE. Then click <-Add below this field.
  6. In Available Handlers, select MFRHJCL. Then click Select Handler. The selection is active immediately.
  7. In Description type a suitable description, such as Job Entry Subsystem service.
  8. Click Add.
Note: You can also reach the Add Service page by clicking Edit to the left of the server to which you want to add the service, clicking the Services tab and clicking Add.
Parent topic: JCL Configuration


To define a batch initiator or printer SEP

This defines a batch initiator or printer SEP that will be a permanent feature of the enterprise server, starting up whenever the enterprise server is started. If you want to start a batch initiator or printer SEP "on the fly" while the enterprise server is running, to run waiting jobs immediately, see To start a batch initiator or printer immediately.

  1. If you are starting a printer, make sure the enterprise server is running and was started from the command line.
  2. If the table of servers on the Home page is being displayed in summary form, expand it by clicking expand button.
  3. Click Edit by the server you want to add the initiator or printer to.
  4. Make sure the Server and Properties tabs are selected, then click MSS and then JES.
  5. Click Initiator or Printer.
  6. Click Add.
  7. Enter details in the fields.

    In Class, type the list of job classes you want this initiator to run, or this printer to print; for example, ABC. The JOB CLASS of a JCL jobstream must match the class of a batch initiator SEP in order for the SEP to run the job. The MSGCLASS or SYSOUT class must match the class of a batch printer SEP in order for the SEP to print the output.

  8. For a printer, select a printer in the list in Printer Name.
  9. Click Add.
Parent topic: JCL Configuration
Parent topic: SEPs for JCL
Parent topic: On-the-fly SEPs for JCL
Related information
To start a batch initiator or printer immediately
To view resource locks


To enable JCL support

  1. On the Enterprise Server Administration home page, click Edit next to the name of the enterprise server you want to enable.
  2. The Edit page that appears contains a hierarchy of tabs. Make sure the Server and Properties tabs are selected, and click MSS.
  3. Make sure that Mainframe Subsystem Support is checked.
  4. Click JES.
  5. Check Job Entry Subsystem enabled.
  6. Enter values into the fields on the JES tab. Click This Page in the help menu for more information.
  7. Click OK.
  8. Click Apply to save your changes.
Note: You also need to make sure the enterprise server has batch initiators for the JCL job classes you wish to run. See the Related Topics below.
Parent topic: JCL Configuration
Parent topic: Enabling JCL for an Enterprise Server
Related information
To add a service for integration with the Micro Focus Development Tools


To specify a handler for JCL requests

  1. On the Home page of Enterprise Server Administration, look at the Objects column for the enterprise server that you want to start a handler for. One entry there shows the number of handlers available in that enterprise server – it is at least 2, since the Web Services and J2EE handlers are there by default. Click Details next to this Handlers entry.
  2. On the page that appears, click Add.
  3. On the Add Handler page that appears, type MFRHJCL in Module Name, leave Module Path and Configuration Information blank, and type "Handles JCL requests" in Description.
  4. Click Add at the bottom of the page. The list on the Handlers page now includes MFRHJCL.
  5. Click Home on the menu at the left. The Objects column for the server now shows one more handler than before.
  6. Stop the enterprise server.
  7. Restart the enterprise server.

    This has the effect of starting the listener.

Note: You need to specify a handler for JCL requests only if you want to use an existing enterprise server for handling JCL jobs that does not already have this handler defined. Any new MSS-enabled servers you create will automatically have this request handler defined.
Parent topic: JCL Configuration
Related information
To stop an enterprise server
To start an enterprise server
To add a service for integration with the Micro Focus Development Tools


To automatically defer printing for specified message classes

You can configure your enterprise server to automatically route specified message classes to the Out Hold queue.

  1. On the Home page of ES Admin, click Edit next to the name of the enterprise server you want to enable.
  2. The Edit page that appears contains a hierarchy of tabs. Make sure that the Server>Properties>General tab is selected.
  3. In the Configuration Information field, set the ES_SYSOUT_HOLD environment variable to the message classes that you want to route to the Out Hold queue. For example:
    [ES-Environment]
ES_SYSOUT_HOLD=AB
    In this case, message classes A and B will be routed to the Out Hold queue.
  4. Click OK and restart your enterprise server.
Parent topic: JCL Configuration
Related information
To add a service for integration with the Micro Focus Development Tools


Deploying and Running JCL Applications

The following tasks are available for deploying and running JCL applications:

  • To deploy a JCL application to an enterprise server
  • To view resource locks
  • To reply to an ACCEPT FROM CONSOLE statement
  • To run a JCL job
  • To run a JCL job from the command line
  • To run a JCL job on a remote enterprise server
  • To start a batch initiator or printer immediately
  • To start a batch initiator SEP from the command line
  • To start a batch printer SEP from the command line
Parent topic: JCL Support Tasks


To deploy a JCL application to an enterprise server

  • Copy the executable files of the application to the folder where the enterprise server has been configured to look for executables when JCL was enabled.
Parent topic: Deploying and Running JCL Applications
Related information
To enable JCL support
To view resource locks


To view resource locks

  1. Click the dropdown menu in the Resources group.
  2. Click JES.
  3. Click Lock. You see the Lock page, containing information about the current resource locks. This display is in two parts. The first lists the locks held and applied for. The second part lists the resources. Information in the two parts is related by resource IDs.
Parent topic: Deploying and Running JCL Applications
Parent topic: Running and Controlling JCL Jobs
Related information
To view resource locks


To reply to an ACCEPT FROM CONSOLE statement

  1. Submit the job in the normal way, using Submit on ESMAC's JES Control page.
  2. The job begins and the first few lines of the job log appear on the Control page, ending with
    Processed jcl-filename

    where jcl-filename is the full pathname of the JCL file you submitted. The job pauses at this point.

  3. Now click Job at the bottom left-hand corner of the Control page to go to the Job page.
  4. Enter the text of your reply in Enter, below the line
    CASBJ0035I Console input request is pending.
  5. Click Reply.
  6. The job now continues.
Note: If you return to the Control page before you have entered your reply, you will see that a Pending Replies group has been added at the top of the page. There is a line of information for each pending reply, with a Reply button next to each line. If you click Reply on this page, you are returned to the Job page. The job remains paused until you enter a reply.
Parent topic: Deploying and Running JCL Applications
Parent topic: Interacting with JCL Jobs
Related information
To view resource locks


To run a JCL job

Important: If you are using Microsoft Internet Explorer's Enhanced Security Configuration feature you must disable it before following this procedure. For example:
  1. Close all instances of Internet Explorer.
  2. Select Start > Administrative Tools > Server Manager. If a User Account Control dialog box appears, click Continue..
  3. Under Security Summary, choose Configure IE ESC.
  4. Make sure both Administrators and Users are not selected.
  5. Click OK.
  1. In the dropdown list under Resources on the ESMAC menu, select JES.
  2. Click Control in the Resources part of the ESMAC menu.

    The JCL Control page that appears is for submitting jobs, and for starting additional printers and batch initiators.

  3. In the field by the Submit button, type the path and name of the JCL file you want to run. This file must exist on the machine on which the enterprise server is running.
  4. Click Submit.
Parent topic: Deploying and Running JCL Applications
Parent topic: Running and Controlling JCL Jobs


To run a JCL job from the command line

  1. Make sure the enterprise server you want to use is running, and was started from the command line.
  2. At a Net Express command prompt, enter:
    start cassub -jpath\jcl-file

    where path and jcl-file specify the JCL file to run. -j is the keyword identifying this parameter. There must be no space after the -j. For example:

    cassub -jc:\jclbatch\jclbatch.jcl

    You can specify the –j parameter more than once, in order to submit several JCL files in the same command.

    If you are submitting the job to an enterprise server that is local to your machine, you can use the –r parameter to specify the enterprise server to run the job. If you omit it, ESDEMO is assumed.

    If you want to submit the job to a remote enterprise server, you need to specify the -saddress parameter, where address is the address of the listener associated with the server's MF JES service.

    The job is run by the most recently started available initiator that can handle the class specified on the JOB card.

Parent topic: Deploying and Running JCL Applications
Related information
To view resource locks
cassub


To run a JCL job on a remote enterprise server

Important: If you are using Microsoft Internet Explorer's Enhanced Security Configuration feature you must disable it before following this procedure. For example:
  1. Close all instances of Internet Explorer.
  2. Select Start > Administrative Tools > Server Manager. If a User Account Control dialog box appears, click Continue..
  3. Under Security Summary, choose Configure IE ESC.
  4. Make sure both Administrators and Users are not selected.
  5. Click OK.
  1. Open ES Admin for the remote enterprise server.
  2. In the list of servers, click Details in the Current Status column for the server to which you want to submit the job. The server must already be started.
  3. Click ES Monitor and Control.
  4. Submit the job using JES > Control in the usual way.
Note:
  • The JCL must be local to the machine you are submitting the job to.
  • While you are connected to the remote machine, you can view spool queues and the catalog in the usual way.
Parent topic: Deploying and Running JCL Applications
Parent topic: Running and Controlling JCL Jobs


To start a batch initiator or printer immediately

This starts a batch initiator or printer SEP "on the fly". You create it while the enterprise server is running, and it will immediately run any waiting jobs of the right class. It lasts until the enterprise server is stopped. If you want to define a batch initiator or printer SEP that will be a permanent feature of the enterprise server, starting up whenever the enterprise server is started, see To define a batch initiator or printer SEP.

  1. If you are starting a printer, make sure the enterprise server was started from the command line.
  2. In the dropdown list under Resources on the ESMAC menu, select JES.
  3. Click Control in the Resources part of the ESMAC menu.

    The JCL Control page that appears is for submitting jobs, and for starting additional printers and batch initiators.

  4. Select Initiator or Printer from the dropdown list by the Type field.
  5. In Classes, type the list of job classes you want this initiator to run, or this printer to print; for example, ABC. The JOB CLASS of a JCL jobstream must match the class of a batch initiator SEP in order for the SEP to run the job. The MSGCLASS or SYSOUT class must match the class of a batch printer SEP in order for the SEP to print the output.
  6. If you are defining an initiator for jobs that you want to debug, click Debug.
  7. For a printer, select a printer in the list in Printer Name.
  8. Click Start.

    The batch initiator or printer will start immediately and last until the enterprise server is stopped.

Parent topic: Deploying and Running JCL Applications
Parent topic: SEPs for JCL
Parent topic: On-the-fly SEPs for JCL
Related information
To define a batch initiator or printer SEP
To view resource locks


To start a batch initiator SEP from the command line

  1. Make sure the enterprise server you want to use is running, and was started from the command line.
  2. At a Net Express command prompt, enter:
    casout -iclasslist

    where classlist specifies the job classes that the initiator is to be able to run. . There must be no space after the -b. For example:

    casout -iABC

    You can use the –r parameter to specify the enterprise server to run the job. If you omit it, ESDEMO is assumed.

Parent topic: Deploying and Running JCL Applications
Related information
To view resource locks
cassi (JCL version)


To start a batch printer SEP from the command line

  1. Make sure the enterprise server was started from the command line or Net Express Tools menu.
  2. At a command prompt, enter:
    start cassi -pclasslist -q"printer" -renterprise-server

    or:

    start cassi -pclasslist -q"printer" -renterprise-server -zprinter-exit

    where classlist specifies the job classes that the SEP is to handle, printer is the name of the printer (as defined in Windows), enterprise-server is the enterprise server to start it in (default ESDEMO), and the optional printer-exit specifies a Printer Exit module. For example:

    start cassi -pABC -q"HP LaserJet 4L" -rESDEMO

    or:

    start cassi -pABC -q"HP LaserJet 4L" -rESDEMO -zSAMPPRNX

    Note that it’s advisable to run this command in a separate session, using the Windows start command as shown.

Parent topic: Deploying and Running JCL Applications
Related information
To view resource locks
cassi (JCL version)


Spool Queue Tasks

The following spool queue tasks are available:

  • To delete a job
  • To delete a job output file
  • To delete all jobs in a queue
  • To hold or release a job
  • To update control information for a job
  • To view details of a job output file
  • To view details of a job's execution
  • To view the contents of a job output file
  • To view the spool queues
Parent topic: JCL Support Tasks


To delete a job

  1. On the Spool page click the button for the queue that contains the job.
  2. Click the check box to the left of the row describing the job you want to delete.
  3. Click Delete.
Note: An alternative method is to go to the JOBnnnnn page, where nnnnn is the number of the job, and click Delete
Parent topic: Spool Queue Tasks
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


To delete a job output file

  • On the job output file details page click Purge.
Parent topic: Spool Queue Tasks
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


To delete all jobs in a queue

  1. On the Spool page click the button for the queue that contains the jobs.
  2. Click the check box to the left of the Display button. This selects all the jobs in the queue.
  3. Click Delete.
Parent topic: Spool Queue Tasks
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


To hold or release a job

  • On the JOBnnnnn page, where nnnnn is the number of the job, or on the job output file details page, click Hold or Release.
Note:
  • Hold changes to Release after you have clicked it, and Release changes back to Hold after a further click. The Status field also changes accordingly.
  • If the job is in the input queue when you click Hold, it is not executed until you release it. if the job is in the output queue when you click Hold, the output files are not printed until you release it.
  • If you have also changed the value for Class or Priority, the change is applied.
Parent topic: Spool Queue Tasks
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


To update control information for a job

  1. On the JOBnnnnn page, where nnnnn is the number of the job, or on the job output file details page, specify a new Class or Priority or both.
  2. Click Update.
Parent topic: Spool Queue Tasks
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


To view details of a job output file

  • On the JOBnnnnn page, where nnnnn is the number of the job, click Details against the name of the output file that you want to view details for.
Parent topic: Spool Queue Tasks
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


To view details of a job's execution

  1. On the Spool page click the button for the queue that contains the job.
  2. Click the check box to the left of the row describing the job that you want to view.
  3. Click Display.
Note: You can also view details of a job's execution by entering the job number in the field next to the Job button, then clicking Job. This facility is available on some of the other JCL-related pages in ESMAC.
Parent topic: Spool Queue Tasks
Parent topic: Running and Controlling JCL Jobs
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


To view the contents of a job output file

  1. On the job output file details page find the line with a Display button at the left-hand side.
  2. Update the fields Start and for to indicate which records you want to view. Clear the for field to view all the records in a file. The default is that you view the first 10000 records or the whole file, whichever is the shorter.
  3. In Codeset choose the codeset that you want to be used for the display.
  4. If you want to see extra details check Details.
  5. Click Display.

    The contents of the output file are displayed. Click Back on your Browser toolbar to return to the job output file page.

Note:
  • If you are viewing the spool queues from ES Admin, and you attempt to view all the records in a large job output file, be aware that your browser will take some time to display all the records, and might run out of memory.
  • If you are viewing the spool queues from the Net Express IDE (using Tools > Enterprise Server > Spool View), then when you click Display, the file opens in the Net Express Data File Editor window.
Parent topic: Spool Queue Tasks
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


To view the spool queues

  1. In the dropdown list under Resources on the ESMAC menu, select JES.
  2. Click Spool in the Resources part of the ESMAC menu.
  3. The page that appears shows one of the spool queues. Click one of the row of buttons to select which queue is displayed.
Parent topic: Spool Queue Tasks
Parent topic: Managing and Viewing Spool Queues
Related information
To view details of a job output file


JCL Catalog Tasks

The following JCL catalog tasks are available:

  • To copy a catalog entry for a data set
  • To create a catalog entry for a data set
  • To delete a catalog entry for a data set
  • To update a catalog entry for a data set
  • Importing and Exporting a Catalog: import export utility
    Describes how to use the catalog import-export utility
  • To view the catalog
  • To view the contents of a data set
  • To view the details of a catalog entry
Parent topic: JCL Support Tasks


To copy a catalog entry for a data set

  1. On the Data Catalog page click Details against the entry that you want to copy.
  2. On the Catalog Entry page click Copy.
  3. Specify the properties of the data set in the new catalog entry.
  4. Click Apply.
Parent topic: JCL Catalog Tasks
Parent topic: Viewing the Catalog and Data Sets


To create a catalog entry for a data set

  1. On the Data Catalog page click New.
  2. Specify the properties of the data set.
  3. Click Apply.
Parent topic: JCL Catalog Tasks
Parent topic: Viewing the Catalog and Data Sets


To delete a catalog entry for a data set

  1. On the Data Catalog page click Details against the entry that you want to delete.
    Note: No entries are shown on the Data Catalog page until you click the List button. You can use the field adjacent to the List button to enter a filter string to limit the number of entries displayed. For example, enter "ABC*" to view only those data sets that begin with ABC. You can use a single asterisk as a wild card.
  2. Click Delete.
Parent topic: JCL Catalog Tasks
Parent topic: Viewing the Catalog and Data Sets


To update a catalog entry for a data set

  1. On the Data Catalog page click Details against the entry that you want to update.
    Note: No entries are shown on the Data Catalog page until you click the List button. You can use the field adjacent to the List button to enter a filter string to limit the number of entries displayed. For example, enter "ABC*" to view only those data sets that begin with ABC. You can use a single asterisk as a wild card.
  2. Change the properties of the data set as required.
  3. Click Apply.
Parent topic: JCL Catalog Tasks
Parent topic: Viewing the Catalog and Data Sets


Importing and Exporting a Catalog: import export utility

The catalog import-export utility is supplied to make it easier to work with the contents of a catalog. You can use the catalog import export utility to:

  • Extract the contents of the system catalog to an XML file
  • Import a system catalog from a source XML file
  • Extract and/or update individual catalog records
Note:

This utility is intended as a tool for use during migrations. It is definitely NOT recommended that you use it for editing the catalog data for live systems. The recommended way of manipulating catalog entries is via JCL, where consistency can be guaranteed. For bulk changes to the PC-DSN field, MVSPCRN is recommended.

Use caution when performing catalog updates. Setting inconsistent field values will cause errors.

Setting the MFSYSCAT environment variable

In order to use the catalog import export utility, you need to set the MFSYSCAT environment variable to the catalog path and filename. For example:
set MFSYSCAT=c:\test\project\catalog.dat

Invoking the catalog import export utility from the command line

The utility can be invoked from the command line or by calling it from another program. Use the syntax:
Call MVSP0033 using ws-command-line
In the command above, ws-command-line is a command with the syntax and parameters described below.

Syntax

MFCATXML FUNC(xxxx) INFILE(filename)
OUTFILE(filename) KEY(xxxx)

The function's operation, and the parameters that you use, varies depending on the value of the FUNC parameter.

Export entire catalog: Func = EXP

Exports the entire catalog to an XML file.

OUTFILE The name of the file to hold the exported data.

Import a catalog: Func = IMP

Imports a catalog from an XML file.

INFILE The name of the file with the catalog data to be imported.

Export specific catlalog records: Func = GU

Reads details for specified catalog records and writes them to a file.

INFILE(filename) | The catalog entries for all the MVS DATASET names found in the XML document filename are retrieved
KEY(datasetname) | The record for the single MVS dataset name in the datasetname parameter is retrieved
KEY(@filename) | The records for all the MVS dataset name in the filename parameter are retrieved. filename must be a text file with each successive dataset on a new line.
OUTFILE(filename) | The output file for the catalog records.

Insert records into a catalog: Func = ISRT

Reads catalog record details from INFILE and inserts these catalog records.

INFILE(filename) The name of the XML file with the catalog data to be inserted.

Replace existing catalog records: Func = REPL

Reads catalog record details from INFILE and replaces corresponding existing catalog records.

INFILE(filename) The name of the XML file with the catalog data to be replaced.

Delete catalog records: Func = DLET

Deletes catalog records.

INFILE(filename) | Deletes catalog entries for all the MVS DATASET names found in filename.
KEY (datasetname) | Deletes the record for the single dataset name set defined in datasetname.
KEY(@filename) | Deletes all of the catalog records for all the MVS dataset names listed in filename. This file must be a text file with each successive dataset on a new line.

Examples

The following command creates the OUT.XML XML file that contains all of the data held in the catalog identified in the MFSYSCAT environment variable.

MFCATXML FUNC(EXP) OUTFILE(OUT.XML)

The resulting XML file can be edited and then imported using the following command:

MFCATXML FUNC(IMP) INFILE(OUT.XML)
Parent topic: JCL Catalog Tasks
Parent topic: Viewing the Catalog and Data Sets
Parent topic: Administering JCL-enabled Enterprise Servers


To view the catalog

  1. In the dropdown list under Resources on the ESMAC menu, select JES.
  2. Click Catalog in the Resources part of the ESMAC menu.
  3. To limit the entries displayed, enter a filter string in the text field next to the List button. For example, enter "ABC*" to view only those data sets that begin with ABC. You can use a single asterisk as a wild card.
  4. Click the List button.
Note:

In addition to filtering list items, you can control the number of items in the catalog view by setting the ES_ESMAC_DISP_MAX_OVERRIDE environment variable.

For example, the maximum number of items displayed can be set to 100:

configuration:
[ES-Environment]
ES_ESMAC_DISP_MAX_OVERRIDE=100
Parent topic: JCL Catalog Tasks
Parent topic: Viewing the Catalog and Data Sets


To view the contents of a data set

  1. On the Data Catalog page click Details against the entry that you want to update.
    Note: No entries are shown on the Data Catalog page until you click the List button. You can use the field adjacent to the List button to enter a filter string to limit the number of entries displayed. For example, enter "ABC*" to view only those data sets that begin with ABC. You can use a single asterisk as a wild card.
  2. Update the fields Start and for to indicate which records you want to view. Clear the for field to view all the records in a file. The default is that you view the first 10000 records or the whole file, whichever is the shorter.
  3. In Codeset choose the codeset that you want to be used for the display.
  4. If you want to see extra details check Details.
  5. Click Display.

    The contents of the data set are displayed. Click Back on your Browser toolbar to return to the Catalog Entry page.

Note:
  • If you are viewing the catalog from ES Admin, and you attempt to view all the records in a large file, be aware that your browser will take some time to display all the records, and might run out of memory.
  • If you are viewing the catalog from the Net Express IDE (using Tools > Enterprise Server > Catalog View), then when you click Display, the file opens in the Net Express Data File Editor window.
Parent topic: JCL Catalog Tasks
Parent topic: Viewing the Catalog and Data Sets


To view the details of a catalog entry

  • On the Data Catalog page click Details against the entry that you want to view.
    Note: No entries are shown on the Data Catalog page until you click the List button. You can use the field adjacent to the List button to enter a filter string to limit the number of entries displayed. For example, enter "ABC*" to view only those data sets that begin with ABC. You can use a single asterisk as a wild card.
Parent topic: JCL Catalog Tasks
Parent topic: Viewing the Catalog and Data Sets


IMS Support Tasks

  • To add a resource group to a startup list
  • To add a message processing region to a resource group
  • To add PCT entries to a resource group
  • To enable IMS for an MSS-enabled enterprise server
  • To specify the location of genned files
  • To define a transaction manually
  • To define how MFS attributes are coded
  • To define the MFS null character
  • To start a WebSphere MQSeries trigger monitor
  • To stop a WebSphere MQSeries trigger monitor
  • To generate a PSB for a Trigger Monitor
  • To create an XA resource for a trigger monitor
Parent topic: Enterprise Server Task Index
Parent topic: Mainframe Support for Deployed Applications


To add a resource group to a startup list

  1. In the list of buttons under Resources on the ESMAC menu, click Startup.
  2. Click Details next to the entry for the startup list to which you want to add the resource group.
  3. Specify the name of the resource group in the empty field at the bottom of the list of resource groups.
  4. Click Apply.
  5. Click Home to return to the Home page of Enterprise Server Administration.
Parent topic: IMS Support Tasks
Parent topic: Adding a Resource Group to a Startup List
Related information
To enable IMS for an MTO-enabled enterprise server
To specify the location of genned files
To add PCT entries to a resource group
To add a message processing region to a resource group
To define a transaction manually


To add a message processing region to a resource group

  1. In the dropdown list under Resources on the ESMAC menu, select By Group.
  2. Click Groups, then click Details next to the resource group you want to update.
  3. Click JES.
  4. Specify IMS MPR in the Type field, the relevant classes in the Classes field, and an appropriate text in the Name and Description fields.
  5. Click Add.
  6. Click Group List.
Note:

Defining a message processing reigon for an enterprise server in this way causes a message processing region to start each time the enterprise server is started. For information on creating a message processing region that only exists until an enterprise server stops, see the section Temporary MPRs in the chapter Administering IMS-enabled Enterprise Servers in your Mainframe Subsystem Support Configuration and Administration Guide.

Parent topic: IMS Support Tasks
Parent topic: Adding a Message Processing Region to a Resource Group
Related information
To enable IMS for an MTO-enabled enterprise server
To specify the location of genned files
To add PCT entries to a resource group
To define a transaction manually


To add PCT entries to a resource group

  1. In the dropdown list under Resources on the ESMAC menu, select By Group.
  2. Click Groups, then click Details next to the resource group you want to update.
  3. Click PCT.
  4. Specify the name of the transaction in the Name field and the name of the associated program in the Program Name field.
  5. Click Add.
  6. Click Group List.
Parent topic: IMS Support Tasks
Related information
To enable IMS for an MTO-enabled enterprise server
To specify the location of genned files
To add a message processing region to a resource group
To define a transaction manually


To enable IMS for an MSS-enabled enterprise server

  1. On the Home page of Server Enterprise Administration, click Edit next to the name of the enterprise server you want to enable.
  2. The Edit page that appears contains a hierarchy of tabs. Click the Server, Properties, MSS, IMS and General tabs.
  3. Ensure that Mainframe Subsystem Support enabled is checked, then check IMS enabled.
  4. Click Apply.
Parent topic: IMS Support Tasks
Parent topic: Enabling IMS for an Enterprise Server
Related information
To specify the location of genned files
To add PCT entries to a resource group
To add a message processing region to a resource group
To define a transaction manually


To specify the location of genned files

  1. In the table of servers click Edit to the left of the row for the server you want to change.
  2. The Edit page that appears contains a hierarchy of tabs. Click the Server, Properties, MSS, IMS and General tabs.
  3. In the GEN file directory field, specify the name of the folder that this enterprise server will look in for files generated from DBD and PSB files.
  4. Click Apply to save the change.
  5. Click the Server, Properties, MSS, IMS, TM and General tabs.
  6. In the MFS path field, specify the name of the folder that this enterprise server will look in for files generated from MFS files.
  7. Click Apply to save the change.
  8. Click Home to return to the Home page of Server Enterprise Edition Administration.
Parent topic: IMS Support Tasks
Parent topic: Specifying the Location of Genned Files
Related information
To enable IMS for an MTO-enabled enterprise server
To add PCT entries to a resource group
To add a message processing region to a resource group
To define a transaction manually


To define a transaction manually

  1. In the dropdown list under Resources on the ESMAC menu, select IMS.
  2. Click Transact., then click New.
  3. Specify the values you require for your new transaction.
  4. Click Add then Apply.
Parent topic: IMS Support Tasks
Parent topic: Defining Transactions Manually
Related information
To add a resource group to a startup list
To enable IMS for an MTO-enabled enterprise server
To specify the location of genned files
To add PCT entries to a resource group
To add a message processing region to a resource group


To define how MFS attributes are coded

Transaction level

  1. In the dropdown list under Resources on the ESMAC menu, select IMS.
  2. Click Transact..
  3. Click Details for the transaction to be modified, or New if you are creating a new transaction.
  4. Select the appropriate value for the MFS Attributes field. Where you set this to 'Default', the value set at Enterprise Server level (see below) will be used.
  5. Click Add or Apply as appropriate.

Enterprise Server level

  1. On the Home page of Server Enterprise Edition Administration, click Edit next to the name of the enterprise server you want to enable.
  2. The Edit page that appears contains a hierarchy of tabs. Click the Server, Properties, MSS, IMS and TM tabs.
  3. Select the desired value for MFS attribute bias field.
    Note:

    You can override this value at transaction level.

  4. Click Apply.
Note:

This task is only applicable if the codeset bias being used is 'ASCII'.

Parent topic: IMS Support Tasks
Parent topic: Special Characters in MFS Attributes
Related information
Migrating IMS Applications
To define the MFS null character


To define the MFS null character

Transaction level

  1. In the dropdown list under Resources on the ESMAC menu, select IMS.
  2. Click Transact..
  3. Click Details for the transaction to be modified, or New if you are creating a new transaction.
  4. Select the appropriate value for the MFS Null field. Where you set this to [default] , the value set at Enterprise Server level (see below) will be used.
  5. Click Add or Apply as appropriate.

Enterprise Server level

  1. On the Home page of Server Enterprise Edition Administration, click Edit next to the name of the enterprise server you want to enable.
  2. The Edit page that appears contains a hierarchy of tabs. Click the Server, Properties, MSS, IMS and TM tabs.
  3. Select the desired value for MFS null character field.
    Note:

    You can override this value at transaction level.

  4. Click Apply.
Note:

This task is only applicable if the codeset bias being used is 'ASCII'.

Parent topic: IMS Support Tasks
Parent topic: Null MFS Fields
Related information
Migrating IMS Applications
To define how MFS attributes are coded


To start a WebSphere MQSeries trigger monitor

  1. Copy the supplied file CSQ4TRMN.JCL to an appropriate location. This file can be found in the base\source folder.
  2. Edit the QMGRNAME and INITQUEUENAME parameters to match the WebSphere MQ Queue Manager and Initiation Queue objects.
  3. Change the job class if required.
  4. Ensure that an initiator for the job class has been started.
  5. Submit CSQ4TRMN.JCL using the JCL Control Page under Enterprise Server Monitor and Control, or by using the cassub command.
Parent topic: IMS Support Tasks
Parent topic: What You Can Do


To stop a WebSphere MQSeries trigger monitor

  1. Copy the supplied file CSQ4STOP.JCL to an appropriate location. This file can be found in the base\source folder.
  2. Edit the PARM line to specify the appropriate Queue Manager and Initiation Queue.
  3. Submit CSQ4STOP.JCL using the JCL Control Page under Enterprise Server Monitor and Control, or by using the cassub command.
Attention: The trigger monitor should be stopped before stopping the Enterprise Server region.
Parent topic: IMS Support Tasks
Parent topic: What You Can Do


To generate a PSB for a Trigger Monitor

  1. Copy the supplied file CSQ5TRMN.PSB to an appropriate location. This file can be found in the base\source folder.
  2. At a command prompt enter the following command:
    mfims psbgen csq4trmn.psb nocls echo(enderr,0,55)
Parent topic: IMS Support Tasks
Parent topic: What You Can Do


To create an XA resource for a trigger monitor

  • Follow the steps in the topic To Add an XA Resource to an Enterprise Server Instance using the following properties:
    ID | MQXA
    Name | MQSERIES
    Module | DFHEIBMQ
    Open string | tpm=ESCICS,axlib=casaxlib.dll,qmname=queue manager name
    Enabled | checked
Parent topic: IMS Support Tasks
Parent topic: What You Can Do
Related information
To Add an XA Resource to an Enterprise Server Instance


Enterprise Server Reference

  • Administration and Configuration Commands
  • Error Messages
  • User Exits
  • XA Switch Modules
Parent topic: Enterprise Server


Administration and Configuration Commands

The following commands are available for performing Enterprise Server administration procedures.

  • casdump
    Forces a system dump.
  • casdup
    Formats a system dump or auxiliary trace dump so that it is suitable for analysis.
  • casperm
    Prepares Enterprise Server for use.
  • cassi
    Starts a service execution process. You should use this command only when you want to debug a service, using the /a option.
  • casstart
    Starts an enterprise server.
  • casstop
    Stops an enterprise server.
  • mfdepinst
    Installs the services contained in a COBOL archive file (.car file) onto the enterprise server.
  • mfds
    Manages the Directory Server.
  • mfpackage
    This utility is used for maintaining services and packages installed on an enterprise server. Its function is to delete all services and packages in a given namespace for a given enterprise server region.
Parent topic: Enterprise Server Reference


mfds

Syntax for starting or stopping the Directory Server:

mfds [/d|/dn network-address|/n network-address] [/j journal-path] [/r] [/p port-number]

Syntax for stopping the Directory Server

mfds [/p port-number] -s option [username password]

Syntax for reporting and exporting information:

mfds /v
mfds /m
mfds /e root-DN user-partition-DN group-partition-DN
          resource-partition-DN schema-format ldif-filename
          sec-path
mfds /l [schema partition Distinguished Name] option ldif-filename [schema-version-1] [schema-version-2]

Syntax for exporting the currently active MFDS process repository to a specified path:

mfds -x [repository type] [repository address] [server name] <opts> <user id> <password>

Examples:

"mfds -x 1 c:\myrepository *"
"mfds -x 1 c:\myrepository * S"
"mfds -x 1 c:\myrepository * O"
"mfds /x 1 c:\myrepository * SO"
"mfds /x 1 c:\myrepository ESDEMO"
"mfds /x 1 c:\myrepository ESDEMO D myid mypwd"

Syntax for creating a readable journal file from a binary journal file:

mfds /t output-filename input-filename
Note:

If output-filename is not specified, a default file of journal.txt will be created in the same directory as the input-filename

If input-filename is not specified, the default journal.dat file as specified by the default MFDS options file (mfdsacfg.dat) will be used.

This option can only convert journal.dat files to text if they have originated on the same hardware and software platform; it is not guaranteed that journal files imported from UNIX can be read by Windows and visa versa.

Syntax for installing and uninstalling Windows services:

mfds /c
mfds /u
mfds /i

Parameters:

/c
Install the Directory Server as a Windows service, and when it runs, show the debug information console. Once you have issued the mfds command with this parameter, you start Directory Server using the Windows Control Panel.
/d
Show debug information; this is a record of activity on the Directory Server that can be useful when investigating problems
/dn network-address
Show debug information and bind to the specific network adapter at network-address, where network-address is four decimal numbers of up to three digits separated by full stops.
/e root DNuser partition DNgroup partition DNresource partition DNschema formatldif-filenamesec-path
Export Directory Server users and groups from the MF Directory Server repository to an LDIF file:
  • root-DN

    The application partition to which all of the exported entries will be assigned.

  • user-partition-DN

    The name of the container within the application partition to which the exprted users will be assigned.

  • group-partition-DN

    The container within the application partition to which the exported groups will be assigned.

  • root-DN

    The container within the application partition to which the exported resource definitions will be assigned.

  • schema-format

    Values: 1 = Active Directory (Default).

  • sec-path

    The location of the MF Directory Server repository.

/i
Install the Directory Server as a Windows service, and when it runs, do not show the debug information console. Once you have issued the mfds command with this parameter, you start Directory Server using the Windows Control Panel.
/j directory-path
Override the journal path. Journal data will be written to the filesystem directory that you specify. For example: mfds /j e:\journal
/l [schema partition Distinguished Name] optionldif-filename [schema-version-1] [schema-version-2]
Export the schema extensions that an LDAP server will require to support Micro Focus applications.
  • schema partition Distinguished Name

    Specifies the DN of the partition in the Directory Information Tree where the schema definition is held. The schema partition holds, amongst other things, attributeSchema and classSchema objectclass instances.

  • option

    Specifies the target directory server type: 0 = Microsoft Active Directory Application Mode (ADAM), 1 = Active Directory (Default), 2 = OpenLDAP, 3 = Sun Directory

    Note:

    If you specify the ldif-filename , you must also specify a value for this parameter.

  • ldif-filename

    Specifies the name of the destination file.

    Default: mfds_schema_[ mfds version ].ldf (e.g. mfds_schema_1.05.09.ldf)

  • schema-version-1

    Specifies the version of the schema extensions to be generated: 0 = current schema version (Default). Numbers greater than 0 specify older schema versions.

  • schema-version-2

    This option is used for upgrading from a previous schema. If schema-version-2 is specified and is less the schema-version-1, the output file is a delta between the schema-version-1 and schema-version-2.

    If schema-version-2 is greater than or equal to schema-version-1, this option is ignored.

/m
Display the location of the Directory Server repository.
/n network-address
Bind to the specific network adapter at network-address, where network-address is four decimal numbers of up to three digits separated by full stops.
/p port-number
Bind to a non-standard port.
Note:

Many programs depend on Directory Server using the default port (86). Therefore, if you use an alternative port, you may experience interoperability problems.

You should also consider carefully before using this option to run more than one Directory Server on the same machine. By default, both would use the same options file and repository, and might therefore encounter conflicts.

/r
Refuse access to the Enterprise Server Administration interface.
/s option [usernamepassword]
Request a controlled shutdown of a Directory Server and optionally the associated enterprise servers. If the Directory Server is not using the default port, the /p option must be used to specify the port that is being used.
Option:
  • Value 1: Shutdown the Directory Server only
  • Value 2: Shutdown the Directory Server and any associated enterprise servers.

Username and password: These must be supplied if the Directory Server is running with Restrict administration access checked.

/u
Uninstall Directory Server as a Windows service
/v
Show version information for Directory Server
/x [repository type]
1 = file:///
[server name]
* = export all servers
<opts>
  • D = (default) do not delete or overwrite any existing repository contents at specified location.
  • O = delete and overwrite any existing repository contents at specified location.
  • S = export server and security manager configuration.
<user id> <password>
These are the MFDS credentials required if administration access is restricted.

Comments:

Note: Issuing an mfds command with any of the parameters /c, /e, /i, /l, /m, /u, /v does not start the Directory Server.

On UNIX you should use a dash (-) before a parameter as an alternative to a forward slash (/).

Parent topic: Administration and Configuration Commands


mfpackage

The utility is equivalent to deleting the services and packages using the Micro Focus Administration Console (MFDS), and can be used to prepare the server before deploying a new version of the service.

Syntax:

mfpackage [options] command service-namespace [parameters]

Parameters:

command | undeploy. Deletes the services and packages in the supplied namespace.
options | -m URL | host | Directory. Supported URL schemes are "file", "mrpi", and "ldap". Default is MFDS on the local system using the default port (equivalent to mrpi://localhost:86).
 | -s server | Operates on packages and services for this server. Required for undeploy.
 | -p password | Optional password for binding to directory.
 | service- namespace | The namespace for the services and packages. For a web service, this is everything before the "#" character in the service/package name. For a J2EE service, it is everything before the final "." character.

Example:

mfpackage -m mrpi://localhost -s ESDEMO undeploy http://tempuri.org/wmapserv
Parent topic: Administration and Configuration Commands


Error Messages

  • Client Messages
  • Deployment Error Messages
  • Directory Server Error Messages
  • Enterprise Server Error Messages
Parent topic: Enterprise Server Reference


Client Messages

This topic lists the messages that clients of Enterprise Server can display.

Error number | Meaning
-1 | Error status is unknown
0 | Success
00001 | Internal error in common client
00002 | Feature has not been implemented
00003 | Unsupported protocol version or feature
00004 | Requested object not found (in Directory Server repository)
00005 | Not used
00006 | Error in parameters to function
00007 | Resource unavailable, for example, memory allocation failed
00008 | Communications error
00009 | Object is in wrong state for operation
00010 | Bad data problem (for example, non-HTTP response to HTTP request)
00011 | Operating system error
00012 | An external component failed (for example MLDAP unable to bind to Directory Server)
00013 | Data was truncated
00014 | No data was available, possibly because the server was not available
00015 | Client request timed out
00016 | Requested service is not available
00017 | No user data was returned by the server
00100 | Invalid IDT version
00101 | Invalid message type
00102 | Servicename not found in IDT
00103 | Unsupported mapping
00150 | Unable to initialise request handler
00151 | Unable to initialise interface mapper
00250 | Unable to initialise SOAP parser
00400 | Invalid binary protocol version
00401 | Unrecognised binary protocol message
00402 | Program/entry point not found
00450 | Invalid namespace for SOAP envelope
00451 | Invalid namespace for SOAP header
00452 | Invalid namespace for SOAP body
00453 | Invalid SOAP message
00454 | No SOAP URI in SOAP message
00455 | SOAP action URI differs from SOAP Body URI
00456 | Unable to resolve href in SOAP message
00457 | Unrecognised encoding style
00458 | Illegal character in SOAP string
00500 | Parameter not found in IDT
00501 | External data not located
00502 | Invalid implementation language
00503 | Unsupported mapping
00504 | Expected mapping not defined
00505 | Invalid ODO item
00506 | Invalid structured mapping
00507 | Insuffient subscripts for external item
00508 | Subscript for external item does not exist
00509 | Too many subscripts for external item
00510 | Error in exit handler
00600 | External field not found
00601 | Unsupported external data type
00602 | Expected parameter not supplied by external interface
00603 | Expected external structure field not found
00604 | Expected external array field not found
00605 | Incorrect number of parameters supplied
00606 | Incorrect number of fields in supplied structure
00607 | External data type mismatch
00608 | Unknown external data type
00609 | Incorrect number of array elements
00610 | Too many array elements passed in message
01400 | HTTP response: bad request
01401 | HTTP response: unauthorized
01403 | HTTP response: forbidden
01404 | HTTP response: not found
01405 | HTTP response: method not allowed
01406 | HTTP response: not acceptable
01407 | HTTP response: proxy authentication required
01408 | HTTP response: request timeout
01409 | HTTP response: conflict
01410 | HTTP response: gone
01411 | HTTP response: length required
01412 | HTTP response: precondition failed
01413 | HTTP response: request entity too large
01414 | HTTP response: request-URI too long
01415 | HTTP response: unsupported media type
01416 | HTTP response: requested range not satisfiable
01417 | HTTP response: expectation failed
01500 | HTTP response: internal server error
01501 | HTTP response: not implemented
01502 | HTTP response: bad gateway
01503 | HTTP response: service unavailable
01504 | HTTP response: gateway timeout
01505 | HTTP version not supported
02000 | SOAP response fault
Parent topic: Error Messages


Deployment Error Messages

The deployment program that deploys services to Enterprise Server writes its messages to a file called deploylog.txt. This file is stored on the server in the directory that contains the COBOL archive file (.car) being installed. This directory is created under the deployment directory (by default named deploy) during deployment. While deployment is in process, Net Express displays the messages in the Deployment Progress window.

The deployment messages begin with a four-digit number. Messages 2000-3999 are warnings; and 4000-onwards are fatal errors. Message 9999 indicates that deployment did not complete successfully.

  • 2000 Element element-name in Manifest is unrecognized; ignoring it
    This is a non-fatal error encountered while processing the manifest. The service might not deploy successfully or might not be fully configured.
  • 2001 File number in the file list has no name - skipping it
    The manifest contains an entry which is missing required data. This condition is not fatal but indicates a malformed manifest file.
  • 2001 Operation number in the service description has no name - skipping it
    The manifest contains an entry which is missing required data. This condition is not fatal but indicates a malformed manifest file.
  • 2002 File filename not found in CAR file: unzip error error-code
    The deployment program was unable to locate the named file in the COBOL archive (.car) file. The .car file is damaged or the manifest is incorrect.
  • 2003 File pathname complete-path is absolute; reducing to filename filename-without-path
    For security reasons, the deployment program installs only files relative to the installation directory. Relative file paths specified in the manifest are honored (subdirectories are created under the installation directory as necessary), but absolute file paths are discarded and the files are installed in the installation directory.
  • 2004 File pathname complete-path contains an invalid expression; reducing to filename filename-without-path
    For security reasons, the deployment program rejects relative file paths if they contain certain strings, such as "..". The file is installed in the installation directory.
  • 2005 Warning: error processing configuration file ../.mfdeploy: system error message
    This message indicates that the deployment program encountered a problem reading its configuration file. The system error message text at the end of this message provides additional details.
  • 2006 Listener listener-name has no UID
    The UID (universal identifier) attribute is missing for the named object. This is an internal error in MLDAP or the Directory Server directory.
  • 2006 Server server-name has no UID
    The UID (universal identifier) attribute is missing for the named object. This is an internal error in MLDAP or the Directory Server directory.
  • 2006 Server/listener name needed to add MFDS objects not supplied.
    The named server or listener does not exist in the Directory Server directory. The deployment program uses the server/listener name in the configuration file .mfdeploy to update the Directory Server directory.
  • 2006 Unable to find handler handler-name in directory: (MLDAP error code) MLDAP error message
    The deployment program queries the Directory Server directory for the predefined request handlers (MFRHSOAP and MFRHBINP), which it needs to fully configure the new package objects. This message is issued if it cannot find one of the handlers.
  • 2006 Unable to find listener listener-name in directory: (MLDAP error code) MLDAP error message
    The named server or listener does not exist in the Directory Server directory. The deployment program uses the server/listener name in the configuration file .mfdeploy to update the Directory Server directory.
  • 2006 Unable to find server server-name in directory: (MLDAP error code) MLDAP error message
    The named server or listener does not exist in the Directory Server directory. The deployment program uses the server/listener name in the configuration file .mfdeploy to update the Directory Server directory.
  • 2007 Unable to bind to MFDS: (MLDAP error code) MLDAP error message
    The deployment program was unable to initialize its connection to the Directory Server directory. No directory updates can be made, but files are still extracted from the COBOL archive (.car) file. This might indicate an error in the configuration file .mfdeploy, which is in the deployment directory (by default called deploy).
  • 2007 Unable to connect to MFDS: (MLDAP error code) MLDAP error message
    The deployment program was unable to initialize its connection to the Directory Server directory. No directory updates can be made, but files are still extracted from the COBOL archive (.car) file. This might indicate an error in the configuration file .mfdeploy, which is in the deployment directory (by default called deploy).
  • 2008 Directory returned no information for listener listener-name
    This is an internal error in MLDAP or MFDS, encountered while retrieving information required to add services to the Directory Server directory.
  • 2008 Directory returned no information for server server-name
    This is an internal error in MLDAP or MFDS, encountered while retrieving information required to add services to the Directory Server directory.
  • 2008 Unable to add object object-name: (MLDAP error code) MLDAP error message
    MLDAP returned an error when the deployment program tried to add the named object to the Directory Server directory.
  • 2008 Unable to generate UID for object object-name: (MLDAP error code) MLDAP error message
    When the deployment program adds an object to the Directory Server repository, it must generate a new UID (unique identifier) using MLDAP. This message is issued if the request to generate a UID fails. The object cannot be added to the directory.
  • 2009 number servers named server-name found in directory; using the first one
    MLDAP found more than one server with the given name. The deployment program uses the first one.
  • 2009 number listeners named listener-name found in directory; using the first one
    MLDAP found more than one listener with the given name. The deployment program uses the first one.
  • 2010 Problems were encountered while adding the object-nameobject-type to the directory - see previous messages
    This message is logged if a package or service could not be added to the directory.
  • 2011 No service qualifier supplied - cannot check service existence
    The deployment program attempts to check if any services already exist with the same service namespace as the ones defined in this COBOL archive (.car) file. (The service namespace is the part of the service name before the # character for SOAP services, or before the period for MFBINP services). If any services exist, deployment fails because Enterprise Server does not currently support updating services by redeploying them.
  • 2012 Unable to obtain ServiceType attribute of Application element
    The manifest specifies a service type for the services contained in this COBOL archive file (.car) file. Normally the type is SOAP or J2EE, indicating that the services use the MFRHSOAP or MFRHBINP request handler. This manifest specifies a service type that the deployment program does not recognize, so the services created by the deployment program for this COBOL archive file (.car) file will not have a request handler associated with them.
  • 2013 Unable to set timestamp for file filename
    The deployment program was unable to set the file modification date and time for the specified file to the date and time stored for it in the COBOL archive file (.car) file. The file will have the date and time that it was installed.
  • 2020 Failed to notify ES server server name of new service service nameerror code
    The deployment program was unable to update the running server with information about the new service. The error code displayed at the end of the message is for Micro Focus support use. There should be one or more messages preceding this one in the log with more information.
  • 2021 Cannot create client context for ES add-service message: (MFCC error code) MFCC error message
    MFCC (Micro Focus Common Client, mclient.dll) returned an error while the deployment program was trying to update the running enterprise server with the new services. The update attempt might have failed.
  • 2021 Cannot set destination for ES add-service message: (MFCC error code) MFCC error message
    MFCC (Micro Focus Common Client, mclient.dll) returned an error while the deployment program was trying to update the running enterprise server with the new services. The update attempt might have failed.
  • 2021 Error receiving response to ES add-service message: (MFCC error code MFCC error message
    MFCC (Micro Focus Common Client, mclient.dll) returned an error while the deployment program was trying to update the running enterprise server with the new services. The update attempt might have failed.
  • 2021 Error sending ES add-service message: (MFCC error code) MFCC error message
    MFCC (Micro Focus Common Client, mclient.dll) returned an error while the deployment program was trying to update the running enterprise server with the new services. The update attempt might have failed.
  • 2021 mclient message: error message from MFCC
    MFCC (Micro Focus Common Client, mclient.dll) returned an error while the deployment program was trying to update the running enterprise server with the new services. The update attempt might have failed.
  • 2021 Micro Focus common client unavailable: (MFCC error code) MFCC error message
    MFCC (Micro Focus Common Client, mclient.dll) returned an error while the deployment program was trying to update the running enterprise server with the new services. The update attempt might have failed.
  • 2021 Unable to connect to Enterprise Server at communications destination (TCP/IP address): (MFCC error code) MFCC error message
    MFCC (Micro Focus Common Client, mclient.dll) returned an error while the deployment program was trying to update the running enterprise server with the new services. The update attempt might have failed.
  • 2022 Empty response from ES to add-service message
    The deployment program was able to send the request to add a service to Enterprise Server, but either no response was received from Enterprise Server, or the response did not indicate success.
  • 2022 Error internal Micro Focus error code retrieving return code from ES response
    The deployment program was able to send the request to add a service to Enterprise Server, but either no response was received from Enterprise Server, or the response did not indicate success.
  • 2022 ES was unable to process the service addition: failure reason
    The deployment program was able to send the request to add a service to Enterprise Server, but either no response was received from Enterprise Server, or the response did not indicate success.
  • 2022 No return code received from ES in response to add-service message
    The deployment program was able to send the request to add a service to Enterprise Server, but either no response was received from Enterprise Server, or the response did not indicate success.
  • 2022 Unable to process ES return code from response to add-service message
    The deployment program was able to send the request to add a service to Enterprise Server, but either no response was received from Enterprise Server, or the response did not indicate success.
  • 2022 Unrecognized response from ES to add-service message
    The deployment program was able to send the request to add a service to Enterprise Server, but either no response was received from Enterprise Server, or the response did not indicate success.
  • 2023 Enterprise Server was unable to invoke the add-service function
    Enterprise Server was not able to add the service.
  • 2025 Multiple IDT files in manifest
    Each COBOL archive file (.car file) created by the IMTK contains a special file called the manifest which describes the service and the contents of the .car. A .car file usually also contains an .idt file, which contains the IDT that describes the service interface(s). mfdepinst needs to identify the.idt file when it creates the package objects in the Directory Server. There should only be a single .idt file listed in the manifest. This warning message means that more than one.idt file was found in the manifest. mfdepinst will use the first one when creating packages.
  • 4001 Incorrect number of arguments (number, should be 1) [usage and version information follows]
    This message is displayed when the deployment program is invoked incorrectly. It can be used to check the the deployment program version.
  • 4002 Cannot open CAR file car-filename in directory: error
    The deployment program was unable to open the COBOL archive file (.car).
  • 4003 Cannot create log file deploylog.txt: error-message
    A file I/O error occurred.
  • 4003 Cannot open log file deploylog.txt: error-message
    A file I/O error occurred.
  • 4003 Unable to create directory: directory-nameerror-message
    A file I/O error occurred.
  • 4003 Unable to create file: filenameerror-message
    A file I/O error occurred.
  • 4003 Unable to write to file: filenameerror-message
    A file I/O error occurred.
  • 4004 Error reading contents of file filename from CAR file: unzip error unzip-error-code
    The manifest or another file is missing from the COBOL archive (.car) file, or the .car file is corrupt.
  • 4004 Manifest filename not found in CAR file: unzip error unzip-error-code
    The manifest or another file is missing from the COBOL archive (.car) file, or the .car file is corrupt.
  • 4004 Unable to extract manifest: unzip error unzip-error-code
    The manifest or another file is missing from the COBOL archive (.car) file, or the .car file is corrupt.
  • 4004 Unable to open file filename in CAR file: unzip error unzip-error-code
    The manifest or another file is missing from the COBOL archive (.car) file, or the .car file is corrupt.
  • 4004 Unable to open manifest in CAR file: unzip error unzip-error-code
    The manifest or another file is missing from the COBOL archive (.car) file, or the .car file is corrupt.
  • 4004 Unable to retrieve information about file: unzip error unzip-error-code
    The manifest or another file is missing from the COBOL archive (.car) file, or the .car file is corrupt.
  • 4004 Unable to retrieve information about manifest: unzip error unzip-error-code
    The manifest or another file is missing from the COBOL archive (.car) file, or the .car file is corrupt.
  • 4005 Unable to allocate number bytes for area being allocated
    The deployment program was unable to allocate memory.
  • 4006 Error initializing XML parser: CDOM error code
    The deployment program was unable to parse the manifest.
  • 4006 Error parsing manifest: CDOM error code
    The deployment program was unable to parse the manifest.
  • 4007 No "Manifest" element found in manifest
    The manifest must begin with a "Manifest" element, and the deployment program could not find it. The manifest cannot be processed.
  • 4008 Error locating "Manifest" element in manifest: CDOM error code
    A required element of the manifest could not be found or processed.
  • 4008 XML parser error retrieving element name: CDOM error code
    A required element of the manifest could not be found or processed.
  • 4008 XML parser error while processing file number in file list: CDOM error code
    A required element of the manifest could not be found or processed.
  • 4008 XML parser error while processing operation number in service service-name: CDOM error code
    A required element of the manifest could not be found or processed.
  • 4010 Attempted to add too many attributes to new object
    This is an internal error.
  • 4020 Unable to add service and package objects to directory
    The deployment program was not able to update the Directory Server directory
  • 4021 Directory already contains one or more services or packages with service qualifier service-qualifier for server server-name
    The services to be deployed conflict with one or more service or package objects already in the Directory Server directory for this server.
  • 9999 Exiting. Installation not complete
    A fatal error occurred. The deployment program is exiting and one or more services were not installed successfully.
Parent topic: Error Messages


2000 Element element-name in Manifest is unrecognized; ignoring it

Resolution:

Contact Micro Focus support for more information.

Parent topic: Deployment Error Messages


2001 File number in the file list has no name - skipping it

Resolution:

Correct the manifest file.

Parent topic: Deployment Error Messages


2001 Operation number in the service description has no name - skipping it

Resolution:

Correct the manifest file.

Parent topic: Deployment Error Messages


2002 File filename not found in CAR file: unzip error error-code

Resolution:

Redeploy the service or contact Micro Focus support.

Parent topic: Deployment Error Messages


2003 File pathname complete-path is absolute; reducing to filename filename-without-path

Resolution:

If the file does not need to be extracted to a subdirectory, no resolution is necessary. If the file must be in a separate directory, move it manually or redeploy the service with a relative path specified for the file.

Parent topic: Deployment Error Messages


2004 File pathname complete-path contains an invalid expression; reducing to filename filename-without-path

Resolution:

Parent topic: Deployment Error Messages


2005 Warning: error processing configuration file ../.mfdeploy: system error message

Resolution:

Deployment might not succeed. In that case, correct the problem with the configuration file .mfdeploy, which is in the deployment directory (by default named deploy).

Parent topic: Deployment Error Messages


2006 Listener listener-name has no UID

Resolution:

Parent topic: Deployment Error Messages


2006 Server server-name has no UID

Resolution:

Restore the Directory Server directory from a backup, if one is available, and try the deployment again, or contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


2006 Server/listener name needed to add MFDS objects not supplied.

This message might indicate an MLDAP error communicating with Directory Server.

Resolution:

Correct the file .mfdeploy, which is in the deployment directory (by default named deploy), to specify the server (or listener) name that will own the newly deployed services and packages. Alternatively, correct the named server (or listener) in the Directory Server directory using the Enterprise Server Administration console.

If this is an MLDAP error, contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


2006 Unable to find handler handler-name in directory: (MLDAP error code) MLDAP error message

Resolution:

Use the Enterprise Server Administration console to configure the deployed services manually.

Parent topic: Deployment Error Messages


2006 Unable to find listener listener-name in directory: (MLDAP error code) MLDAP error message

This message might indicate an MLDAP error communicating with Directory Server.

Resolution:

Correct the file .mfdeploy, which is in the deployment directory (by default named deploy), to specify the server (or listener) name that will own the newly deployed services and packages. Alternatively, correct the named server (or listener) in the Directory Server directory using the Enterprise Server Administration console.

If this is an MLDAP error, contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


2006 Unable to find server server-name in directory: (MLDAP error code) MLDAP error message

This message might indicate an MLDAP error communicating with Directory Server.

Resolution:

Correct the file .mfdeploy, which is in the deployment directory (by default named deploy), to specify the server (or listener) name that will own the newly deployed services and packages. Alternatively, correct the named server (or listener) in the Directory Server directory using the Enterprise Server Administration console.

If this is an MLDAP error, contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


2007 Unable to bind to MFDS: (MLDAP error code) MLDAP error message

Resolution:

Either create services manually using the Enterprise Server Administration console or deploy them again when the Directory Server becomes available.

Parent topic: Deployment Error Messages


2007 Unable to connect to MFDS: (MLDAP error code) MLDAP error message

Resolution:

Either create services manually using the Enterprise Server Administration console or deploy them again when the Directory Server becomes available.

Parent topic: Deployment Error Messages


2008 Directory returned no information for listener listener-name

Resolution:

Contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


2008 Directory returned no information for server server-name

Resolution:

Contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


2008 Unable to add object object-name: (MLDAP error code) MLDAP error message

Resolution:

Contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


2008 Unable to generate UID for object object-name: (MLDAP error code) MLDAP error message

Resolution:

Contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


2009 number servers named server-name found in directory; using the first one

Resolution:

The services might not be added to the server you intended to add them to. In general, avoid creating multiple servers with the same name.

Parent topic: Deployment Error Messages


2009 number listeners named listener-name found in directory; using the first one

Resolution:

The services might not be added to the listener you intended to add them to. In general, avoid creating multiple servers with the same name.

Parent topic: Deployment Error Messages


2010 Problems were encountered while adding the object-nameobject-type to the directory - see previous messages

Resolution:

See the messages preceding this one in the log describing the specific problems.

Parent topic: Deployment Error Messages


2011 No service qualifier supplied - cannot check service existence

This message indicates that the manifest file does not contain a service qualifier, so the check cannot be made. There might be problems adding the services to the Directory Server directory or the running enterprise server.

Resolution:

If you believe this is an error in deployment, make sure that a service namespace is specified in the deployment settings for the Web Service. To set this:

  1. Open the service interface in Net Express.
  2. Right-click the Web Service to deploy.
  3. Click Settings.
  4. Click Advanced
  5. Specify the service namespace in the field provided.

Then redeploy the service.

Parent topic: Deployment Error Messages


2012 Unable to obtain ServiceType attribute of Application element

Resolution:

Use the Enterprise Server Administration console to set the request handler manually.

Parent topic: Deployment Error Messages


2013 Unable to set timestamp for file filename

Resolution:

If the file must have a different modification time than the time of installation, you can change it manually using a program such as "touch" from the Windows Services for UNIX package.

Parent topic: Deployment Error Messages


2020 Failed to notify ES server server name of new service service nameerror code

Resolution:

Contact Micro Focus support.

Parent topic: Deployment Error Messages


2021 Cannot create client context for ES add-service message: (MFCC error code) MFCC error message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2021 Cannot set destination for ES add-service message: (MFCC error code) MFCC error message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2021 Error receiving response to ES add-service message: (MFCC error code MFCC error message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2021 Error sending ES add-service message: (MFCC error code) MFCC error message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2021 mclient message: error message from MFCC

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2021 Micro Focus common client unavailable: (MFCC error code) MFCC error message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2021 Unable to connect to Enterprise Server at communications destination (TCP/IP address): (MFCC error code) MFCC error message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2022 Empty response from ES to add-service message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2022 Error internal Micro Focus error code retrieving return code from ES response

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2022 ES was unable to process the service addition: failure reason

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2022 No return code received from ES in response to add-service message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2022 Unable to process ES return code from response to add-service message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2022 Unrecognized response from ES to add-service message

Resolution:

Stop and restart the server to make the new services available.

Parent topic: Deployment Error Messages


2023 Enterprise Server was unable to invoke the add-service function

Resolution:

See the Enterprise Server Administration console for more information.

Parent topic: Deployment Error Messages


2025 Multiple IDT files in manifest

Resolution:

The manifest in the .car file may be invalid, or the user may have explicitly included additional .idt files in the .car file. If the service settings in the IMTK specify "Legacy application needs deploying", check that no .idt files are included in the list of files to be deployed. Delete and redeploy the service. If the problem remains, contact Micro Focus support.

Parent topic: Deployment Error Messages


4001 Incorrect number of arguments (number, should be 1) [usage and version information follows]

Resolution:

This message occurs only when you run the deployment program mfdepinst from the command line. If you do this, provide the name of the COBOL archive (.car) file to be installed on the command line. Otherwise, no resolution is necessary.

Parent topic: Deployment Error Messages


4002 Cannot open CAR file car-filename in directory: error

Resolution:

Redeploy the service. Alternatively check the directory to verify that the COBOL archive (.car) file exists and that file permissions are correct. Then run the deployment program mfdepinst manually from the specified directory, providing the .car filename on the command line.

Parent topic: Deployment Error Messages


4003 Cannot create log file deploylog.txt: error-message

Resolution:

Correct the condition identified by the error message. Then redeploy the service or run the deployment program mfdepinst manually.

Parent topic: Deployment Error Messages


4003 Cannot open log file deploylog.txt: error-message

Resolution:

Correct the condition identified by the error message. Then redeploy the service or run the deployment program mfdepinst manually.

Parent topic: Deployment Error Messages


4003 Unable to create directory: directory-nameerror-message

Resolution:

Correct the condition identified by the error message. Then redeploy the service or run the deployment program mfdepinst manually.

Parent topic: Deployment Error Messages


4003 Unable to create file: filenameerror-message

Resolution:

Correct the condition identified by the error message. Then redeploy the service or run the deployment program mfdepinst manually.

Parent topic: Deployment Error Messages


4003 Unable to write to file: filenameerror-message

Resolution:

Correct the condition identified by the error message. Then redeploy the service or run the deployment program mfdepinst manually.

Parent topic: Deployment Error Messages


4004 Error reading contents of file filename from CAR file: unzip error unzip-error-code

Resolution:

The COBOL archive (.car) file is damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages
Related information
Deployment Error Messages
Deploying Interfaces


4004 Manifest filename not found in CAR file: unzip error unzip-error-code

Resolution:

The COBOL archive (.car) file is damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages
Related information
Deployment Error Messages
Deploying Interfaces


4004 Unable to extract manifest: unzip error unzip-error-code

Resolution:

The COBOL archive (.car) file is damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4004 Unable to open file filename in CAR file: unzip error unzip-error-code

Resolution:

The COBOL archive (.car) file is damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4004 Unable to open manifest in CAR file: unzip error unzip-error-code

Resolution:

The COBOL archive (.car) file is damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4004 Unable to retrieve information about file: unzip error unzip-error-code

Resolution:

The .car file is damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4004 Unable to retrieve information about manifest: unzip error unzip-error-code

Resolution:

The COBOL archive (.car) file is damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4005 Unable to allocate number bytes for area being allocated

Resolution:

Contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


4006 Error initializing XML parser: CDOM error code

Resolution:

Contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


4006 Error parsing manifest: CDOM error code

Resolution:

The COBOL archive (.car) file may be damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4007 No "Manifest" element found in manifest

Resolution:

The COBOL archive (.car) file may be damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4008 Error locating "Manifest" element in manifest: CDOM error code

Resolution:

The COBOL archive (.car) file may be damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4008 XML parser error retrieving element name: CDOM error code

Resolution:

The COBOL archive (.car) file may be damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4008 XML parser error while processing file number in file list: CDOM error code

Resolution:

The COBOL archive (.car) file may be damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4008 XML parser error while processing operation number in service service-name: CDOM error code

Resolution:

The COBOL archive (.car) file may be damaged. Redeploy the service or contact Micro Focus support for further assistance.

Parent topic: Deployment Error Messages


4010 Attempted to add too many attributes to new object

Resolution:

Contact Micro Focus support for assistance.

Parent topic: Deployment Error Messages


4020 Unable to add service and package objects to directory

Resolution:

See the previous messages in the deployment log for possible additional information. This lof file is deploylog.txt and is held in the subdirectories of base\deploy in your Net Express installation. Alos check the Enterprise Server Administration console's Journal page for errors. When you have fixed the problems, redeploy the service.

Parent topic: Deployment Error Messages


4021 Directory already contains one or more services or packages with service qualifier service-qualifier for server server-name

Resolution:

Change the service qualifier for the new services (under deployment options in Net Express), or delete the existing service and package objects.

Parent topic: Deployment Error Messages


9999 Exiting. Installation not complete

Resolution:

See the other messages in the log for more information.

Parent topic: Deployment Error Messages


Directory Server Error Messages

This topic lists the messages that the Directory Server can display, and gives an explanation or advice or both for those that are not self-explanatory.

Format of Messages

The Directory Server displays messages in the status line in the format:

MDSnnnns message-text

where MDS stands for Micro Focus Directory Server and the variables are:

nnnn | A four-digit message number
s | One of the following severity codes: I Information only; no action is required W Warning: the action you attempted succeeded but with results that you need to be aware of E Error: the action you attempted failed
message-text | The text of the message

Messages with the severity E (for Error) appear in red.

  • Directory Server Error Messages 0 to 20
    Lists the Directory Server error messages from 0 through to 20
  • Directory Server Error Messages 21 to 40
    Lists the Directory Server Error Messages 21 to 40
  • Directory Server Error Messages 41 to 60
    Lists the Directory Server Error Messages, 41 to 60
  • Directory Server Error Messages 61 to 80
    Lists the Directory Server Error Messages 61 to 80
  • Directory Server Error Messages 81 to end
    Lists the Directory Server Error Messages 81 to the last error message in the range.
Parent topic: Error Messages


Directory Server Error Messages 0 to 20

  • MDS0000I OK
    The Directory Server has executed your previous instruction successfully
  • MDS0001I Logged on OK
    You have successfully logged on.
  • MDS0002E Logon failed
    Either the user ID or password used to log on were incorrect.
  • MDS0003I Logged off OK
    You have successfully logged off.
  • MDS0004I Repository cleared OK
    All the information in the current repository has been deleted successfully.
  • MDS0005I Network search complete
    The Directory Server has finished searching the network for other instances of Directory Server.
  • MDS0006I All objects copied successfully
  • MDS0007E Duplicate server exists
    You tried to create a server with the same name as one that already exists.
  • MDS0008E Duplicate server name already exists
    You tried to create a server with the same name as one that already exists.
  • MDS0009E Invalid server specified.
    You have specified an invalid server name or IP address when copying an enterprise server.
  • MDS0010E Invalid endpoint specified
    The address or port value or syntax of the endpoint value are incorrect or could not be understood by the Directory Server.
  • MDS0012E Duplicate service name exists
    You tried to create a service with the same name as one that already exists for this enterprise server.
  • MDS0013E Duplicate listener exists
    You tried to create a listener with the same name as one that already exists for this enterprise server.
  • MDS0014E Duplicate user already exists
    You tried to add a user but specified a user ID that already exists.
  • MDS0015E Schema Administrators cannot reduce their own permission level
    If you have logged on as a Schema Administrator, you cannot reduce your own permission level. This is because if you did so, it would be impossible for any users to be added, updated or deleted.
  • MDS0016E Invalid endpoint specified
    You specified an invalid endpoint for a listener.
  • MDS0017E Object must have a name
    You tried to add an object (such as a service or listener) but did not give it a name.
  • MDS0018I New server session
    The Directory Server has been stopped and restarted since the last time the browser connected to it.
  • MDS0019I Client session has timed out: please log on again
    A client session expires when the client performs no action for a period that exceeds the timeout period. When this occurs the client is automatically logged out and must log on again to continue working.
  • MDS0020E Minimum client timeout is 60 seconds
    You entered an invalid client timeout period.
Parent topic: Directory Server Error Messages


MDS0000I OK

Parent topic: Directory Server Error Messages 0 to 20


MDS0001I Logged on OK

Parent topic: Directory Server Error Messages 0 to 20


MDS0002E Logon failed

Resolution:

Retype your user ID and password, ensuring that you enter them correctly. User IDs and passwords are case sensitive.

Parent topic: Directory Server Error Messages 0 to 20


MDS0003I Logged off OK

Parent topic: Directory Server Error Messages 0 to 20


MDS0004I Repository cleared OK

Parent topic: Directory Server Error Messages 0 to 20


MDS0005I Network search complete

Parent topic: Directory Server Error Messages 0 to 20


MDS0006I All objects copied successfully

Parent topic: Directory Server Error Messages 0 to 20


MDS0007E Duplicate server exists

Parent topic: Directory Server Error Messages 0 to 20


MDS0008E Duplicate server name already exists

Parent topic: Directory Server Error Messages 0 to 20


MDS0009E Invalid server specified.

Resolution:

Repeat the operation specifying a valid server name of up to 8 characters with no include angle brackets (<>) or ampersands (&).

Parent topic: Directory Server Error Messages 0 to 20


MDS0010E Invalid endpoint specified

Parent topic: Directory Server Error Messages 0 to 20


MDS0012E Duplicate service name exists

Parent topic: Directory Server Error Messages 0 to 20


MDS0013E Duplicate listener exists

Parent topic: Directory Server Error Messages 0 to 20


MDS0014E Duplicate user already exists

Parent topic: Directory Server Error Messages 0 to 20


MDS0015E Schema Administrators cannot reduce their own permission level

Parent topic: Directory Server Error Messages 0 to 20


MDS0016E Invalid endpoint specified

Resolution:

Specify an endpoint of the form:

protocol:ip-address:port

where:

  • protocol is tcp
  • ip-address is either the text host name or IP address of the listener. An asterisk (*) indicates that the address is dynamically assigned for the listener when it starts.
  • port is the port value. An asterisk (*) indicates that the port is dynamically assigned for the listener when it starts
Parent topic: Directory Server Error Messages 0 to 20


MDS0017E Object must have a name

Parent topic: Directory Server Error Messages 0 to 20


MDS0018I New server session

Parent topic: Directory Server Error Messages 0 to 20


MDS0019I Client session has timed out: please log on again

Resolution:

You can change the client timeout period on the Configure Options page.

Parent topic: Directory Server Error Messages 0 to 20


MDS0020E Minimum client timeout is 60 seconds

Resolution:

Enter a value of 60 or greater, or 01, which indicates an indefinite timeout period.

Parent topic: Directory Server Error Messages 0 to 20


Directory Server Error Messages 21 to 40

  • MDS0021E Minimum page size is 5 entries
    You entered an invalid minimum page size for the journal.
  • MDS0022E Minimum journal size is 32 KB
    You entered an invalid minimum journal size for the journal.
  • MDS0023E Insufficient memory for this operation
    There was insufficient computer memory for this operation to succeed.
  • MDS0024E Password mismatch
    Password mismatch.
  • MDS0025E Confirmation password mismatch
    The confirmation password does not match the password you first entered.
  • MDS0026E Old password required
    Old password required.
  • MDS0027E New password required
    You have not specified a password when creating a new user.
  • MDS0028E Invalid characters in password
    Invalid characters in password.
  • MDS0029E Selected object does not exist
    You tried to edit an object that another user has just deleted.
  • MDS0030W Some or all objects not copied: see journal for details
    You tried to copy a server but the Directory Server was unable to copy all objects related to the server.
  • MDS0031E Maximum port value is 65535
    You entered a port value in an endpoint that exceeds 65535.
  • MDS0032E Object could not be added
    There was an error adding the object. See journal for more details of the error.
  • MDS0035E Minimum object limit is 64
    You tried to reduce the limit for the maximum number of objects below 64, which is not allowed.
  • MDS0036E Maximum object limit is 9999
    You tried to reduce the limit for the maximum number of objects above 9999, which is not allowed.
  • MDS0037E Operation would breach the configured object limit
    This action has been rejected because to perform it would mean increasing the number of objects in the repository above the maximum object count.
  • MDS0038E Minimum object limit is smaller than the current number of objects
    You tried to reduce the maximum object count to less than the current number of registered objects.
Parent topic: Directory Server Error Messages


MDS0021E Minimum page size is 5 entries

Resolution:

Enter a value of 5 or greater.

Parent topic: Directory Server Error Messages 21 to 40


MDS0022E Minimum journal size is 32 KB

Resolution:

Enter a value of 32 (KB) or greater.

Parent topic: Directory Server Error Messages 21 to 40


MDS0023E Insufficient memory for this operation

Resolution:

Try closing some application programs.

Parent topic: Directory Server Error Messages 21 to 40


MDS0024E Password mismatch

Parent topic: Directory Server Error Messages 21 to 40


MDS0025E Confirmation password mismatch

Parent topic: Directory Server Error Messages 21 to 40


MDS0026E Old password required

Parent topic: Directory Server Error Messages 21 to 40


MDS0027E New password required

Resolution:

Specify a valid password. Passwords can contain alphabetical and numeric characters only and are case sensitive.

Parent topic: Directory Server Error Messages 21 to 40


MDS0028E Invalid characters in password

Parent topic: Directory Server Error Messages 21 to 40


MDS0029E Selected object does not exist

Parent topic: Directory Server Error Messages 21 to 40


MDS0030W Some or all objects not copied: see journal for details

Resolution:

View the journal to find out which objects were not copied. Add them to the server individually.

Parent topic: Directory Server Error Messages 21 to 40


MDS0031E Maximum port value is 65535

Parent topic: Directory Server Error Messages 21 to 40


MDS0032E Object could not be added

Parent topic: Directory Server Error Messages 21 to 40


MDS0035E Minimum object limit is 64

Parent topic: Directory Server Error Messages 21 to 40


MDS0036E Maximum object limit is 9999

Parent topic: Directory Server Error Messages 21 to 40


MDS0037E Operation would breach the configured object limit

Resolution:

You can change the maximum object count on the Configure Options page.

Parent topic: Directory Server Error Messages 21 to 40


MDS0038E Minimum object limit is smaller than the current number of objects

Parent topic: Directory Server Error Messages 21 to 40


Directory Server Error Messages 41 to 60

  • MDS0043I Journal exported as text into file journal.txt OK
    The journal file has been successfully converted to a text file called journal.txt, located in the install-dir\base\bin directory if Enterprise Server is installed as part of Net Express, or in install-dir\bin if Enterprise Server is installed standalone.
  • MDS0044E Server name missing
    You tried to add a server without the mandatory server name value.
  • MDS0045E Duplicate request handler or package name exists
    You tried to create a request handler or a package with the same name as one that already exists for this enterprise server.
  • MDS0047E Package must have an IDT path
    You tried to add a package without a mandatory IDT path value, or you deleted the IDT path value while editing the package.
  • MDS0048E Server refused state change request
    The change you requested requires the enterprise server to take immediate action, but the Directory Server did not receive confirmation from the enterprise server that the action was completed.
  • MDS0049E Server refused state change request reason code:
    The change you requested requires the enterprise server to take immediate action, but the Directory Server did not receive confirmation from the enterprise server that the action was completed. The internal reason code is shown.
  • MDS0050E Server instance count must be at least 1
    You tried to reduce the number of service execution processes to less than 1.
  • MDS0051I Value change request accepted
    A request to change the number of service execution processes or licenses has been accepted.
  • MDS0052I Diagnostic dump request accepted
    The enterprise server has accepted the request to create a dump.
  • MDS0053E Diagnostic dump request failed
    The enterprise server has rejected the request to create a dump.
  • MDS0054I Configuration saved
    The current Directory Server configuration options have been saved.
  • MDS0055I Configuration defaults restored
    The default Directory Server configuration options have been restored.
  • MDS0056E Insufficient permission level for request
    You tried to perform an action that your permission level does not allow.
  • MDS0057E Resource manager ID field must have a value
    You tried to add an external resource manager in the enterprise server definition without a mandatory ID value or you deleted the ID value while editing the resource manager definition.
  • MDS0058E Resource manager name field must have a value
    You tried to add an external resource manager in the enterprise server definition without a mandatory name value or you deleted the name value while editing the resource manager definition.
  • MDS0059E Resource manager module field must have a value
    You tried to add an external resource manager in the enterprise server definition without a mandatory module value or you deleted the module value while editing the resource manager definition.
  • MDS0060E MFRHBINP cannot be deleted
    You tried to delete the MFRHBINP request handler. This request handler is required for some of the enterprise server internal functions, so it cannot be deleted.
Parent topic: Directory Server Error Messages


MDS0043I Journal exported as text into file journal.txt OK

Parent topic: Directory Server Error Messages 41 to 60


MDS0044E Server name missing

Parent topic: Directory Server Error Messages 41 to 60


MDS0045E Duplicate request handler or package name exists

Parent topic: Directory Server Error Messages 41 to 60


MDS0047E Package must have an IDT path

Parent topic: Directory Server Error Messages 41 to 60


MDS0048E Server refused state change request

Resolution:

Refresh the Enterprise Server Administration display to see if the action has now completed. Check the enterprise server console log and communications console log to see if any additional information is available. If the action you requested is temporary, such as changing a listener's status, you might want to try again. Otherwise, your change will take effect the next time you start the enterprise server.

Parent topic: Directory Server Error Messages 41 to 60


MDS0049E Server refused state change request reason code:

Resolution:

Refresh the Enterprise Server Administration display to see if the action has now completed. Check the enterprise server console log and communications console log to see if any additional information is available. If the action you requested is temporary, such as changing a listener's status, you might want to try again. Otherwise, your change will take effect the next time you start the enterprise server.

Parent topic: Directory Server Error Messages 41 to 60


MDS0050E Server instance count must be at least 1

Parent topic: Directory Server Error Messages 41 to 60


MDS0051I Value change request accepted

Parent topic: Directory Server Error Messages 41 to 60


MDS0052I Diagnostic dump request accepted

Parent topic: Directory Server Error Messages 41 to 60


MDS0053E Diagnostic dump request failed

Parent topic: Directory Server Error Messages 41 to 60


MDS0054I Configuration saved

Parent topic: Directory Server Error Messages 41 to 60


MDS0055I Configuration defaults restored

Parent topic: Directory Server Error Messages 41 to 60


MDS0056E Insufficient permission level for request

Parent topic: Directory Server Error Messages 41 to 60


MDS0057E Resource manager ID field must have a value

Parent topic: Directory Server Error Messages 41 to 60


MDS0058E Resource manager name field must have a value

Parent topic: Directory Server Error Messages 41 to 60


MDS0059E Resource manager module field must have a value

Parent topic: Directory Server Error Messages 41 to 60


MDS0060E MFRHBINP cannot be deleted

Parent topic: Directory Server Error Messages 41 to 60


Directory Server Error Messages 61 to 80

  • MDS0061I Stopping and deleting all servers...
    You made a "Delete All" request and asked for servers to be stopped before they are deleted. This status is shown while the servers are in "Stopping" state.
  • MDS0062E Entry range invalid
    You asked to view an enterprise server console entry outside the range of existing entries.
  • MDS0063E Cannot delete a listener which is associated with a service
    You tried to delete a listener which is associated with a service.
  • MDS0064E Cannot delete a package which is associated with a service
    You tried to delete a package which is associated with a service.
  • MDS0065E Requested new listener status not possible when server is stopped
    You tried to make a change to the status of a listener that is not possible when the enterprise server is not started.
  • MDS0066E There are no servers to delete
    You tried to perform a "Delete All" when no server information is stored in the current repository.
  • MDS0067E less than greater than ampersand characters are not allowed in object names
    You tried to add an object using a name containing one or more of the characters < > and &, which are not allowed.
  • MDS0068I Schema updated
    You have successfully updated the schema.
  • MDS0069I All servers deleted
    You have deleted the Directory Server schema.
  • MDS0070I Data imported
    You have imported a repository into the Directory Server schema.
  • MDS0071E Data import failed
    You have attempted to import a repository into the Directory Server schema, but the import failed.
  • MDS0072I Server data saved
    You have successfully saved the data for the current server.
  • MDS0073E Server data save failed
    You have attempted to save the data for one server, but the save failed.
  • MDS0074E User name required
    You tried to add a new user without supplying a user ID.
  • MDS0075E Too many multi-byte characters in name
    You entered one or more multi-byte characters into a fixed-length field, which resulted in the limit for the number of bytes being exceeded. In Japanese and some other languages a typed character can have more than one byte associated with it: so although the entry field will allow you to type the characters in, the number of bytes exceeds the field limit.
  • MDS0076E Too many multi-byte characters in path
    You entered one or more multi-byte characters into a fixed-length field, which resulted in the limit for the number of bytes being exceeded. In Japanese and some other languages a typed character can have more than one byte associated with it: so although the entry field will allow you to type the characters in, the number of bytes exceeds the field limit.
  • MDS0077E Too many multi-byte characters in type
    You entered one or more multi-byte characters into a fixed-length field, which resulted in the limit for the number of bytes being exceeded. In Japanese and some other languages a typed character can have more than one byte associated with it: so although the entry field will allow you to type the characters in, the number of bytes exceeds the field limit.
  • MDS0078E Too many multi-byte characters in ID
    You entered one or more multi-byte characters into a fixed-length field, which resulted in the limit for the number of bytes being exceeded. In Japanese and some other languages a typed character can have more than one byte associated with it: so although the entry field will allow you to type the characters in, the number of bytes exceeds the field limit.
  • MDS0079E Too many multi-byte characters in module
    You entered one or more multi-byte characters into a fixed-length field, which resulted in the limit for the number of bytes being exceeded. In Japanese and some other languages a typed character can have more than one byte associated with it: so although the entry field will allow you to type the characters in, the number of bytes exceeds the field limit.
  • MDS0080E Too many multi-byte characters in string
    You entered one or more multi-byte characters into a fixed-length field, which resulted in the limit for the number of bytes being exceeded. In Japanese and some other languages a typed character can have more than one byte associated with it: so although the entry field will allow you to type the characters in, the number of bytes exceeds the field limit.
Parent topic: Directory Server Error Messages


MDS0061I Stopping and deleting all servers...

Parent topic: Directory Server Error Messages 61 to 80


MDS0062E Entry range invalid

Parent topic: Directory Server Error Messages 61 to 80


MDS0063E Cannot delete a listener which is associated with a service

Resolution:

Disassociate the listener from the services with which it is associated, or delete the services that reference it. Then delete it.

Parent topic: Directory Server Error Messages 61 to 80


MDS0064E Cannot delete a package which is associated with a service

Resolution:

Disassociate the package from the services with which it is associated, or delete the services that reference it. Then delete it.

Parent topic: Directory Server Error Messages 61 to 80


MDS0065E Requested new listener status not possible when server is stopped

Parent topic: Directory Server Error Messages 61 to 80


MDS0066E There are no servers to delete

Parent topic: Directory Server Error Messages 61 to 80


MDS0067E less than greater than ampersand characters are not allowed in object names

Parent topic: Directory Server Error Messages 61 to 80


MDS0068I Schema updated

Parent topic: Directory Server Error Messages 61 to 80


MDS0069I All servers deleted

Parent topic: Directory Server Error Messages 61 to 80


MDS0070I Data imported

Parent topic: Directory Server Error Messages 61 to 80


MDS0071E Data import failed

Resolution:

See the journal for more detailed diagnostics.

Parent topic: Directory Server Error Messages 61 to 80


MDS0072I Server data saved

Parent topic: Directory Server Error Messages 61 to 80


MDS0073E Server data save failed

Resolution:

See the journal for more detailed diagnostics.

Parent topic: Directory Server Error Messages 61 to 80


MDS0074E User name required

Parent topic: Directory Server Error Messages 61 to 80


MDS0075E Too many multi-byte characters in name

Resolution:

Reduce the number of characters entered until the entry is accepted.

Parent topic: Directory Server Error Messages 61 to 80


MDS0076E Too many multi-byte characters in path

Resolution:

Reduce the number of characters entered until the entry is accepted.

Parent topic: Directory Server Error Messages 61 to 80


MDS0077E Too many multi-byte characters in type

Resolution:

Reduce the number of characters entered until the entry is accepted.

Parent topic: Directory Server Error Messages 61 to 80


MDS0078E Too many multi-byte characters in ID

Resolution:

Reduce the number of characters entered until the entry is accepted.

Parent topic: Directory Server Error Messages 61 to 80


MDS0079E Too many multi-byte characters in module

Resolution:

Reduce the number of characters entered until the entry is accepted.

Parent topic: Directory Server Error Messages 61 to 80


MDS0080E Too many multi-byte characters in string

Resolution:

Reduce the number of characters entered until the entry is accepted.

Parent topic: Directory Server Error Messages 61 to 80


Directory Server Error Messages 81 to end

  • MDS0081W A duplicate port value has been used: this may cause server startup errors
    You specified a port number for a listener or a server that is already in use. If both are started at the same time then this will cause startup problems. Depending on the operating system and the TCP stack implementation the second one to start might take the port or may refuse to start up, or some other problem might occur, which might or might not be reported to you.
  • MDS0082E Requested license value invalid, minimum value is 0
    You have asked for a negative number of licenses when creating an enterprise server. The enterprise server will be created with no licenses.
  • MDS0083W Cannot set auto-refresh period if web browser timeout is set
    You tried to set an auto-refresh period when a Web browser timeout period is set on the Configure Options page. This is not allowed if user access on that page is also set to restricted, because each refresh restarts the timeout countdown.
  • MDS0084E Cannot restore from current repository path
    You have tried to restore the repository from the location of the current repository.
  • MDS0085W Value changed but not saved
    You have changed a value on one of the Edit Server tabs, then switched to another tab or page without saving your changes.
  • MDS0086I At least one Communications Process must auto-start
    You have attempted to turn off auto-start for all the communications processes that belong to an enterprise server. At least one must auto-start. The change is ignored.
  • MDS0087E MFRHBINP cannot be renamed
    You have attempted to rename the Micro Focus request handler MFRHBINP. This is not permitted because if it were possible to rename it, it could then be deleted. Enterprise Server will not work without the presence of this request handler.
  • MDS0090E TN3270 listener port must have a valid value
    When adding an MSS-enabled ES server, a TN3270 listener is defined by default. This default listener has not had a port value defined for it, or the defined value is outside the standard TCP port value range.
  • MDS0091E ISC listener port must have a valid value
    MDS0091E ISC listener port has an invalid value,
  • MDS0095E Duplicate group name exists
    The group name exists. A user group name must be unique.
  • MDS0096I Server configuration updated
    This message is displayed after an administrator has run the Validate operation on a configuration, and then applied any suggested updates.
  • MDS0097E Duplicate initiator name exists
    An initiator name must be unique within the enterprise server configuration.
  • MDS0098W Cannot over-write existing repository data
    There is existing repository data in the chosen directory. Choose a different directory.
  • MDS0099I Server already in requested state
    Displayed whe a request is made to start an already-started enterprise server.
  • MDS0100E Duplicate printer name exists
    A printer name must be unique within the server configuration.
  • MDS0101E The maximum number of Communications Processes per server is 32
    When copying Communications Processes in the listener list page, the maximum number allowed is 32.
  • MDS0102W Passwords must contain alphanumeric characters only
    The password field for internal and external security users accepts only alphanumeric characters.
  • MDS0103E Security Manager already referenced in list
    When specifying a priority list of Security Managers, each entry in the list must refer to a unique Security Manager (no duplicate entries allowed).
  • MDS0104E There must be at least one Security Manager in list
    There must be at least one Security Manager in the Security Manager list.
  • MDS0105E Both certificate and keyfile required
    If both the MFDS SSL option and custom certificate option have both been specified, then a certificate and keyfile have to be specified.
  • MDS0106E Duplicate Security Manager name exists
    A Security Manager name must be unique within MFDS.
  • MDS0107E Security Managers cannot use a reserved module name
    Some Security Manager names are reserved for internal use only, for example “mfds_esm”.
  • MDS0108E Users must be a member of #AllUsrs group
    If using MFDS Internal Security, all users must be a member of the “#AllUsrs” group and cannot be removed from it.
  • MDS0109E Cannot copy deployed services or packages if server working mode is changed
    If copying an ES server definition to change the working mode from 32-bit to 64-bit or 64-bit to 32-bit, the deployed services of the original server will not be compatible with the new working mode. Therefore, the server definition cannot be copied.
  • MDS0110W The specified configuration change may not take effect until the server is restarted
    When changing the state of a service when an ES server is started, the requested state may not come into effect until the server is restarted.
  • MDS0111W Update request failure message CASRD1006E detected in the ES console log
    There has been a problem updating the started ES server with the requested configuration change.
  • MDS0112I Update success message CASRD1001I detected for this object in the ES console log
    The requested configuration change has been accepted by the started ES instance.
  • MDS0113W Users who are members of the #System user group cannot log on interactively
    When using MFDS Internal Security, the system accounts defined in the “#System” group, used internally by default in ES, cannot be used to log into the Enterprise Server Administration GUI if user access is set to restricted.
  • MDS1003E LDAP server connection error
    You have attempted to change the location of the MFDS repository to an LDAP directory server, and there is an error connecting to the server specified. The LDAP server error code and details are included in the message. Refer to your LDAP provider documentation for more information on the error.
Parent topic: Directory Server Error Messages


MDS0081W A duplicate port value has been used: this may cause server startup errors

Parent topic: Directory Server Error Messages 81 to end


MDS0082E Requested license value invalid, minimum value is 0

Resolution:

Update the number of licenses on the Edit Server > Properties > General page.

Parent topic: Directory Server Error Messages 81 to end


MDS0083W Cannot set auto-refresh period if web browser timeout is set

Parent topic: Directory Server Error Messages 81 to end


MDS0084E Cannot restore from current repository path

Resolution:

Specify a valid backup location from which to restore the repository.

Parent topic: Directory Server Error Messages 81 to end


MDS0085W Value changed but not saved

Resolution:

If you intended to make the change, return to the tab on which you made the change, make it again and click OK.

Parent topic: Directory Server Error Messages 81 to end


MDS0086I At least one Communications Process must auto-start

Parent topic: Directory Server Error Messages 81 to end


MDS0087E MFRHBINP cannot be renamed

Parent topic: Directory Server Error Messages 81 to end


MDS0090E TN3270 listener port must have a valid value

Parent topic: Directory Server Error Messages 81 to end


MDS0091E ISC listener port must have a valid value

Parent topic: Directory Server Error Messages 81 to end


MDS0095E Duplicate group name exists

Parent topic: Directory Server Error Messages 81 to end


MDS0096I Server configuration updated

Parent topic: Directory Server Error Messages 81 to end


MDS0097E Duplicate initiator name exists

Parent topic: Directory Server Error Messages 81 to end


MDS0098W Cannot over-write existing repository data

Parent topic: Directory Server Error Messages 81 to end


MDS0099I Server already in requested state

Parent topic: Directory Server Error Messages 81 to end


MDS0100E Duplicate printer name exists

Parent topic: Directory Server Error Messages 81 to end


MDS0101E The maximum number of Communications Processes per server is 32

Parent topic: Directory Server Error Messages 81 to end


MDS0102W Passwords must contain alphanumeric characters only

Parent topic: Directory Server Error Messages 81 to end


MDS0103E Security Manager already referenced in list

Parent topic: Directory Server Error Messages 81 to end


MDS0104E There must be at least one Security Manager in list

Parent topic: Directory Server Error Messages 81 to end


MDS0105E Both certificate and keyfile required

Parent topic: Directory Server Error Messages 81 to end


MDS0106E Duplicate Security Manager name exists

Parent topic: Directory Server Error Messages 81 to end


MDS0107E Security Managers cannot use a reserved module name

Parent topic: Directory Server Error Messages 81 to end


MDS0108E Users must be a member of #AllUsrs group

Parent topic: Directory Server Error Messages 81 to end


MDS0109E Cannot copy deployed services or packages if server working mode is changed

Parent topic: Directory Server Error Messages 81 to end


MDS0110W The specified configuration change may not take effect until the server is restarted

Parent topic: Directory Server Error Messages 81 to end


MDS0111W Update request failure message CASRD1006E detected in the ES console log

Parent topic: Directory Server Error Messages 81 to end


MDS0112I Update success message CASRD1001I detected for this object in the ES console log

Parent topic: Directory Server Error Messages 81 to end


MDS0113W Users who are members of the #System user group cannot log on interactively

Parent topic: Directory Server Error Messages 81 to end


MDS1003E LDAP server connection error

Parent topic: Directory Server Error Messages 81 to end


Enterprise Server Error Messages

For information on Enterprise Server error messages, see your locally installed Help. This is available on the Micro Focus Supportline Web site.

Parent topic: Error Messages


User Exits

This contains the available user exits:

  • Exit Points
  • Support Functions
  • Structures
Parent topic: Enterprise Server Reference


Exit Points

The following exit points are available:

  • Exit Interface Definition
    Contains the information required by the exit routines for processing at each exit point. A pointer to this structure, together with the exit point identifier, is passed to each exit function.
  • External Data Value Modification - Input Parameter (Exit Point 1)
    Allows you to override the external value provided by the client request for the given COBOL program's Linkage Section item.
  • Internal Data Value Modification - Input Parameter (Exit Point 2)
    Allows you to override the internal value provided by the client request for the given COBOL program's Linkage Section item.
  • Unmapped Named External Input Parameter (Exit Point 3)
    Allows you to handle an unmapped named external input parameter that has been specified in the client request.
  • End of Input Request Processing (Exit Point 4)
    Allows you to initialize parameter values in the internal data areas addressed by argv other than those initialised during external parameter mapping.
  • Start of Response Processing (Exit Point 5)
    Allows you to bypass completely the default response processing.
  • Internal Data Value Modification - Output Parameter (Exit Point 6)
    Allows you to override the internal data value created during the execution of the application.
  • External Data Value Modification - Output Parameter (Exit Point 7)
    Allows you to override the internal data value created during the execution of the application.
  • End of Response Processing (Exit Point 8)
    Allows you to override the internal data value created during the execution of the application.
  • End of Request Processing (Exit Point 9)
    Allows you to release any resources that were allocated in exit points 0 through 8.
Parent topic: User Exits


Exit Interface Definition

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
Exit point in the request handler:
1 | External data value modification - input parameter
2 | Internal data value modification - input parameter
3 | Unmapped named external input parameter
4 | End of input request processing
5 | Start of response processing
6 | Internal data value modification - output parameter
7 | External data value modification - output parameter
8 | End of response processing
9 | End of request processing
exit_info
Usage depends on the exit point

On Exit:

exit_info
Usage depends on the exit point

Return codes:

Depends on the exit point.

Parent topic: Exit Points


External Data Value Modification - Input Parameter (Exit Point 1)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
1 = External data value modification - input parameter
exit_info
version | Version of structure format
flags | 0
ext_value_size | Size of data addressed by ext_value
funcs | User exit support functions
field_name | Name of data item in COBOL program's Linkage Section
ext_param_name | Name of external parameter
ext_value | External data value associated with field_name
request_cxt | Request context
exit_data | User exit-specific data

On Exit:

exit_info
ext_value_size | Size of data addressed by ext_value. Needs to be updated only if the user exit allocates memory for a new ext_value string
ext_value | External data value to be associated with field_name. Needs to be updated only if the user exit allocates memory for a new ext_value string
exit_data | User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with default parameter mapping
IDP_EXIT_STOP
1 = Terminate mapping processing. No service will be invoked. An error response will be required
IDP_EXIT_HANDLED
2 = The exit has overridden the supplied external value. Use this value to perform default mapping for the given COBOL program Linkage Section field name.

Comments:

This exit gives you the opportunity to override the external value provided by the client request for the given COBOL program Linkage Section field name. If the exit chooses to override the external value, it must return IDP_EXIT_HANDLED and either update ext_value in place (if the replacement value is less or equal to ext_value_size), or allocate a replacement string using the support function fn_alloc_mem and set ext_value and ext_value_size accordingly. The request handler then performs default mapping for the original (IDP_EXIT_CONTINUE) or overridden (IDP_EXIT_HANDLED) external data value.

The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.

Parent topic: Exit Points


Internal Data Value Modification - Input Parameter (Exit Point 2)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
2 = Internal data value modification - input parameter
exit_info
version | Version of structure format
flags | 0
data_size | Size of data ddressed by data_ptr
ext_value_size | Size of data addressed by ext_value
funcs | User exit support functions
field_name | Name of data item in COBOL program's Linkage Section
data_ptr | Internal data value associated with field_name
ext_param_name | Name of external parameter
ext_value | External data value associated with field_name
request_cxt | Request context
exit_data | User exit-specific data

On Exit:

exit_info
exit_data User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with default parameter mapping
IDP_EXIT_STOP
1 = Terminate mapping processing. No service will be invoked. An error response will be required
IDP_EXIT_HANDLED
2 = The exit has overridden the supplied internal value

Comments:

This exit gives you the opportunity to override the internal data value created by the request handler’s default mapping from the external data value provided by the client request for the given COBOL program Linkage Section data item name. data_ptr addresses the memory created by the request handler to be passed to the user program as part of its Linkage Section. If the exit chooses to override this parameter, it must only modify up to data_size bytes starting at data_ptr, and must return IDP_EXIT_HANDLED.

The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.

Parent topic: Exit Points


Unmapped Named External Input Parameter (Exit Point 3)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
3 = Unmapped named external input parameter
exit_info
version
Version of structure format
flags
0
ext_value_size
Size of data addressed by ext_value
funcs
User exit support functions
ext_param_name
Name of external parameter
ext_value
External data value associated with field_name
request_cxt
version | Version of structure format
argc | Parameter count of loaded service
service_type | Type of client request
flags | Request context control flags
argv | Parameter list of loaded service
service_name | Name of loaded service
pgm_name | Name of the main program associated with the service
epoint_name | Name of the entry point to invoke
exit_data
User exit-specific data

On Exit:

exit_info
flags
0
request_cxt
accept_buf_len | Length of data in accept_buf
cmd_line _len | Length of data in cmd_line
flags | Request context control flags
accept_buf | Data to be used for ANSI ACCEPT statements
cmd_line | String to be used to resolve ACCEPT FROM COMMAND-LINE statements
exit_data
User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with processing
IDP_EXIT_STOP
1 = Terminate mapping processing. No service will be invoked. An error response will be required
IDP_EXIT_HANDLED
2 = The exit has overridden one or more of the returned request context fields

Comments:

This exit gives you the opportunity to handle an unmapped named external input parameter that has been specified in the client request. The exit program would typically handle the parameter by setting an appropriate value in one or more of the data areas addressed by argv, setting up data to be used for ANSI ACCEPT statements (accept_buf), or setting up the application’s command line (cmd_line). The exit should use the fn_alloc_mem support function of the exit_info funcs structure to allocate any memory used for the setting up of accept_buf or cmd_line. If the exit chooses to override any of the request context fields, it must return IDP_EXIT_HANDLED.

The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.

Parent topic: Exit Points


End of Input Request Processing (Exit Point 4)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32   exit_point,
                                  IDP_EXIT_INFO *exit_info);

On Entry:

exit point
4 = End of input request processing
exit_info
version
Version of structure format
flags
0
funcs
User exit support functions
request_cxt
version | Version of structure format
argc | Parameter count of loaded service
service_type | Type of client request
accept_buf_len | Length of data in accept_buf
cmd_line_len | Length of data in cmd_line
flags | Request context control flags
argv | Parameter list of loaded service
service_name | Name of loaded service
pgm_name | Name of the main program associated with the service
epoint_name | Name of the entry point to invoke
accept_buf | Data to be used for ANSI ACCEPT statements
cmd_line | String to be used to resolve ACCEPT FROM COMMAND-LINE statements
exit_data
User exit-specific data

On Exit:

exit info
flags
0
request_cxt
argc | Parameter count of loaded service
service_type | Type of client request
accept_buf_len | Length of data in accept_buf
cmd_line_len | Length of data in cmd_line
flags | Request context control flags
argv | Parameter list of loaded service
service_name | Name of loaded service
pgm_name | Name of the main program associated with the service
epoint_name | Name of the entry point to invoke
accept_buf | Data to be used for ANSI ACCEPT statements
cmd_line | String to be used to resolve ACCEPT FROM COMMAND-LINE statements
exit_data
User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with processing
IDP_EXIT_STOP
1 = Terminate mapping processing. No service will be invoked. An error response will be required
IDP_EXIT_HANDLED
2 = The exit has overridden one or more of the returned request context fields

Comments:

This exit gives you the opportunity to initialize parameter values in the internal data areas addressed by argv other than those initialized during external parameter mapping. The exit can optionally modify any of the returned request fields listed above. The exit should use the fn_alloc_mem support function of the exit_info funcs structure to allocate any memory used to replace request context strings (for example, service_name or epoint_name) or argv fields. If the exit chooses to override any of the request context fields, it must return IDP_EXIT_HANDLED.

The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.

Parent topic: Exit Points


Start of Response Processing (Exit Point 5)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
5 = Start of response processing
exit_info
version
Version of structure format
flags
0
funcs
User exit support functions
request_cxt
version | Version of structure format
argc | Parameter count of loaded service
return_code | Service's return code, or run-time error generated by service
service_type | Type of client request
display_buf_len | Length of data in display_buf
flags | Request context control flags
protocol_attrs | An array of pointers to protocol-specifc attributes
argv | Parameter list of loaded service
service_name | Name of loaded service
pgm_name | Name of the main program associated with the service
display_buf | Concatenation of strings output by ANSI DISPLAY statements
response
flagss | Control flags
response_type | Server's response type
exit_data
User exit-specific data

On Exit:

exit_info
flags
0
response
response_len | Length of response_buf
flags | Control flags
response_buf | Server's response buffer
content_type | NULL-terminated content type string (HTTP) only
exit_data
User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with default response processing
IDP_EXIT_STOP
1 = Terminate mapping processing. An error response will be required
IDP_EXIT_HANDLED
2 = The entire response has been built by the exit. No further processing is required. The response is ready to be sent back to the client.

Comments:

This exit gives you the opportunity to bypass completely the default response processing. If the exit wants the default response processing to be bypassed, it must set up the response fields indicated above as being returned fields, using the fn_alloc_mem support function of the exit_info funcs structure to allocate the memory for the response buffer, and return IDP_EXIT_HANDLED.

The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.

Parent topic: Exit Points


Internal Data Value Modification - Output Parameter (Exit Point 6)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
6 = Internal data value modification - output parameter
exit_info
version | Version of structure format
flags | 0
data_size | Size of data addressed by the data_ptr field
funcs | User exit support functions
field name | Name of data item in COBOL program's Linkage Section
data_ptr | Internal data value associated with field_name
ext_param_name | External parameter name
request_cxt | Request context
exit_data | User exit-specific data

On Exit:

exit_info
exit_data
User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with default parameter mapping
IDP_EXIT_STOP
1 = Terminate mapping processing. An error response will be required
IDP_EXIT_HANDLED
The exit has overridden the supplied internal data value

Comments:

This exit gives you the opportunity to override the internal data value created during the execution of the application. data_ptr addresses the memory assigned to the internal data value. If the exit chooses to override this parameter, it must only modify up to data_size bytes starting at data_ptr, and must return IDP_EXIT_HANDLED. The request handler will subsequently perform default mapping for the original (IDP_EXIT_CONTINUE) or overridden (IDP_EXIT_HANDLED) internal data value.

The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.

Parent topic: Exit Points


External Data Value Modification - Output Parameter (Exit Point 7)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
7 = External data value modification - output parameter
exit_info
version | Version of structure format
flags | 0
ext_value_size | Size of data addressed by the ext_value field
funcs | User exit support functions
field name | Name of data item in COBOL program's Linkage Section
ext_param_name | Name of external parameter
ext_value | External data value associated with the field_name field
request_cxt | Request context
exit_data | User exit-specific data

On Exit:

exit_info
ext_value_size | Size of data addressed by the ext_value field. Needs to be updated only if the user exit allocates memory for a new ext_value string
ext_value | External data value to be associated with field_name. Needs to be updated only if the user exit allocates memory for a new ext_value string
exit_data | User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with default parameter mapping
IDP_EXIT_STOP
1 = Terminate mapping processing. An error response will be required
IDP_EXIT_HANDLED
2 = The exit has overridden the supplied external data value. Use this value to perform default mapping for the given COBOL Linkage Section field name
IDP_EXIT_OMIT
3 = The exit has determined that the given parameter should not be included in the response

Comments:

This exit gives you the opportunity to override the external value created by the request handler in its default mapping processing for the given COBOL Linkage Section field name. If the exit chooses to override the external value, it must return IDP_EXIT_HANDLED and either update ext_value in place (if the replacement value is less or equal to ext_value_size), or allocate a replacement string using the support function fn_alloc_mem and set ext_value and ext_value_size accordingly. The request handler will use the returned ext_value (IDP_EXIT_CONTINUE or IDP_EXIT_HANDLED) in its default response processing.

The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.

Parent topic: Exit Points


End of Response Processing (Exit Point 8)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
8 = End of response processing
exit_info
version
Version of structure format
flags
0
funcs
User exit support functions
request_cxt
version | Version of structure format
service_type | Type of client request
display_buf_len | Length of data in display_buf
flags | Request context control flags
service_name | Name of loaded service
pgm_name | Name of the main program associated with the service
epoint_name | Name of the entry point to invoke
display_buf | Concatenation of strings output by ANSI DISPLAY statements
response
response_len | Length of response_buf
flags | Control flags
response_buf | Response buffer created by default mapping or overridden by the exit
content_type | NULL-terminated content type string (HTTP only)
exit_data
User exit-specific data

On Exit:

exit_info
response
response_len | Length of response_buf
response_buf | Response buffer
content_type | NULL-terminated content type string (HTTP only)
exit_data
User exit-specific data

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with processing
IDP_EXIT_STOP
1 = Terminate response processing. The default response is not to be sent. An error response will be required
IDP_EXIT_HANDLED
2 = The exit has overridden the default response

Comments:

This exit gives you the opportunity to override the full response generated by default mapping. The exit can optionally modify any of the returned request fields listed above. The exit should use the fn_alloc_mem support function of the exit_info funcs structure to allocate any memory used to replace the response_buf field. If the exit chooses to override any of the response structure fields, it must return IDP_EXIT_HANDLED.

The user exit program owns the exit_data field of the IDP_EXIT_INFO structure. You would typically use it to preserve context information between exit point invocations. You can use it when returning any of the IDP_EXIT_ return values.

Parent topic: Exit Points


End of Request Processing (Exit Point 9)

Syntax:

typedef cblt_rtncode (*PFI_IDP_EXIT)(mf_uns32      exit_point,
                                     IDP_EXIT_INFO *exit_info);

On Entry:

exit point
9 = End of request processing
exit_info
version | Version of structure format
flags | 0
funcs | User exit support functions
request_cxt | Request context
exit_data | User exit-specific data

On Exit:

None

Return codes:

IDP_EXIT_CONTINUE
0 = Continue with processing
IDP_EXIT_STOP
1 = An error has occurred during end of request processing

Comments:

This exit gives you the opportunity to release any resources that were allocated in exit points 0 through 8.

Parent topic: Exit Points


Support Functions

The following support functions are available:

  • PFI
    A generic type definition for a function that returns an integer value.
  • PFI_IDPES_FN_DISPLAY_TO_UTF16
    Converts COBOL DISPLAY encoded strings to UTF-16 encoded strings.
  • PFI_IDPES_FN_UTF16_TO_DISPLAY
    Converts UTF-16 encoded strings to COBOL DISPLAY encoded strings.
  • PFV_IDPES_FN_ALLOC_MEM
    Allocates memory for user exits to use.
  • PFV_IDPES_FN_FREE_MEM
    Frees memory previously allocated for user exits to use.
Parent topic: User Exits


PFI

Syntax:

typedef cobrtncode_t (*PFI)();

On Entry:

None

On Exit:

None

Function returns:

An integer

Parent topic: Support Functions


PFI_IDPES_FN_DISPLAY_TO_UTF16

Syntax:

typedef cblt_rtncode (*PFI_IDPES_FN_DISPLAY_TO_UTF16)(
                                                cobuns8_t  in_string,
                                                cobuns32_t in_len,
                                                cobuns8_t  out_string,
                                                cobuns32_t *out_len);

On Entry:

in_string | COBOL DISPLAY encoded string
in_len | Size of in_string
out_len | Maximum size of out_string, or 0 for function to return the required size of out_string

On Exit:

out_string | UTF-16 encoded string
out_len | Size of out_string, or required size if 0 specified on input, or if function returns IDPES_BUFFER_TOO_SMALL

Return codes:

0 | IDPES_SUCCESS
1 | IDPES_BUFFER_TOO_SMALL

Comments:

Used by user exits to convert COBOL DISPLAY encoded strings into UTF-16 encoded ones

Parent topic: Support Functions


PFI_IDPES_FN_UTF16_TO_DISPLAY

Syntax:

typedef cblt_rtncode (*PFI_IDPES_FN_UTF16_TO_DISPLAY)(
                                                cobuns8_t  in_string,
                                                cobuns32_t in_len,
                                                cobuns8_t  out_string,
                                                cobuns32_t *out_len);

On Entry:

in_string | UTF16 encoded string
in_len | Size of in_string
out_len | Maximum size of out_string, or 0 for function to return the required size of out_string

On Exit:

out_string | COBOL DISPLAY encoded string
out_len | Size of out_string, or required size if 0 specified on input, or if function returns IDPES_BUFFER_TOO_SMALL

Return codes:

0 | IDPES_SUCCESS
1 | IDPES_BUFFER_TOO_SMALL

Comments:

Used by user exits to convert UTF-16 encoded strings into COBOL DISPLAY encoded ones

Parent topic: Support Functions


PFV_IDPES_FN_ALLOC_MEM

Syntax:

typedef void *(*PFV_IDPES_FN_ALLOC_MEM)(cobuns32_t mem_size);

On Entry:

mem_size Number of bytes to allocate

On Exit:

None

Function returns:

A pointer to the allocated space, or NULL if there is insufficient memory available or an error occurs during the allocation process.

Comments:

Used by user exits to allocate memory, for example, for the creation of a replacement external data value during exit point 7, External Data Value Modification - Output Parameter. If you allocate memory using this function you should subsequently free it using the fn_free_mem support function of IDP_EXIT_SERVICE_FUNCS.

Parent topic: Support Functions


PFV_IDPES_FN_FREE_MEM

Syntax:

typedef void *(*PFV_IDPES_FN_FREE_MEM)(void *mem);

On Entry:

mem Memory to be freed

On Exit:

None

Function returns:

Nothing

Comments:

Used by user exits to free memory previously allocated via the fn_alloc_mem support function of IDP_EXIT_SERVICE_FUNCS.

Parent topic: Support Functions


Structures

The following structures are available:

  • IDP_EXIT_INFO
    Contains the information passed between the request handler and the user exit program.
  • IDP_EXIT_SERVICE_FUNCS
    Contains the information passed between the request handler and the user exit program.
  • REQHAND_RESPONSE
    Contains the response to the client request.
  • REQUEST_CONTEXT
    Contains information about the client request.
Parent topic: User Exits


IDP_EXIT_INFO

Syntax:

typedef struct idp_exit_info
{
    cobuns32_t             version;         Version of structure format
    cobuns32_t             flags;           Reserved for future use
    cobuns32_t             data_size;       Size of data addressed by data_ptr
    cobuns32_t             ext_value_size;  Size of data addressed by ext_value
    cobuns32_t             reserved1[10];   Reserved for future use
    IDP_EXIT_SERVICE_FUNCS *funcs;          User exit support functions
    cobuns8_t              *field_name;     COBOL Linkage Section item’s name (COBOL DISPLAY encoded)
    void                   *data_ptr;       Internal data value associated with field_name
    cobuns8_t              *ext_param_name; External parameter name (COBOL DISPLAY encoded)
    cobuns8_t              *ext_value;      External data value associated with field_name (UTF-16 encoded)
    REQUEST_CONTEXT        *request_cxt;    Request context
    REQHAND_RESPONSE       *response;       Response details
    void                   *exit_data;      User exit-specific data
    void                   *reserved2[10];  Reserved for future use
}IDP_EXIT_INFO;
Parent topic: Structures


IDP_EXIT_SERVICE_FUNCS

Syntax:

typedef struct idp_exit_service_funcs
{
    cobuns32_t                    version;         Version of structure format
    cobuns32_t                    reserved;        Reserved for future use
    PFV_IDPES_FN_ALLOC_MEM        fn_alloc_mem;    Function to allocate memory
    PFV_IDPES_FN_FREE_MEM         fn_free_mem;     Function to free memory allocated by fn_alloc_mem
    PFI_IDPES_FN_DISPLAY_TO_UTF16 fn_disp_to_utf16 Function to convert from a COBOL DISPLAY encoded format to a UTF-16 encoded format
    PFI_IDPES_FN_UTF16_TO_DISPLAY fn_disp_to_utf16 Function to convert from a UTF-16 encoded format to a COBOL DISPLAY encoded format
    PFI                           fn_reserved[10]; Reserved for future use
} IDP_EXIT_SERVICE_FUNCS;
Parent topic: Structures


REQHAND_RESPONSE

Syntax:

typedef struct reqhand_response
{
    cobuns32_t version;       Version of structure format
    cobuns32_t response_len;  Length of response buffer
    cobuns32_t flags;         Control flags
    cobuns32_t response_type; Server response type
    void       *response_buf; Server response buffer
    void       *content_type; NULL terminated string (HTTP)
}REQHAND_RESPONSE;
Parent topic: Structures


REQUEST_CONTEXT

Syntax:

typedef struct request_context
{
    cobuns32_t            version;            Version of structure format
    cobuns32_t            handler_id;         ID of request handler being used to process the request
    cobuns32_t            request_len;        Length of request buffer
    cobuns32_t            argc;               Parameter count of loaded service
    cobrtncode_t          return_code;        Service’s return code, or run-time error error generated by service
    cobuns32_t            service_type;       Type of service request
    cobuns32_t            accept_buf_len;     Length of data in accept_buf
    cobuns32_t            display_buf_len;    Length of data in display_buf
    cobuns32_t            cmd_line_len;       Length of data in cmd_line
    cobuns32_t            flags;              Request context control flags
    cobuns32_t            reserved1[11];      Reserved for future use
    REQHAND_SERVICE_FUNCS *funcs;             Request handler support functions
    void                  *request_buf;       Request buffer
    void                  **protocol_attrs;   An array of pointers to protocol-specific attributes
    cobuns8_t             **argv;             Parameter list of loaded service
    void                  *handler_data;      Request handler-specific data
    cobuns8_t             *reserved1a;        Reserved for future use
    cobuns8_t             *service_name;      Name of loaded service
    cobuns8_t             *pgm_name;          Name of the main program associated with the service
    cobuns8_t             *epoint_name;       Name of entry point of the program to invoke
    void                  *idt;               Interface definition for service; the interpretation of the memory addressed by this field is request handler-specific
    cobuns8_t             *accept_buf;        Data to be used for ANSI ACCEPT statements
    cobuns8_t             *display_buf;       Concatenation of strings output by ANSI DISPLAY statements
    cobuns8_t             *cmd_line;          String to be used to resolve ACCEPT FROM COMMAND-LINE
    cobuns8_t             *rts_err_str;       Run-time error message text
    void                  *reserved2[9];      Reserved for future use
} REQUEST_CONTEXT;
Parent topic: Structures


XA Switch Modules

This contains information on the available XA Switch Modules:

  • Generic one-phase commit XA switch module for ODBC
  • SQL Server XA switch module
Parent topic: Enterprise Server Reference


Generic one-phase commit XA switch module for ODBC

Provides access to data sources from container-managed services deployed within Enterprise Server using OpenESQL technology. OpenESQL is enabled by compiling code using the SQL(DBMAN=ODBC) compiler directive. Because this switch supports only a one-phase commit, it:

  • Cannot be used in conjunction with other resource managers
  • Can only be used for a single database connection; multiple data source connections are not supported
Note:

When using this module, the following SQL operations are not supported in the source for your deployed container-managed service:

  • CONNECT
  • DISCONNECT
  • BEGIN TRANSACTION
  • COMMIT
  • ROLLBACK
Parent topic: XA Switch Modules


SQL Server XA switch module

Provides access to SQL Server from container-managed services deployed within Enterprise Server. Use the this switch module to connect to one or more SQL Server databases via ODBC Data Source Names (DSNs). The SQL Server module provides two-phase commit support utliizing the Microsoft Distributed Transaction Server (MS DTC), and ensures that any database connections made using this switch module all participate in a single XA transaction. MSDTC must be running on both the client machine, and also the machine(s) where SQL Server is hosted.

Note:

When using this module, the following SQL operations are not supported in the source for your deployed container-managed service:

  • CONNECT
  • DISCONNECT
  • BEGIN TRANSACTION
  • COMMIT
  • ROLLBACK
Parent topic: XA Switch Modules


Reference for MSS Deployment

  • CICS Commands
  • Data Conversion
  • CICS Resource Definitions
  • CICS Supplied Transactions
  • JCL Commands
  • JCL Environment Variables
  • MSS Error Messages
  • CICS Commands
Parent topic: Enterprise Server
Parent topic: Mainframe Support for Deployed Applications


CICS Commands

  • caspcrd
    Creates resource definition and conversion table files, and populates them with default entries.
  • cascnvim
    Imports a file containing mainframe data conversion macros into the file dfhdrcnv.dat.
  • casfile
    Changes the information held about a file.
  • cassi (CICS version)
    Starts a service execution process. Use this version of the command if you have MSS CICS Support installed. You should use this command only when you want to debug a service, using one of the /a options.
  • casrdtex
    Exports CICS resources to a Resource Definition Table (.rdt file).
  • casrdtup
    Imports CICS resources from a resource definition table (.rdt file).
  • caspcupg
    Updates a resource definition file.
  • castran
    Retrieves or updates information on CICS transactions. Its primary use is to enable and disable transactions, but it can be used to alter other values such as the TWA size or timeout values, and to display the status of transactions. It can also perform a PHASEIN or NeWCOPY on CICS programs that are defined in the PPT.
Parent topic: Reference for MSS Deployment
Parent topic: Reference for MSS Deployment


caspcrd

Syntax:

caspcrd [/res-name][/c][/cc][/cb][/dp=resource-definition-path][/o]

Parameters:

/res-name | Name of the enterprise server. Defaults to ESDEMO
/c | Create a resource definition file
/cc | Create a conversion table file
/cb | Create a resource definition file and a table conversion file
/dp=resource-definition-path | The resource-definition-path specifies the path within which the files are created. Defaults to the current directory
/o | Overwrite existing files

Dependencies:

You must have started the enterprise server before you can issue a caspcrd command.

Comments:

If a path or filename contains spaces, it should be enclosed in quotation marks. For example, "e:\dev mto\files".

Parent topic: CICS Commands
Parent topic: CICS Commands


cascnvim

Syntax:

cascnvim [/ffilename][/q][/o]

Parameters:

/ffilename | Name of the file containing the data conversion macros
/q | Run in quiet mode, that is, do not display the contents of the input file
/o | Overwrite existing entries

Dependencies:

You must set the environment variable TXRDTP to the location where the file dfhdrcnv.dat lives.

Comments:

If a path or filename contains spaces, it should be enclosed in quotation marks. For example, "e:\dev mto\files".

Parent topic: CICS Commands
Parent topic: CICS Commands


casfile

Syntax:

casfile [/res-name] [/mprototype:host:WebServiceport] [/fserver-name] [/dfile_DD-name]
[-e{e|u|d}][/iinputscript][/loutput-log]
[/o{o|c}][/pnew-dataset-path]][s{y|n|a}][/t{y|n}]{/w{w|r}]

Parameters:

/res-name
Name of the enterprise server to connect to. Defaults to ESDEMO
Note: When calling this utility from JCL or from a WEB service (that is, when you are running the utility within a SEP) you cannot use the /r option to connect to the server. Where this is the case, you must use the /m or /f options to connect to the server.
or:
/mprototype:host:WebServiceport
Location of the Web Services and J2EE listener for the enterprise server you want to connect to. For example, /mtcp:localhost:9003
or:
/fserver-name
Name of the enterprise server to connect to. This differs from the /r option, in that it performs a lookup to locate the Web Service for the enterprise server
/dfile_DD-name
Name of the file whose information you want to change. This is the eight-byte DD name, identical to the one held in the FCT for the file.
/e{e|u|d}
New file status:
e | Enable; default
u | Unenable
d | Disable
/iinputscript
Name of a file containing the parameters for the file named in file_DD-name or to multiple files.
/loutput-log
Name of file to contain the results of executing the command. The default is that the results are displayed on the enterprise server console.
/o{o|c}
New open status:
o Open; default
Note: This sets the status to open, but the file is not physically opened until it is first accessed.
c Closed
/pnew-dataset-path]
Name of a new path for the file
/s{y|n|a}
Output full file status.
y | On; default
n | Off
a | All files
/t{y|n}
Switch the File Handler trace on or off:
y | On; default
n | Off
/w{w|r}
New write status:
w | Read/write; default
r | Read-only
Note: Options /r, /m, /f are alternative ways of identifying the enterprise server that you want to connect to.

Dependencies:

You must have started the enterprise server before you can issue a casfile command.

Comments:

The /s and /f options are alternatives and are mutually exclusive.

If a path or filename contains spaces, it should be enclosed in quotation marks. For example,"e:\dev mto\files"

Parent topic: CICS Commands
Parent topic: CICS Commands
Related information
Using Fileshare - More Features


cassi (CICS version)

Syntax:

cassi [/res-name]
      [/a]
      [/atterminal-id]
      [/axtransaction-id]

Parameters:

/res-name | Name of the enterprise server for which to start a service execution process. Defaults to ESDEMO
/a | Debug any application that runs in this service execution process
/atterminal-id | Debug any application that runs in response to a request from the terminal identified by terminal-id
/axtransaction-id | Debug any application that runs in response to a non-facility transaction identified by transaction-id

Dependencies:

To use this command:

  • You must have started the enterprise server named with the /r flag first.
  • You must be running under the same user ID as the enterprise server named with the /r flag. If the Directory Server was started as a system service, and the enterprise server was started using the Administration interface, then the enterprise server is probably running under the LOCAL_SYSTEM user ID, and this command will not work. For more information see the section Starting and Stopping the Directory Server in the chapter Introduction to Enterprise Server Administration in your Enterprise Server Configuration and Administration Guide.

Comments:

Parent topic: CICS Commands
Parent topic: CICS Commands
Related information
Starting and Stopping the Directory Server


casrdtex

Syntax:

casrdtex /ofile-name [/a] [/e] [/ipresource-file-path] [/uuserid] [/ppassword] [/q] [/v]
 [/s[sit1[,sit2]...]] [/l[list1[list2]...]]
 [/n[snt1[,snt2]...]] [/g[grp1[,grp2]...]]
 [/m] [/x] [/f] [/t] [/y] [/d] [/j] [/i] [/z] [/c] [/b]

Parameters:

/ofile-name | The RDT file to export to. This parameter is mandatory.
/a | Append to an existing file
/e | Include non-IBM-compatible entries (Micro Focus extensions to the format, which all begin with an underscore)
/ipresource-file-path | The directory containing the CICS resource definition file, dfhdrdat, from which to export. This defaults to install-dir\base\files\sys , which contains the dfhdrdat file supplied with the product.
/uuserid | User ID
/ppassword | Password
/q | Run in quiet mode
/v | Run in verbose mode
/s[sit1[,sit2]...] | Include the specified SITs in the export. If you specify just the switch, all are exported.
/l[list1[list2]...] | Include the specified startup lists (GRPLIST) in the export. If you specify just the switch, all are exported.
/n[snt1[,snt2]...] | Include the specified sign-on entries in the export. If you specify just the switch, all are exported.
/g[grp1[,grp2]...] | Include the specified groups in the export. If you specify just the switch, all are exported.

The remaining parameters select which table entries for the selected group(s) are to be included:

/m | Processing program table (PPT)
/x | Program control table (PCT)
/f | File control table (FCT)
/t | Terminal (TRM)
/y | Terminal type (TTY)
/d | TD queue (TDQ)
/i | Program list (PLT)
/j | Journal (JCT)
/z | Temporary storage (TST)
/c | Connection
/b | X/Open DB compatibility

Dependencies:

You must make sure the directory base\bin containing the command is on your PATH. You can do this most easily by running it in the Net Express command prompt.

Comments:

If a path or filename contains spaces, it should be enclosed in quotation marks. For example, "e:\dev mto\files".

Example:

casrdtex /oresfile.rdt /ggroup1,group3 /m /x /ip"e:\devmto\files"

The above command exports the PPT and PCT entries for the groups group1 and group3, from the dfhdrdat file in "e:\devmto\files", to the file resfile.rdt.

casrdtex /oresfile.rdt /s /g /f /ip"e:\devmto\files"

The above command exports all SITs, and the FCT entries for all groups, to the file resfile.rdt.

Parent topic: CICS Commands
Parent topic: CICS Commands


casrdtup

Syntax:

casrdtup /ffile-name [/opresource-definition-path] [/rregion-name] [/uuserid]
[/ppassword] [/xext] [/q] [/o] [/d]

Parameters:

/ffile-name | The RDT file to import from. This parameter is mandatory.
/opresource-definition-path | The directory containing the resource definition file, dfhdrdat, into which resources will be imported. This defaults to install-dir\base\files\sys , which contains the dfhdrdat file supplied with the product.
/rregion-name | The name of the region into which the resources will be imported
/uuserid | User ID
/ppassword | Password
/xext | Default FCT file extension
/q | Quiet mode (no prompts)
/o | Overwrite existing entries. If this is not specified, any duplicate entry results in an error message.
/d | Discard MVS data set names

Dependencies:

You must make sure the directory base\bin containing the command is on your PATH. You can do this most easily by running it in the Net Express command prompt.

Comments:

If a path or filename contains spaces, it should be enclosed in quotation marks. For example, "e:\dev mto\files".

This utility is designed to process mainframe generated resource definition records, which are not abbreviated. However, it will accept abbreviations for keywords and values, provided that the abbreviations are unique. For example, DSNA can be used in place of DSNAME, and BR can be used in place of BROWSE.

This utility expects values to be uppercase like those generated by the mainframe utility, DFHCSDUP. For example, "NONE" and "YES" rather than "None" and "Yes".

For more on the resource definitions that you can use with Enterprise Server MSS, see Resource Definitions.

Example:

casrdtup /fresfile.rdt /d /op"e:\devmto\files"

The above command imports the file resfile.rdt, discarding MVS data set names.

Parent topic: CICS Commands
Parent topic: CICS Commands
Related information
Resource Definitions


caspcupg

Syntax:

caspcupg [/res-name]
         [/dp=resource-defn-path]
         [/s(sit,fs-server-id)]
         [/f(group,fs-server-id)]
         [/o]
         [/uuserid]
         [/ppassword]
         [/sparameter]
         [/ssparameter]
         [/bpath]
         [/t=]
         [/td]
         [/z]
         [/x]

Parameters:

/res-name | Name of the enterprise server. Defaults to ESDEMO
/dp=resource-defn-path | Resource Definition Path.
/s(sit,fs-server-id) | Set FCT FSID in SIT and groups in startup list
or: |
/f(group, fs-server-id) | Set FCT FSID in group.
/o | Force upgrade of non-DFH-supplied resources.
/uuserid | User ID for updates
/ppassword | Password for updates
/sparameter | Set FCT start-open to parameter., which must be "Y" or "N"
/ssparameter | Set security on or off. parameter is + for on, or - for off
/bpath | Optional. Path to location to create backup file.
/t= | Set Termtype Device properties = Mapping properties
/td | Allow Termtype Device properties to differ from Mapping properties
/z | Reset blank PCT security keys to default value
/x | Quiet mode

Dependencies:

You must have started the enterprise server before you can issue a cascugp command.

Comments:

The /s and /f options are alternatives and are mutually exclusive.

If a path or filename contains spaces, it should be enclosed in quotation marks. For example, "e:\dev mto\files".

Parent topic: CICS Commands
Parent topic: CICS Commands


castran

The NEWCOPY option loads a new copy of the specified program only if it is not currently in use; otherwise, it will fail. The PHASEIN option loads a new copy even if the program is currently running. Where this is the case, the previously loaded copy remains until it is no longer in use. All requests that occur after the reload use the new copy.

Note: castran can also be invoked from within a JCL by writing a simple COBOL program to call it.

Syntax:

castran [/res-name] [/mprototype:host:WebServiceport] [/fserver-name]
    [/ttrans-id]
    [/e{e|d}]
    [/s{y|n|a}]
    [/g{y|n}]
    [/j{d|a}]
    [/d{y|n}]
    [/loutput-log]
    [/wTWA-size]
    [/qinput-timeout]
    [/xrunaway-timeout]
    [/ydeadlock-timeout]
    [/pprogram-name]
    [/nprogram-name]
    [/uuserid]
    [/apassword]
    [/cgroup]

Syntax to issue multiple commands from a command file:

castran [/res-name] [/mprototype:host:WebServiceport] [/fserver-name] /iinput-script-file

Parameters:

/res-name
Name of the enterprise server to connect to. Defaults to ESDEMO.
Note: When calling this utility from JCL or from a WEB service (that is, when you are running the utility within a SEP) you cannot use the /r option to connect to the server. Where this is the case, you must use the /m or /f options to connect to the server.
or:
/mprototype:host:WebServiceport
Location of the Web Services and J2EE listener for the enterprise server you want to connect to. For example, /mtcp:localhost:9003
or:
/fserver-name
Name of the enterprise server to connect to. This differs from the /r option, in that it performs a lookup to locate the Web Service for the enterprise server.
[-iinput-script-file]
The input script file which will contain a list of commands to run. Any comment line in the scriptfile must have # in column 1.
[-ttrans-id]
Four byte transaction ID.
[-e{e|d}]
Set the Enable status for the specified transaction:
Setting | Description
e or no value | Enable
d | Disable
[-s{y|n|a}]
Output the full transaction status for the specified transaction.
Setting | Description
y or no value | Display
n | Suppress
a | Display details for all transactions in PCT irrespective of the transaction id specified using the /t option
[-g{y|n}]
Set the Upper Case Translation status for the specified transaction.
Setting | Description
y or no value | UC Translation
n | No UC Translation
[-j{d|a}]
Set the Screen status for the specified transaction.
Setting | Description
d or no value | Default
a | Alternate
[-d{y|n}]
Set the Transaction Dump status of the specified transaction.
Setting | Description
y | Transaction Dump
n or no value | No Transaction Dump
[-loutput-log]
The file to which the output from the command is written. The default is to standard output.
[-wTWA-size]
Set the TWA Size {0..32767} for the specified transaction.
[-qinput-timeout]
Set the Input Timeout for the specified transaction.
Setting | Description
s or no value | System default
0..4080 | Timeout value in seconds
[-xrunaway-timeout]
Set the Runaway Timeout for the specified transaction.
Setting | Description
s or no value | System default
0..2700 | Timeout value in seconds
[-ydeadlock-timeout]
Set the Deadlock Timeout for the specified transaction.
Setting | Description
s or no value | System default
0..4080 | Timeout value in seconds
[-pprogram-name]
Issue a PHASEIN for the specified program. Please note: this is unrelated to any transaction id specified with the /t option.
[-nprogram-name]
Issue a NEWCOPY for the specified program. Please note: this is unrelated to any transaction id specified with the /t option.
[-uuserid]
Authorization User ID
[-apassword]
Authorization Password
[-cgroup]
Authorization Group (Optional)
Note: Options /r, /m, /f are alternative ways of identifying the enterprise server that you want to connect to.

Return Codes:

0 | Success
4 | Invalid flag/Duplicate flag(s)
12 | Transaction ID not found in PCT/Program not found in PPT/Incorrect user ID or password
15 | Region not running/invalid command

Dependencies:

You must have started the enterprise server before you can issue a castran command.

Comments:

Multiple usage of the same parameter type, results in only the first occurrence being use. All others will be ignored.

Exceeding the maximum value for TWA size or any of the timeout options, will result in the maximum value being set.

You can use a dash (-) instead of a forward slash (/) to indicate command options.

Script files must contain a transaction ID or program name on each line (except for comments), but cannot contain region names; that is, all commands in a file relate to one region, which is specified in the initial castran call. If a path or filename contains spaces, it should be enclosed in quotation marks. For example:

castran /rESDEMO /i"c:\input scripts\my script.txt"

In order to use castran with an Enterprise Server that has security enabled, you must ensure that all resource definitions are up to date. You can do this by issuing the following command:

caspcupg /r<server name> /dp=<dfhdrdat path>

Examples:

To disable a CICS transaction called ACCT and display its status on a region called ESDEMO:

castran /rESDEMO /tACCT /ed /sy

To alter the TWA size and turn off UC Translation for ACCT in a secure region:

castran /rESDEMO /uSYSAD /aSYSAD /w255 /gn /tACCT

To perform multiple operations by using an input script:

castran /rESDEMO /imultiple_cmds.txt

Where multiple_cmds.txt contains the following lines:

# multiple castran commands
/tACCT /ed
/tAC01 /ee /ja
/nACCT00
Parent topic: CICS Commands
Parent topic: CICS Commands


Data Conversion

The following features of IBM's DFHCNV macros are supported:

Keyword | Support
DFHCNV TYPE=INITIAL |
CLINTCP=nnnn | Recognized
SRVERCP=nnnn | Recognized
CDEPAGE=nnnn | Recognized
DFHCNV TYPE=ENTRY |
RTYPE={FC|TS|TD|IC|PC} | Full
CLINTCP=nnnn | Recognized
SRVERCP=nnnn | Recognized
RNAME=resourcename | Full
XRNAME=xxxxxxxxxxxxxxxx | Full
USREXIT={YES|NO} | Recognized
CDEPAGE=nnnn | Recognized
DFHCNV TYPE=KEY |
TYPE=SELECT | Full
OPTION={COMPARE|DEFAULT} | Full
OFFSET=nnnn | Full
DATA='dd...dd' | Full
XDATA='xx...xx' | Full
DFHCNV TYPE=FIELD |
OFFSET=nnnn | Full
DATATYP={CHARACTER|PD|BINARY |NUMERIC} | Full
DATATYP={USERDATA|GRAPHIC} | Recognized
USRTYPE=xx | Recognized
DATALEN=n | Full
LAST=YES | Full
SOSI=YES|NO | Recognized
DFHCNV TYPE=FINAL | Full
DFHCNV TYPE={DSECT|IVP} | Recognized

The following terms are used to describe the level of support provided for keywords:

  • Full - Fully supports the function or operand
  • Recognized - Recognizes the function or operand but takes no action on it at run time
Parent topic: Reference for MSS Deployment
Parent topic: Reference for MSS Deployment


CICS Resource Definitions

In Mainframe Subsytem Support you can define a subset of the resource types that you can define in mainframe CICS. You can use the same definition mechanism as mainframe CICS: DEFINE statements followed by keywords that specify various attributes of the resource. The keywords differ depending on the resource being defined. DEFINE statements are held in resource definition table (.rdt) files, which constitute a staging post in the process of exchanging resource definitions with the mainframe CICS System Definition (CSD) file.

In mainframe CICS you can define many more types of resource than you can in Mainframe Subsytem Support, for example LSRPOOL and SESSIONS. Mainframe Subsytem Support does not support these resource types because they are meaningless on the target environment.

Mainframe Subsytem Support provides Micro Focus extensions for some resource types. These are extra keywords that define attributes specific to Mainframe Subsytem Support on the target environment.

In the following specifications of the resource type definitions, each keyword and its parameters is shown in a mixture of upper case and lower case. You need to specify at least the letters in upper case. For example, in the Connection definition, DE and DESCRIPTION are synonyms. However, we recommend that you specify keywords and parameters in full, as shown in the examples. Defaults are shown in bold.

Mainframe Subsytem Support also accepts DEFINE MAPSET and all its keywords, but it does not store these definitions as mapset definitions in the resource definition file. Instead it stores them as data tables (DEFINE PROGRAM with _MOduletype set to Data).

  • DEFINE CONNECTION
  • DEFINE FILE
  • DEFINE PROGRAM
  • DEFINE TERMINAL
  • DEFINE TRANSACTION
  • DEFINE TRANSIENT DATA QUEUE
  • DEFINE TYPETERM
  • DEFINE _SIGNON
Parent topic: Reference for MSS Deployment
Parent topic: Reference for MSS Deployment


DEFINE CONNECTION

Keyword | Description
Connection(name) | Specifies the logical name of this connection. Mandatory. Must be unique across all connected systems. Can be up to four alphanumeric characters.
Group(groupname) | Names the group the connection definition belongs to. Mandatory. groupname can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Do not specify a group name starting with DFH, as Mainframe Transaction Option uses that prefix for system groups.
Description(text) | Describes the connection. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
Connection Properties |
Netname(name) | Specifies the network name that identifies the APPLID of the remote system or region. name can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Required in most circumstances.
PRotocol(Appc|Cci) | Identifies the connection method to be used for the connection: Appc: a remote connection over an LU6.2 link Cci: a remote connection through a CCI gateway Mandatory
Operational Properties |
INSERVICE(Yes|No) | Indicates whether or not this connection is in service; that is, whether transactions can be initiated and messages sent.
Security |
SEcurityname(name) | The security name of the remote system. Required only if the connection method is APPC. Can be up to eight alphanumeric characters from the set A through Z, 0 through 9, $, @ and #.
ATtachsec(Local|identify|Verify|Persistent|Mixedpe | The level of security required when a user attaches to this connection: Local: the authority of the user is taken to be that of the link Identify: Incoming attach requests must specify a user ID Verify: Incoming attach requests must specify both a user ID and a password Persistent: The first attach request must specify both a user ID and a password, but subsequent attach requests require only a user ID Mixedpe: Incoming attach requests may specify either Identify or Persistent
Micro Focus Extensions |
_OPERId(code) | Specifies an operator ID used for routing messages. Up to three alphanumeric characters. Optional.
_OPERPriority(number) | Specifies the operator priority for transactions initiated over this connection. Defaults to 0(zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of: Terminal priority Transaction priority Operator priority (this field) The sum cannot be greater than 255.
_Userid(name) | Specifies a user ID to be associated with the connection. Mandatory if no sign-on takes place on the connection.
_Natlang(E|K) | Specifies the national language in which messages are sent over the connection: E: English K: Kanji
_Sessionmax(number) | Specifies the maximum number of concurrent sessions for the connection. Defaults to 0(zero).
_Lualias(name) | Specifies the LU name by which the connection is known in the APPC configuration. Mandatory only where the connection method is APPC.
_Partneralias(name) | Specifies the name used by local transactions to refer to this partner LU. Mandatory only where the connection method is APPC.
_Aliasapplid(code) | Specifies the APPLID used by the APPC link. Mandatory only where the connection method is APPC.
_Modetable(name) | Specifies the name of the APPC transmission service profile that describes the APPC link between the local and partner LUs. Mandatory only where the connection method is APPC. It can be up to eight characters in length. The first character must be from the set A through Z and $. Subsequent characters can be from the set A through Z, 0 through 9 and $.
_CCIProtocol(CCIDDE|CCIIPX|CCINETB| CCINAMEP|CCITCPIP) | For connections where the connection method is CCI, specifies which CCI protocol is to be used: CCIDDE: Direct Data Exchange CCIIPX: Novell IPX CCINETB: NetBIOS CCITCPIP: TCP/IP Mandatory.
_CCIMachine(name) | Names the machine on which on which the CCITCP2 daemon is running. Required only where CCIProtocol is CCITCPIP.
_MFNode(name) | Names the machine on which the target region runs. This is its IP name or IP address. _MFNode and _MFPort together equate to the socket used by the TCP/IP server for the remote target region that this connection definition describes. These fields are mandatory only where CCIProtocol is CCITCPIP and when using a direct connection to the remote region with no CCITCP2 daemon present on the network.
_MFport(number) | Identifies the port number for _MFNode. _MFNode and _MFPort together equate to the socket used by the TCP/IP server for the remote target region that this connection definition describes. These fields are mandatory only where CCIProtocol is CCITCPIP and when using a direct connection to the remote region with no CCITCP2 daemon present on the network..
  • Examples
Parent topic: CICS Resource Definitions


Examples

DEFINE CONNECTION(L001) GROUP(SAMPGRP)
DESCRIPTION(Sample APPC connection)
       NETNAME(NET081) INSERVICE(YES) SECURITYNAME(SESS1)
       ATTACHSEC(LOCAL) PROTOCOL(APPC)

DEFINE CONNECTION(C002) GROUP(SAMPGRP)
DESCRIPTION(Sample CCI connection)
       INSERVICE(YES) ATTACHSEC(LOCAL) PROTOCOL(CCI) _OPERPRTY(0)
       _NATLANG(E) _SESSIONMAX(0) _CCIPROTOCOL(CCITCP)
       _CCIMACHINE(cvimtb09)

DEFINE CONNECTION(L001) GROUP(SAMPGRP)
DESCRIPTION(Sample APPC connection with MF extensions)
       NETNAME(NET081) INSERVICE(YES) SECURITYNAME(SESS1)
       ATTACHSEC(LOCAL) PROTOCOL(APPC) _OPERPRTY(0) _USERID(U555)
       _NATLANG(E) _SESSIONMAX(4) _LUALIAS(MTB9AFG)
       _PARTNRALIAS(ASL8KKK) _ALIASAPPLID(MPAPP)
Parent topic: DEFINE CONNECTION
Related information
Resource Definitions


DEFINE FILE

Keyword | Description
File(name) | Names the file. Mandatory. name can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #.
Group(groupname) | Names the group the file belongs to. Mandatory. groupname can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Do not specify a group name starting with DFH, as Mainframe Transaction Option uses that prefix for system groups.
Description(text) | Describes the file. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
VSAM
DSName(name) | Specifies the name of the physical file. This is a mainframe-style data set name of up to 44 characters.
Remote
REMOTESystem(name) Applicable only for remote files. Specifies the ID of the remote system that holds the file. This must correspond to either:
  • The Local SYSID field in the SIT used to run the related remote CICS region
  • The APPLID of another CICS system
REMOTEName(name) | Applicable only for remote files. Names the remote file. Necessary only if it differs from the local file name.
RECORDSize(number) | Applicable only for remote files. Specifies the maximum length in bytes of records in a remote file, in the range 1 through 32767.
Keylength(number) | Applicable only for remote files. Specifies the length in bytes of the key for a remote file, in the range 1 through 32767.
Initial Status
STAtus(Enabled|Disabled|Unenabled) Effective only for files owned by the local region. Specifies whether this file is accessible to transactions when the region is started.

Enabled: accessible at region startup

Disabled: not accessible at region startup

Unenabled: can be opened only by a SET FILE OPEN command. You cannot specify Unenabled for files of type Altindex

Opentime(Firstref|Startup) Indicates when the file is opened.

Firstref: the first time the file is referenced in the program being executed

Startup: when the region starts up

Note that this keyword controls only when the file is opened, not whether or not it is accessible; accessibility is controlled by the STAtus keyword.

Operations
Add(No|Yes) | Indicates whether users can add records to the file.
Browse(No|Yes) | Indicates whether users can browse the file.
DELete(No|Yes) | Indicates whether users can delete records from the file.
REAd(Yes|No | Indicates whether users can read records in the file.
Update(No|Yes) | Indicates whether users can update records in the file.
Recovery Parameters
RECOVery(None|Backoutonly|All) Specifies the recovery options for this file:

None: the file is not recoverable

Backoutonly; the file is a protected resource and changes can be backed out. You must also define the file as being held on a Fileshare server, as Fileshare is required for backward recovery.

All: the file is a protected resource and has both forward and backward recovery capability. For forward recovery journals are used to record changes to the file. You must also define the file as being held on a Fileshare server, as Fileshare is required for forward and backward recovery.

Security
RESsecnum(keys) | Specifies one or more indicators, each corresponding to one of the 24 resource keys for this file. A user has access to a particular resource only through a matching key as defined in his sign-on table entry. To toggle a key on you specify its number here. By default all keys are toggled off. You code the keys as a comma-separated list of individual numbers and ranges separated by hyphens. For example, to toggle the keys 1 to 5 and 10 on, code RESSECNUM(1-5,10).
Micro Focus Extensions
_MAxreclen(number) | Specifies the maximum logical record length of the file in bytes, in the range 1 through 32767. The value must be greater than or equal to the value of _Minreclen. Specify a value if _FILEType is one of the following: KSDS, RRDS, ESDS or the file is remote (you specified a value in Remotesystem(name)).
_MInreclen(number) | Specifies the minimum logical record length of the file in bytes , in the range 1 through 32767. The value must be less than or equal to the value of _Maxreclen. Specify a value if _FILEType is one of the following: KSDS, RRDS or ESDS.
_KEYPosition(number) | Specifies the number of the byte at which the record key begins, in the range 1 through 32767. Bytes are numbered from 1. Specify a value if _FILEType is one of the following: KSDS or Altindex.
_KEYLength(number) Specifies the length of the record key in bytes, in the range 1 through 32767. The value of the following expression must not exceed the minimum record length:

key position + key length - 1

_FILEType(type) Specifies what type of file this is:

KSDS: key sequenced data set

ESDS; entry sequence data set

RRDS: relative record data set

Altindex: Alternate index for a KSDS file.

May be omitted if the file is defined as remote (you specified a value in Remotesystem(name)).

_Basefile(fileid) | For a file of type Altindex, specifies the base data file for which this is an alternate index. fileid must correspond to the file name of another file definition of type KSDS.
_Startempty(No|Yes) Indicates whether the current contents of the file are deleted when the region starts up:

No: the file contents are not deleted

Yes: the file contents are deleted

_Dupkey(No|Yes) | For an alternate index, indicates whether duplicate keys are allowed
_Path(string) | Specifies the path of the physical file if you want to override the default path. Do not include the filename or the file extension. Mandatory if the file is held on a Fileshare server, in which case _FILEShareid must be present too.
_FILEShareid(name) | Specifies the Fileshare server on which the file resides. name can be up to 16 characters in length.
_FILEFormat(Microfocus|IDXFMT4|IDXFMT8|IDXFMT9) | Specifies the format for files that are to be created by Mainframe Transaction Option. We recommend that you use the default, IDXFMT8.
_FILEName(name) | Specifies the name of the physical PC file if you want to override the default filename, which is the name given by File(name). Do not include the file extension.
_FILEExt(value) | Specifies the file extension of the physical file if you want to override the default, which is .dat
_Collseq(Ebcdic|Ascii) | Specifies the collating sequence used in the file.
  • Example
Parent topic: CICS Resource Definitions


Example

DEFINE FILE(SAMPLEA) GROUP(SAMPGRP)
DESCRIPTION(Sample KSDS FCT entry)
       STATUS(ENABLED) OPENTIME(STARTUP) RECORDFORMAT(F) ADD(YES)
       BROWSE(YES) DELETE(YES) READ(YES) UPDATE(YES)
       RECOVERY(BACKOUTONLY) _FILETYPE(KSDS) _MAXRECLEN(200)
       _MINRECLEN(200) _KEYPOSITION(1) _KEYLENGTH(6) _STARTEMPTY(YES)
       _DUPKEY(NO) _FILEEXT(DAT) _FILEFORMAT(MICROFOCUS)
DEFINE FILE(SAMPLEA1) GROUP(SAMPGRP)
DESCRIPTION(Index for SAMPLEA)
       STATUS(ENABLED) OPENTIME(FIRSTREF) RECORDFORMAT(F) ADD(YES)
       BROWSE(YES) DELETE(YES) READ(YES) UPDATE(YES)
       RECOVERY(BACKOUTONLY) _FILETYPE(ALTINDEX) _BASEFILE(SAMPLEA)
       _KEYPOSITION(8) _KEYLENGTH(4) _STARTEMPTY(NO) _DUPKEY(NO)
       _FILEEXT(DAT) _FILEFORMAT(MICROFOCUS)
DEFINE FILE(SAMPLEB) GROUP(SAMPGRP)
DESCRIPTION(Sample RRDS entry)
       STATUS(ENABLED) OPENTIME(FIRSTREF) RECORDFORMAT(F) ADD(YES)
       BROWSE(YES) DELETE(YES) READ(YES) UPDATE(YES)
       RECOVERY(BACKOUTONLY) _FILETYPE(RRDS) _MAXRECLEN(500)
       _MINRECLEN(500) _STARTEMPTY(NO) _DUPKEY(NO) _PATH(x:\cics\fshr)
       _FILESHAREID(FSHRCIC2) _FILEEXT(DAT) _FILEFORMAT(MICROFOCUS)
       RESSECNUM(01-08,17-22,24)
DEFINE FILE(SAMPLEC) GROUP(SAMPGRP)
DESCRIPTION(Example of an ESDS)
       STATUS(ENABLED) OPENTIME(FIRSTREF) RECORDFORMAT(F) ADD(YES)
       BROWSE(YES) DELETE(NO) READ(YES) UPDATE(NO)
       RECOVERY(BACKOUTONLY) _FILETYPE(ESDS) _MAXRECLEN(1000)
       _MINRECLEN(120) _STARTEMPTY(NO) _DUPKEY(NO) _FILEEXT(DAT)
       _FILEFORMAT(MICROFOCUS) _FILENAME(TESTC) _USECATALOG(NO)
Parent topic: DEFINE FILE


DEFINE PROGRAM

Keyword | Description
PROGram(name) | Names the program. Mandatory. name can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Do not specify a program name starting with DFH, as Mainframe Transaction Option uses that prefix for system programs.
Group(groupname) | Names the group the program belongs to. Mandatory. groupname can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Do not specify a group name starting with DFH, as Mainframe Transaction Option uses that prefix for system groups.
DEscription(text) | Describes the program. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
Language(Cobol|Assembler|Pli) | Specifies the programming language that the program is written in.
RESident(No|Yes) Specifies whether the program is permanently resident in memory:

No: The program is removed from memory when the tasks using it have completed

Yes: The program remains in memory throughout the session

Status(Enabled|Disabled) Specifies whether the program is accessible when the region starts up:

Enabled: the program is accessible when the region starts up.

Disabled: The program cannot be used until it is specifically enabled using the transaction CPMT.

RSl(keys) | (RSl stands for Resource Security Level.) Specifies one or more indicators, each corresponding to one of the 24 resource keys for this program. A user has access to a particular resource only through a matching key as defined in his sign-on table entry. To toggle a key on you specify its number here. By default all keys are toggled off. You code the keys as a comma-separated list of individual numbers and ranges separated by hyphens. For example, to toggle the keys 1 to 5 and 10 on, code RSl(1-5,10).
Remote Attributes
REMOTESystem(name) Applicable only for remote programs. Specifies the ID of the remote system that holds the file. This must correspond to either:
  • The Local SYSID field in the SIT used to run the related remote CICS region
  • The APPLID of another CICS system
REMOTEName(name) | Applicable only for remote programs. Names the remote file. Necessary only if it differs from the local program name.
Transid(name) | Applicable only for remote programs. Specifies the name of the transaction that the remote system is to attach and under which it is to run the remote program. If not specified, the remote system executes the program under one of the supplied mirror transactions CSMI and CVMI. If supplied, name must be up to four characters in length
Micro Focus Extensions
_MOduletype(Program|Data) Specifies whether the resource being defined is an executable program or a data table:

Program: Resource is an executable program

Data: Resource is a data table. It can be loaded via an EXEC CICS LOAD PROGRAM command. Any attempt to use EXEC PROGRAM LINK or EXEC PROGRAM XCTL will fail with a PGMIDERR condition

_Wssavestate(No|Yes) | Specifies whether or not a program's working storage should be saved in its initial state so that it can be restored if the same program is called again at a lower level
_MAxcommarea(size) | Specifies the amount of storage to be allocated to the communications area (COMMAREA) to allow CICS Option to behave like mainframe CICS. The size is in the range 0 through 32767. The effect of this is that when a program is passed a COMMAREA smaller than the COMMAREA defined in the program, the passed COMMAREA is automatically extended in length to fill the defined space. This overrides the COMMAREA override value held in the SIT.
  • Example
Parent topic: CICS Resource Definitions


Example

DEFINE PROGRAM(TEST001) GROUP(TESTGRP)
LANGUAGE(COBOL) RESIDENT(NO) STATUS(ENABLED)
RSL(01,03,06,08-14,16,19-21)
DEFINE PROGRAM(TEST002) GROUP(TESTGRP)
DESCRIPTION(Sample PPT program)
LANGUAGE(ASSEMBLER) RESIDENT(NO) STATUS(DISABLED)
DEFINE PROGRAM(SAMP001) GROUP(SAMPGRP)
DESCRIPTION(Sample PPT with MF extensions)
LANGUAGE(COBOL) RESIDENT(NO) STATUS(ENABLED)
_MODULETYPE(PROGRAM) _WSSAVESTATE(NO) _MAXCOMMAREA(0)
DEFINE PROGRAM(DATA001) GROUP(SAMPGRP)
DESCRIPTION(Sample PPT for data table)
LANGUAGE(ASSEMBLER) RESIDENT(NO) STATUS(ENABLED)
_MODULETYPE(DATA) _WSSAVESTATE(NO) _MAXCOMMAREA(0)
Parent topic: DEFINE PROGRAM
Related information
Resource Definitions


DEFINE TERMINAL

Keyword | Description
TErminal(name) | Specifies the logical name of this terminal. Mandatory. Must be unique across all connected systems. Up to four alphanumeric characters.
Group(groupname) | Names the group the terminal definition belongs to. Mandatory. groupname can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Do not specify a group name starting with DFH, as Mainframe Transaction Option uses that prefix for system groups.
Description(text) | Describes the terminal. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
AUTINSTModel(No|Yes|Only) Specifies whether or not this terminal definition can be used as a model terminal definition for autoinstall:

Yes: can be used as a model for autoinstall, as well as for a specific device that is not autoinstalled

No: can be used only for a specific device that is not autoinstalled

Only: can be used only as a model for autoinstall

AUTINSTName(name) | Applicable only if AUTINSTModel is Yes or Only. Specifies the name by which the definition is known to the Autoinstall Control Program. name can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Defaults to the value given by Terminal(name).
Terminal Identifiers
Typeterm(name) | Names the associated Typerterm definition, which must exist. Mandatory.
Netname(name) | Identifies the terminal to the network. Mandatory if AUTOINSTModel is Yes or No. name can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. The first character must be a letter.
REMOTESYSTem(name) Applicable only for remote terminals. Specifies the ID of the remote system that holds the terminal definition. This must correspond to either:
  • The Local SYSID field in the SIT used to run the related remote CICS region
  • The APPLID of another CICS system
REMOTEName(name) | Applicable only for remote terminals. Names the remote terminal. Necessary only if it differs from the local terminal name.
Associated Printers
PRINTER(name) | Identifies the printer used for handling print requests. This printer must be owned by the system that owns the terminal. name can be up to four characters in length.
PRINTERCopy(No|Yes) | Indicates whether or not the hardware copy feature (using the printer defined for this terminal) is used for print requests issued from this terminal.
ALTPRINTEr(name) | Identifies the printer used for handling print requests if the printer specified in PRINTER(name) is unavailable. This printer must be owned by the system that owns the terminal. name can be up to four characters in length.
ALTPRINTCopy(No|Yes) | Indicates whether or not the hardware copy feature (using the alternate printer defined for this terminal) is used for print requests issued from this terminal.
Operator Defaults
OPERId(code) | Specifies an operator ID used for routing messages. Specify this for a terminal that cannot be signed on, such as a printer. If you specify an operator ID for a terminal that can be signed on, it is overridden by the operator ID specified in the user's sign-on table entry. Up to three alphanumeric characters.
OPERPriority(number) Specifies the operator priority for transactions run from this terminal. Specify this for a terminal that cannot be signed on, such as a printer. If you specify it for a terminal that can be signed on, it is overridden by the operator priority specified in the user's sign-on table entry. Defaults to 0(zero). Operator priority is one factor in determining a transaction's execution priority, which is the sum of:

Terminal priority

Transaction priority

Operator priority (this field)

The sum cannot be greater than 255.

Preset Security
Userid(name) | Specifies a user ID to be associated with the terminal. Mandatory if no sign-on takes place on the connection.
Natlang(E|K) Specifies the national language in which messages are sent over the connection:

E: English

K: Kanji

Terminal Usages
Transaction(name) | Names the only transaction that users can run from this terminal, apart form print and paging requests. Optional. If not specified, users can run any transaction from this terminal.
Termpriority(number) Specifies the priority for transactions run from this terminal. Defaults to 0(zero). Terminal priority is one factor in determining a transaction's execution priority, which is the sum of:

Terminal priority (this field)

Transaction priority

Operator priority

The sum cannot be greater than 255.

Inservice(Yes|No) | Indicates whether or not this terminal is in service; that is, whether transactions can be initiated and messages sent.
Session Security
Securityname(name) | The security name of the terminal. Required only if the terminal is owned by a remote system and the connection method is APPC. Can be up to eight alphanumeric characters from the set A through Z, 0 through 9, $, @ and #.
ATtachsec(Local|Identify|Verify|Persistent|Mixedpe) The level of security required when a user issues an attach request from this terminal:

Local: the authority of the user is taken to be that of the link

Identify: Incoming attach requests must specify a user ID

Verify: Incoming attach requests must specify both a user ID and a password

Persistent: The first attach request must specify both a user ID and a password, but subsequent attach requests require only a user ID

Mixedpe: Incoming attach requests may specify either Identify or Persistent

  • Example
Parent topic: CICS Resource Definitions


Example

DEFINE TERMINAL(T001) GROUP(SAMPGRP)
DESCRIPTION(Sample terminal definition)
       AUTINSTMODEL(NO) TYPETERM(3270) NETNAME(NET0001) PRINTER(PRN2)
       PRINTERCOPY(YES) ALTPRINTER(PRN3) ALTPRINTCOPY(YES)
       OPERPRIORITY(0) USERID(P901) NATLANG(E) TERMPRIORITY(68)
       INSERVICE(YES) ATTACHSEC(LOCAL)
Parent topic: DEFINE TERMINAL
Related information
Resource Definitions


DEFINE TRANSACTION

General

Keyword (default values in bold) | Description
TRANSaction(name) | Names the transaction. Mandatory. name can be up to four alphanumeric characters in length. Do not specify a transaction name starting with C, as Mainframe Transaction Option uses that prefix for system transactions.
Group(groupname) | Names the group the transaction definition belongs to. Mandatory. groupname can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Do not specify a group name starting with DFH, as Mainframe Transaction Option uses that prefix for system groups
DEscription(text) | Describes the file. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
PROGram(name) | Program driven by this transaction.
TWasize(number) | Size of transaction work area, between 0 and 32767.
STAtus(Enabled|Disabled) Indicates whether or not the transaction is accessible when the region is started:
Enabled
The transaction is accessible when the region starts up
Disabled
The transaction cannot be used until it is specifically enabled using the transaction CPMT.

Remote Attributes

Keyword (default values in bold) | Description
DYnamic(No|Yes) Indicates whether or not the transaction can be dynamically routed to a remote region:
Yes
The transaction can be dynamically routed to a remote region
No
Creates a remote definition if REMOTESystem(name) is present; creates a local definition if it is not
REMOTESystem(name) Applicable only for remote transactions. Specifies the ID of the remote system that runs the transaction. This must correspond to either:
  • The Local SYSID field in the SIT used to run the related remote Mainframe Transaction Option region
  • The APPLID of another CICS system
REMOTEName(name) | Applicable only for remote transactions. Names the remote transaction. Necessary only if it differs from the local transaction name.

Scheduling

Keyword | Description
PRIOrity(number) | Specifies the priority for this transaction. Defaults to 0(zero). Transaction priority is one factor in determining a transaction's execution priority, which is the sum of: Terminal priority Transaction priority (this field) Operator priority The sum cannot be greater than 255.

Recovery

Keyword (default values in bold) | Description
DTimout(No|0|mmss) Specifies the deadlock timeout, that is, the period after which the transaction is terminated if it has been suspended.
NO
No deadlock timeout
0
Use system (SIT) deadlock timeout value
mmss
mm is the number of minutes and ss is the number of seconds. The maximum value is 68 minutes.
DUmp(No|Yes) | Indicates whether or not Mainframe Transaction Option produces a program dump if this transaction abends.
Runaway(SYSTEM|0|milliseconds) The time to allow a task to control the processor before it is assumed to be looping and therefore purged.
SYSTEM
Use system (SIT) value
0
No deadlock timeout
milliseconds
On this system, must be a value between 1000 and 2700000. Note that the mainframe allows 500 milliseconds.
TRACe(Yes|No|Special) Indicates tracing options for this transaction:
Yes
The transaction is traced
No
The transaction is not traced
Special
Not currently supported

Indoubt Attribute

Keyword (default value in bold) Description
INdoubt(Backout|Commit|Wait) Indicates the action to be taken if this transaction abends during syncpoint or abend processing:
Backout
The effects of the transaction are backed out using SYNCPOINT ROLLBACK (For this to work, you must also set backwards recovery on for any file used by the transaction.)
Commit
Any changes are committed
Wait
Critical resources are locked until the session has recovered and are then backed out or committed in step with the remote system

Security

Keyword (default values in bold) | Description
CMDSEC(No|Yes) | Indicates whether or not security checking is enabled for CICS command operations.
RESSec(No|Yes) | Indicates whether or not the transaction program performs resource security checking by comparing a user's resource keys (defined in the user's entry in the sign-on-table) with the keys enabled for a particular resource.
TRANSec(keys) Specifies one or more indicators, each corresponding to one of the 64 security keys for this transaction.

A user has access to a particular transaction only through a matching key as defined in his sign-on table entry. To toggle a key on you specify its number here. By default all keys are toggled off.

You code the keys as a comma-separated list of individual numbers and ranges separated by hyphens. For example, to toggle the keys 1 to 5 and 10 on, code TRANsec(1-5,10).

RSL(keys) (RSL stands for Resource Security Level.) Specifies one or more indicators, each corresponding to one of the 24 resource keys for this transaction.

A user has access to a particular resource only through a matching key as defined in his sign-on table entry. To toggle a key on you specify its number here. By default all keys are toggled off.

You code the keys as a comma-separated list of individual numbers and ranges separated by hyphens. For example, to toggle the keys 1 to 5 and 10 on, code RSl(1-5,10).

Micro Focus Extensions

Keyword (default values in bold) | Description
_CATEGORY(No|0|3) | A value of “3” specifies an IBM Category 3 Transaction. These transactions have no security checking. Therefore, transactions in this category are allowed for all users, and no authorization calls are made. An example of this type of transaction is CESN.
_Inboundtp(No|Yes) | Indicates whether or not registry entries to allow inbound transactions are created.
_Screen(Default|Alternate) | Indicates the screen size is used by the transaction. Both sizes are defined in the Typeterm definition for the terminal in use at the time.
_Uctran(Yes|No) | Indicates whether or not any data received by the transaction is automatically folded to upper case
_Timethold(SYSTEM|0|seconds) The time to wait for a transaction to complete before triggering a monitoring event.
SYSTEM
Use system (SIT) value.
0
No monitoring event.
seconds
Maximum time is 65333 seconds.
_Rtimeout(SYSTEM|0|seconds) The time to wait for input, after which the terminal will automatically sign off the user.
SYSTEM
Use system (SIT) value.
0
No timeout.
seconds
Maximum time is 4080 seconds.
  • Example
Parent topic: CICS Resource Definitions


Example

DEFINE TRANSACTION(TRNX) GROUP(SAMPGRP)
DESCRIPTION(Sample PCT entry)
       PROGRAM(ABP0001A) TWASIZE(1024) STATUS(ENABLED) DYNAMIC(YES)
       PRIORITY(100) DTIMOUT(NO) INDOUBT(COMMIT) DUMP(YES) TRACE(YES)
       RESSEC(NO) TRANSEC(01,09-10,15-20,25,30,53-59)
       RSL(02,07-10,15,24)

DEFINE TRANSACTION(TRNX) GROUP(SAMPGRP)
DESCRIPTION(Sample PCT entry)
       PROGRAM(ABP0001A) TWASIZE(1024) STATUS(ENABLED) DYNAMIC(YES)
       PRIORITY(100) DTIMOUT(NO) INDOUBT(COMMIT) DUMP(YES) TRACE(YES)
       RESSEC(NO) TRANSEC(01,09-10,15-20,25,30,53-59)
       RSL(02,07-10,15,24) _SCREEN(DEFAULT) _UCTRAN(YES) _INBOUNDTP(NO)
Parent topic: DEFINE TRANSACTION
Related information
Resource Definitions


DEFINE TRANSIENT DATA QUEUE

Keyword | Description
TDqueue(name) | Names this queue. Mandatory. name can be up to four alphanumeric characters, the first of which must be aletter other than C.
Group(groupname) | Names the group the queue belongs to. Mandatory. groupname can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Do not specify a group name starting with DFH, as Mainframe Transaction Option uses that prefix for system groups.
DESCription(text) | Describes the transient data queue. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
TYPE(INTra|Extra|INDirect|INTRDR) Specifies the type of this queue:

Intra: The contents of the queue are accessible only to transactions and are temporary

Extra: The contents of the queue are made available to non-CICS programs, or data is made available from non-CICS programs

INDirect: An alias that points to another queue, which may be of any type

INTRDR: Specifies the internal reader to which CICS applications can direct a JCL job stream for execution by the JCL engine.
Intrapartition Queue Parameters
Atifacility(Terminal|blank)) (Intrapartition queues). Indicates the type of destination the queue represents:

Terminal: the transient data queue is associated with a terminal, which is specified in Facilityid(name).
RECOVstatus(No|Physical|Logical) | (Intrapartition queues). Indicates whether or not the queue is recoverable. If you specify that the queue is recoverable (physical and logical are synonymous), you must also specify _FILESHAREID. This is because Mainframe Transaction Option recovery is handled by Fileshare.
Facilityid(name) | (Intrapartition queues). Specifies the terminal ID if Atifacility is set to Terminal. If unspecified defaults to the queue name. A terminal definition must exist.
TRAnsid(name) | (Intrapartition queues). Specifies the name of the transaction to be run when the queue reaches the level specified in Triggerlevel(number)
TRIggerlevel(number) | (Intrapartition queues). Specifies the number of data records to be accumulated in the queue before the transaction specified in Transid(name) is run. A value of 0 means that the transaction is never run.
Extrapartition Queue Parameters
DSName(name) | (Extrapartition queues). Not used..
Opentime(Initial|Deferred) (Extrapartition queues). Indicates the initial status of the queue:

Initial: the queue is opened when the region starts up

Deferred: the queue is closed until it is required
TypeFile(Output|Input|Rdback) | (Extrapartition queues). Specifies whether the queue is for input, output, or may be read backwards.
RECORDSize(number) | (Extrapartition queues). Specifies the maximum length of records in this queue, in the range 0 through 32767
RECORDFormat(Fixed|Variable) (Extrapartition queues). Specifies the record format:

Fixed: the minimum record size is set to the same value as the maximum record size

Variable: the minimum record size is set to 1
Printcontrol(Asa|Machine) | (Extrapartition queues). Specifies the type of print control characters to be used. Optional.
Indirect Parameters
Indirectname(name) | Specifies the name of another transient data queue, which must be defined
Remote Parameters
REMOTEName(name) | Applicable only for remote transient data queues. Names the remote queue. Necessary only if it differs from the local file name. The queue must be defined on the remote system.
REMOTESystem(name) | Applicable only for remote transient data queues. Specifies the ID of the remote system that holds the file. This must correspond to the Local SYSID field in the SIT used to run the related remote region.
Micro Focus Extensions
_Status(Enabled|Disabled) Effective only for queues owned by the local region. Specifies whether this queue is accessible when the region is started.

Enabled: accessible when the region starts up

Disabled: not accessible when the region starts up
_Minrecsize(number) | (Extrapartition queues). Specifies the minimum length of records in this queue. Must be less than or equal to RECORDSize. If this is not specified, Mainframe Transaction Option deduces it from RECORDFormat.
_FILEShareid(name) | Specifies the Fileshare server on which this queue resides
_PCfiletype(Normal|Lineseq) | Indicates the type of PC file to be created to hold the queue. Choose Lineseq if you want to edit the file.
_FILEName(name) | (Extrapartition queues). Specifies the name of the file that holds this queue. Do not include the file extension. Defaults to dfhxdddd.tdq where dddd is the four-character name of the queue as specified in Tdqueue(name).
_PAth(path) | (Extrapartition queues). Specifies the path of the file that holds the queue if you want to override the default.
_FILEExt(extension) | Specifies the extension of the file that that holds the queue if you want to override the default, which is .tdq
_Rsl(keys) | Specifies one or more indicators, each corresponding to one of the 24 resource keys for this queue. A user has access to a particular resource only through a matching key as defined in his sign-on table entry. To toggle a key on you specify its number here. By default all keys are toggled off. You code the keys as a comma-separated list of individual numbers and ranges separated by hyphens. For example, to toggle the keys 1 to 5 and 10 on, code Rsl(1-5,10).
  • Examples
Parent topic: CICS Resource Definitions


Examples

DEFINE TDQUEUE(A042) GROUP(SAMPGRP)
DESCRIPTION(Sample extrapartition DCT)
       TYPE(EXTRA) DDNAME(A042) OPENTIME(INITIAL) TYPEFILE(OUTPUT)
       RECORDFORMAT(VARIABLE) RECORDSIZE(500) BLOCKFORMAT(UNBLOCKED)
       REMOTENAME(P908) REMOTESYSTEM(SYSB)
DEFINE TDQUEUE(D010) GROUP(SAMPGRP)
DESCRIPTION(Sample intrapartition DCT)
       TYPE(INTRA) RECOVSTATUS(NO) TRANSID(TTAB) TRIGGERLEVEL(25)
DEFINE TDQUEUE(K022) GROUP(SAMPGRP)
DESCRIPTION(Sample extrapartition DCT)
       TYPE(EXTRA) DDNAME(K022) OPENTIME(INITIAL) TYPEFILE(OUTPUT)
       RECORDFORMAT(FIXED) RECORDSIZE(100) BLOCKFORMAT(UNBLOCKED)
DEFINE TDQUEUE(S030) GROUP(SAMPGRP)
DESCRIPTION(Sample indirect Q)
       TYPE(INDIRECT) INDIRECTNAME(D025)

DEFINE TDQUEUE(A042) GROUP(SAMPGRP)
DESCRIPTION(Sample extrapartition DCT with MF extensions)
       TYPE(EXTRA) DDNAME(A042) OPENTIME(INITIAL) TYPEFILE(OUTPUT)
       RECORDFORMAT(VARIABLE) RECORDSIZE(500) BLOCKFORMAT(UNBLOCKED)
       REMOTENAME(P908) REMOTESYSTEM(SYSB) _STATUS(ENABLED)
       _MINRECSIZE(26) _FILESHAREID(CICFSHRA) _PCFILETYPE(NORMAL)
       _FILENAME(ac116bx) _PATH(x:\frp\cicsa\) _FILEEXT(dct)
       _RSL(01,03,05,09-15)
DEFINE TDQUEUE(D010) GROUP(SAMPGRP)
DESCRIPTION(Sample intrapartition DCT with MF extensions)
       TYPE(INTRA) RECOVSTATUS(NO) TRANSID(TTAB) TRIGGERLEVEL(25)
       _STATUS(ENABLED)
DEFINE TDQUEUE(S030) GROUP(SAMPGRP)
DESCRIPTION(Sample indirect Q with MF extensions)
       TYPE(INDIRECT) INDIRECTNAME(D025) _STATUS(ENABLED)
Parent topic: DEFINE TRANSIENT DATA QUEUE
Related information
Resource Definitions


DEFINE TYPETERM

Keyword | Description
TYpeterm(name) | Names this terminal type. Mandatory. name can be up to four alphanumeric characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #.
Group(groupname) | Names the group the terminal type definition belongs to. Mandatory. groupname can be up to eight characters in length. Acceptable characters are A through Z, 0 through 9, $, @ and #. Do not specify a group name starting with DFH, as Mainframe Transaction Option uses that prefix for system groups.
DEScription(text) | Describes the terminal type. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
Resource Type
DEVice(3270|3270P) Specifies the device type:

3270: display

3270P: printer
SHippable(No|Yes) Indicates whether or not this definition can be shipped to a remote system if a device of this type attempts to initiate a remote transaction.

Yes: the terminal definition can be shipped. It is not necessary for the terminal definition to be installed on the remote system.

No: the terminal definition cannot be shipped. You must ensure that the terminal definition is installed on the remote system.
Mapping Properties
PAGesize(rows,columns) | Specifies the page size for the terminal type being defined. Page size is defined as rows, in the range 0 through 999, and columns, in the range 0 through 999. The default is 24 by 80.
ALTPage(rows,columns) | Specifies the page size for the terminal type being defined, if you have specified an alternate screen size (none-default values for ALTSCreen). Alternate page size is defined as rows, in the range 0 through 999, and columns, in the range 0 through 999. The default is 24 by 80. Unexpected results may occur if the number of columns is not the same as the number of columns you specify for alternate screen size. Defaults to the values specified in PAGesize
OBOperid(No|Yes) | Indicates whether or not Mainframe Transaction Option uses the outbound operator identifiers to support the BMS routing facilities required by this terminal type definition.
Device Properties
DEFscreen(rows,columns) | Specifies the default screen size for the 3270 terminal type being defined. This is the screen size that is used when a transaction definition specifies a default screen. Screen size is defined as rows, in the range 0 through 999, and columns, in the range 0 through 999. The default is 24 by 80. There is no validity checking; incorrect sizes may lead to unpredictable behavior.
ALTSCReen(rows,columns) | Specifies the alternate screen size for the 3270 terminal type being defined. This is the screen size that is used when a transaction definition specifies an alternate screen. Screen size is defined as rows, in the range 0 through 999, and columns, in the range 0 through 999. The default is 24 by 80. There is no validity checking; incorrect sizes may lead to unpredictable behavior.
APLKybd(No|Yes) | Indicates whether or not the terminal type has the APL keyboard feature
AUDiblealarm(No|Yes) | Indicates whether or not the terminal type has the audible alarm feature
COLor(Yes|No) | Indicates whether or not the terminal type has the color feature, allowing colors to be selected for individual fields
COPy(No|Yes) | Indicates whether or not the terminal type has the copy feature
DUalcasekybd(No|Yes) Indicates which type of keyboard the terminal type has:

Yes: the terminal has a typewriter keyboard

No: the terminal has an operator console keyboard

Both types of keyboard transmit both upper-case and lower-case data.
EXtendedds(Yes|No) Indicates whether or not the terminal type supports extensions to the 3270 data stream:

Yes: extensions are supported. You must specify Yes if you also specify yes for Color or Hilight.

No: extensions are not supported.
HIlight(Yes|No) | Indicates whether or not the terminal type has the extended highlight feature, allowing individual fields or characters to be displayed in bold, reverse video, or blinking
Katakana(No|Yes) | Indicates whether or not the this terminal type is a Katakana terminal type. Katakana terminals do not support mixed case output. Upper-case characters appear as upper-case English, but lower-case characters appear as Katakana characters.
Lightpen(No|Yes) | Indicates whether or not the terminal type has the light pen selector feature. Mainframe Transaction Option emulates this feature using mouse clicks.
PRIntadapter(Yes|No) | Indicates whether or not output BMS screens with the PRINT option set on are to be copied automatically to an attached printer.
PROgsymbols(No|Yes) | Indicates whether or not the terminal type supports the programmed symbol facility. This facility allows you to use a maximum of six sets of 191 characters.
OUtline(No|Yes) | Indicates whether or not the terminal type supports field outlining
SOsi(No|Yes) | Indicates whether or not the terminal type supports mixed EBCDIC and DBCS fields
CGcsgid(num1,num2) | Specifies the coded graphic character set global identifier (CGCSGID) that enables transaction programs to determine what character set is supported by this terminal. Defaults to 0,0, which means that the terminal type does not support this feature. num1 is the graphic character set global identifier (GCSGID) and num2 is the code page global identifier (CPGID).
Session Properties
AScii(No|7|8) Specifies whether or not this terminal type has an ASCII feature:

No: the terminal type does not have an ASCII feature

7: Terminals of this type are ASCII-7 terminals. All outbound data is translated to 7-bit ASCII, and all inbound data is translated to EBCDIC

8: Terminals of this type are ASCII-8 terminals. All outbound data is translated to 8-bit ASCII, and all inbound data is translated to EBCDIC
SENdsize(number) | Specifies the size, in bytes, of the receive buffer of a terminal of this type. This represents the maximum amount of data that the terminal can receive, and depends on the capability of the device. Considerations of line quality may lead you to specify a buffer size that is less than the terminal type's maximum buffer size. A message longer than the receive buffer is broken into as many request units as are necessary. Defaults to 0 (zero). If you specify a zero buffer size, the message is not broken up; the whole message is presented.
RECEivesize(number) | Specifies the maximum size, in bytes, of a request unit that can satisfy a receive request. The value you specify may be rounded down.
Diagnostic Display
ERRLastline(No|Yes) Indicates whether or not error messages are displayed at the bottom of the screen:

Yes: an error message is displayed at the bottom of the screen, starting at a position that allows the entire message to be shown at once. If messages are received in quick succession, an earlier message may be overwritten before the user has time to read it. Messages displayed in this way may have the additional attributes specified in ERRIntensity, ERRColor and ERRHilight.

No: an error message is displayed at the current cursor position, and without any additional attributes.
ERRIntensify(No|Yes) | Indicates whether or not an error message is displayed in an intensified field (bold). A setting of Yes takes effect only if ERRLastline is set to Yes.
ERRColor(NO|Blue|Red|Pink|Green|

Turquoise|Yellow|Neutral)

 Specifies the color in which error messages are to be displayed on a terminal of this type. A setting other than NO takes effect only if ERRLastline is set to Yes.
ERRHilight(No|Blink|Reverse|

Underline)

 Specifies the type of highlighting to be used for error messages displayed on a terminal of this type. A setting other than No takes effect only if ERRLastline is set to Yes.
Operational Properties
AUTOConnect(No|Yes) Indicates whether or not a session with the terminal is established when the region starts up:

Yes: a session is established when the region starts up

No: a session is established when the user signs on at the terminal
ATi(No|Yes) | Indicates whether or not a transaction can be automatically initiated on this terminal. If you specify ATi(No), you should specify TTi(Yes) to allow users to initiate transactions.
TTi(Yes|No) | Indicates whether or not users can initiate transactions at this terminal. If you specify TTi(No), you should specify ATi (Yes) to allow transactions to be automatically initiated.
CReatesess(No|Yes) Indicates whether or not a session can be initiated from a terminal of this type:

Yes: EXEC START requests and Automatic Transaction Initiation (ATI) requests are allowed to create sessions automatically

No: EXEC START requests and Automatic Transaction Initiation (ATI) requests are not allowed to create sessions automatically. Such requests are queued or rejected if a session has not been established.
Nepclass(number) | Specifies the transaction class of the node error program. Defaults to 0 (zero), which indicates that the default node error program is to be used.
Signoff(No|Yes) Indicates whether or not a terminal of this type is to be automatically signed off in the absence of user input:

Yes: the terminal is to be automatically signed off after a period of no user input; the length of this period is specified in the Timeout field of the user's entry in the sign-on table.

No: the terminal is not automatically signed of in the absence of user input.
Message Receiving Properties
ROutedmsgs(No|Yes) Indicates whether or not messages are routed to a terminal of this type by the EXEC CICS ROUTE command:

Yes: BMS routes to this terminal messages that are destined for all terminals, as well as messages destined for this terminal

No: no messages are routed to this terminal, even if they are specifically destined for this terminal
LOGOnmsg(No|Yes) Indicates whether or not the transaction that displays the logon message will be initiated when this terminal is connected:

Yes: the logon transaction is initiated when a session is established and displays the logon message on the terminal. Automatic Transaction Initiation (ATI) is used to start the transaction, so you must specify ATi(Yes). The transaction competes with any other ATI transactions for use of the terminal. If you specified ErrLastline(Yes), the logon message does not overwrite any error message currently displayed.

No: the logon transaction is not initiated when a session is established.
Application Features
BUildchain(No|Yes) Indicates whether or not Mainframe Transaction Option is to reassemble request units into complete messages before passing data from a terminal of this type to a transaction program:

Yes: Mainframe Transaction Option reassembles request units into a complete message before passing it to a transaction program.

No: messages are received by the transaction program in individual request units.
USerarealen(number) | Specifies the size, in bytes, of the user area of a terminal of this type. Defaults to 0 (zero).
Ioarealen(min,max) Specifies the minimum and maximum sizes, in bytes, of the terminal I/O area to be passed to a transaction program when it issues a RECEIVE. If you specify min, a terminal I/O area of at least that size is passed to the transaction program. If you specify both values and a message longer than min but shorter than max is received, then a terminal I/O area of the maximum size is passed to the transaction program. A message longer than max causes the node abnormal condition program to send an exception response to the terminal. Defaults to 0,0.

If you specify ATi(Yes), you must specify a terminal I/O area of at least one byte.

UCtran(No|Yes|Tranid) Indicates whether or not data entered in lower case is to be translated to upper case:

Yes: data input in lower case is translated to upper case

No: data input in lower case is not translated to upper case

Tranid: transaction identifiers input in lower case are translated to upper case; not other input data is translated
Recovery
RECOVOption(Sysdefault|Clearconv|

Releasesess|Uncondrel|None)

 Specifies how Mainframe Transaction Option recovers the session and returns the terminal to normal service:

Sysdefault: Mainframe Transaction Option selects the best recovery strategy based on session activity and the characteristics of the terminal

Clearconv: Mainframe Transaction Option sends a CLEAR request to reset the conversation state, or an UNBIND request if the session does not support the CLEAR request. Mainframe Transaction Option sends the CLEAR or UNBIND request only if the session was busy.

Releasesess: Mainframe Transaction Option sends an UNBIND request to clear the active session, if the session was busy.

Uncondrel: Mainframe Transaction Option sends an UNBIND request to clear the active session, whether or not the session was busy

None: the terminal session is not automatically recovered. If you specified AUTOConnect(Yes), the terminal is automatically reconnected
RECOVNotify(None|Message|

Transaction)

 Specifies how the user is notified of system recovery:

None: the user is not notified

Message: a message is displayed on the terminal. The terminal must be capable of displaying BMS maps, and you must have specified ATi(Yes)
Micro Focus Extensions
_Featurebuff(No|Yes) Indicates whether or not BMS buffers formatted data streams that are sent to a terminal of this type:

Yes: When an application issues a series of SEND TEXT PRINT commands, Mainframe Transaction Option sends a page to the terminal only when it is full

No: When an application issues a series of SEND TEXT PRINT commands, Mainframe Transaction Option sends a page to the terminal for every command issued, filling up the page by appending blank lines if necessary
  • Example
Parent topic: CICS Resource Definitions


Example

DEFINE TYPETERM(TT01AA01) GROUP(SAMPGRP)
DESCRIPTION(Sample terminal type definition)
       DEVICE(3270) SHIPPABLE(NO) PAGESIZE(24,80) ALTPAGE(24,80)
       OBOPERID(NO) DEFSCREEN(24,80) ALTSCREEN(24,80) APLKYBD(NO)
       APLTEXT(NO) AUDIBLEALARM(NO) COLOR(YES) COPY(NO)
       DUALCASEKYBD(NO) EXTENDEDDS(YES) HILIGHT(YES) KATAKANA(NO)
       LIGHTPEN(NO) PROGSYMBOLS(NO) FORMFEED(NO) OUTLINE(NO) SOSI(NO)
       CGCSGID(0,0) ASCII(NO) SENDSIZE(0) RECEIVESIZE(0)
       ERRLASTLINE(NO) ERRINTENSIFY(NO) ERRCOLOR(NO) ERRHILIGHT(NO)
       AUTOCONNECT(NO) ATI(NO) TTI(YES) CREATESESS(YES) NEPCLASS(0)
       SIGNOFF(NO) ROUTEDMSGS(NONE) LOGONMSG(NO) BUILDCHAIN(NO)
       USERAREALEN(0) IOAREALEN(0,0) UCTRAN(NO) RECOVOPTION(SYSDEFAULT)
       RECOVNOTIFY(NONE)
Parent topic: DEFINE TYPETERM
Related information
Resource Definitions


DEFINE _SIGNON

Keyword | Description
Description(text) | Describes the sign-on record. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
_Password(password) | The password that the user must supply to sign on to an enterprise server session. Format: up to eight characters.
_OPIdent(name) | An ID associated with the terminal. Format: up to three alphanumeric characters.
_RSlkey(key,key1-key2) | Specifies the resource keys owned by the user. A comma-separated list, each item in which may be any of the following:
Keyword | Description
Description(text) | Describes the sign-on record. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
_Password(password) | The password that the user must supply to sign on to an enterprise server session. Format: up to eight characters.
_OPIdent(name) | An ID associated with the terminal. Format: up to three alphanumeric characters.
_RSlkey(key,key1-key2) | Specifies the resource keys owned by the user. A comma-separated list, each item in which may be any of the following:
_SCtykey(key,key1-key2) | Specifies the security keys owned by the user. A comma-separated list, each item in which may be any of the following:
Keyword | Description
Description(text) | Describes the sign-on record. Optional. text can be up to 60 characters in length, with no restrictions except that if you use a left parenthesis you must ensure that there is a matching right parenthesis.
_Password(password) | The password that the user must supply to sign on to an enterprise server session. Format: up to eight characters.
_OPIdent(name) | An ID associated with the terminal. Format: up to three alphanumeric characters.
_RSlkey(key,key1-key2) | Specifies the resource keys owned by the user. A comma-separated list, each item in which may be any of the following:
_SCtykey(key,key1-key2) | Specifies the security keys owned by the user. A comma-separated list, each item in which may be any of the following:
_USerkey(key,key1-key2) | Specifies the surrogate keys owned by the user. A comma-separated list, each item in which may be any of the following:
nn | Toggle the specified resource key (nn is in the range 1 to 24).
mm-nn | Toggle resource keys in the range mm to nn inclusive (mm and nn are in the range 1 to 24).
nn | Toggle the specified security key (nn is in the range 1 to 64).
mm-nn | Toggle security keys in the range mm to nn inclusive (mm and nn are in the range 1 to 64).
nn | Toggle the specified surrogate key (nn is in the range 1 to 24).
mm-nn | Toggle surrogate keys in the range mm to nn inclusive (mm and nn are in the range 1 to 24).
_SCtykey(key,key1-key2) | Specifies the security keys owned by the user. A comma-separated list, each item in which may be any of the following:
_USerkey(key,key1-key2) | Specifies the surrogate keys owned by the user. A comma-separated list, each item in which may be any of the following:
_Timeout(minutes) Specifies the time, in minutes, for which the user will remain logged on to Transaction System without initiating a transaction. A value of 0 means that the user will remain logged on indefinitely.

Format: 0 to 60.
_OPPrty(value) Specifies the priority of transaction programs started by this user. 0 is the highest priority, and 255 is the lowest. The priority of a transaction is the sum of:
  • The terminal priority
  • The transaction priority
  • The operator priority (this field)

This sum must not be greater than 255.

Format: 0 to 255.

_GRPPrefix(value) Controls this user's access to private group definitions. The user can only access groups whose names begin with the characters specified here.

You cannot specify a prefix that begins with "DFH".

If you do not specify a group prefix, the user cannot access any private group definitions.

Format: up to eight characters.

_GRPAccess(Update|Read|None) Specifies the type of access this user will be granted to group definitions.

The permissions specified here do not apply to groups whose name begins with "DFH".

In the case of private groups, the access granted here applies only to those groups whose name begins with the user's group prefix.

_PCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to PCT definitions.
_FCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to FCT definitions.
_PPtaccess(Update|Read|None) | Specifies the type of access this user will be granted to PPT definitions.
_DCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to transient data queue/destination control table (DCT) definitions.
_SItaccess(Update|Read|None) | Specifies the type of access this user will be granted to SIT definitions.
_SNtaccess(Update|Read|None) | Specifies the type of access this user will be granted to sign-on table (SNT) definitions.
_TStaccess(Update|Read|None) | Specifies the type of access this user will be granted to temporary storage (TST) definitions.
_JCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to journal control table (JCT) definitions.
_TTyaccess(Update|ReRead|None) | Specifies the type of access this user will be granted to terminal type (TTY) definitions.
_TRmaccess(Update|Read|None) | Specifies the type of access this user will be granted to terminal definitions.
_PLtaccess(Update|Read|None) | Specifies the type of access this user will be granted to program list table (PLT) definitions.
_SUpaccess(Update|Read|None) | Specifies the type of access this user will be granted to start-up list definitions.
_XLtaccess(Update|Read|None) | Specifies the type of access this user will be granted to XLT definitions.
_BAtaccess(Update|Read|None) | Specifies the type of access this user will be granted to batch processing.
_XAtaccess(Update|Read|None) | Specifies the type of access this user will be granted to XAT definitions.
_Imsaccess(Update|Read|None) | Specifies the type of access this user will be granted to IMS processing.
_JCLsubauth(Yes|No) | Specifies whether or not this user will be granted authority to submit JCL.
_USerkey(key,key1-key2) | Specifies the surrogate keys owned by the user. A comma-separated list, each item in which may be any of the following:
_Timeout(minutes) Specifies the time, in minutes, for which the user will remain logged on to Transaction System without initiating a transaction. A value of 0 means that the user will remain logged on indefinitely.

Format: 0 to 60.
_OPPrty(value) Specifies the priority of transaction programs started by this user. 0 is the highest priority, and 255 is the lowest. The priority of a transaction is the sum of:
  • The terminal priority
  • The transaction priority
  • The operator priority (this field)

This sum must not be greater than 255.

Format: 0 to 255.

_GRPPrefix(value) Controls this user's access to private group definitions. The user can only access groups whose names begin with the characters specified here.

You cannot specify a prefix that begins with "DFH".

If you do not specify a group prefix, the user cannot access any private group definitions.

Format: up to eight characters.

_GRPAccess(Update|Read|None) Specifies the type of access this user will be granted to group definitions.

The permissions specified here do not apply to groups whose name begins with "DFH".

In the case of private groups, the access granted here applies only to those groups whose name begins with the user's group prefix.

_PCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to PCT definitions.
_FCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to FCT definitions.
_PPtaccess(Update|Read|None) | Specifies the type of access this user will be granted to PPT definitions.
_DCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to transient data queue/destination control table (DCT) definitions.
_SItaccess(Update|Read|None) | Specifies the type of access this user will be granted to SIT definitions.
_SNtaccess(Update|Read|None) | Specifies the type of access this user will be granted to sign-on table (SNT) definitions.
_TStaccess(Update|Read|None) | Specifies the type of access this user will be granted to temporary storage (TST) definitions.
_JCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to journal control table (JCT) definitions.
_TTyaccess(Update|ReRead|None) | Specifies the type of access this user will be granted to terminal type (TTY) definitions.
_TRmaccess(Update|Read|None) | Specifies the type of access this user will be granted to terminal definitions.
_PLtaccess(Update|Read|None) | Specifies the type of access this user will be granted to program list table (PLT) definitions.
_SUpaccess(Update|Read|None) | Specifies the type of access this user will be granted to start-up list definitions.
_XLtaccess(Update|Read|None) | Specifies the type of access this user will be granted to XLT definitions.
_BAtaccess(Update|Read|None) | Specifies the type of access this user will be granted to batch processing.
_XAtaccess(Update|Read|None) | Specifies the type of access this user will be granted to XAT definitions.
_Imsaccess(Update|Read|None) | Specifies the type of access this user will be granted to IMS processing.
_JCLsubauth(Yes|No) | Specifies whether or not this user will be granted authority to submit JCL.
_Timeout(minutes) Specifies the time, in minutes, for which the user will remain logged on to Transaction System without initiating a transaction. A value of 0 means that the user will remain logged on indefinitely.

Format: 0 to 60.
_OPPrty(value) Specifies the priority of transaction programs started by this user. 0 is the highest priority, and 255 is the lowest. The priority of a transaction is the sum of:
  • The terminal priority
  • The transaction priority
  • The operator priority (this field)

This sum must not be greater than 255.

Format: 0 to 255.

_GRPPrefix(value) Controls this user's access to private group definitions. The user can only access groups whose names begin with the characters specified here.

You cannot specify a prefix that begins with "DFH".

If you do not specify a group prefix, the user cannot access any private group definitions.

Format: up to eight characters.

_GRPAccess(Update|Read|None) Specifies the type of access this user will be granted to group definitions.

The permissions specified here do not apply to groups whose name begins with "DFH".

In the case of private groups, the access granted here applies only to those groups whose name begins with the user's group prefix.

_PCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to PCT definitions.
_FCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to FCT definitions.
_PPtaccess(Update|Read|None) | Specifies the type of access this user will be granted to PPT definitions.
_DCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to transient data queue/destination control table (DCT) definitions.
_SItaccess(Update|Read|None) | Specifies the type of access this user will be granted to SIT definitions.
_SNtaccess(Update|Read|None) | Specifies the type of access this user will be granted to sign-on table (SNT) definitions.
_TStaccess(Update|Read|None) | Specifies the type of access this user will be granted to temporary storage (TST) definitions.
_JCtaccess(Update|Read|None) | Specifies the type of access this user will be granted to journal control table (JCT) definitions.
_TTyaccess(Update|ReRead|None) | Specifies the type of access this user will be granted to terminal type (TTY) definitions.
_TRmaccess(Update|Read|None) | Specifies the type of access this user will be granted to terminal definitions.
_PLtaccess(Update|Read|None) | Specifies the type of access this user will be granted to program list table (PLT) definitions.
_SUpaccess(Update|Read|None) | Specifies the type of access this user will be granted to start-up list definitions.
_XLtaccess(Update|Read|None) | Specifies the type of access this user will be granted to XLT definitions.
_BAtaccess(Update|Read|None) | Specifies the type of access this user will be granted to batch processing.
_XAtaccess(Update|Read|None) | Specifies the type of access this user will be granted to XAT definitions.
_Imsaccess(Update|Read|None) | Specifies the type of access this user will be granted to IMS processing.
_JCLsubauth(Yes|No) | Specifies whether or not this user will be granted authority to submit JCL.
Parent topic: CICS Resource Definitions


CICS Supplied Transactions

  • CAMX - Set Maximum Number of Servers
    Sets the maximum number of transaction servers for the region.
  • CDBG - Modify Debug Server
    Modifies a debug server.
  • CEBR - Browse Temporary Storage
    Examines the contents of records in temporary storage or transient data queues.
  • CENV - Show Active Configuration
    Displays the environment used by .
  • CESF - Sign Off
    Signs off from a terminal
  • CESN - Sign On
    Signs on to a terminal.
  • CFCR - Create a File
    Creates an empty file, if the file has previously been defined in the FCT.
  • CFLE, CFLI, CFLS - File Editor
  • CFMT - File Master Transaction
    Opens, closes, enables, disables or inquires on a file.
  • CGWY - Display the Status of and Start CCI Gateways
    Displays the status of CCI gateways and allows CCI gateways to be started.
  • CINQ - Inquire On ASSIGN Values
    Displays a list of all the ASSIGN command values and their settings.
  • CINS - Install a Resource Group
    Installs a resource group.
  • CKQC - Start a CKTI monitor
    Starts the CKTI transaction, which monitors the named MQSeries initiation queue.
  • CLOG - View the Console Log
    Allows you to view and search the console log in the same way as you can view and search the console log display of the Monitor Region tool. This is available for both multi-tasking and single-tasking systems.
  • CMAP - Display BMS Maps and Information
    CMAP displays the contents of a BMS map and displays information about the map and mapset.
  • CNCL - Release Copies of a Program
    Releases any existing copies of the specified called program from memory.
  • CPMT - Inquire and Set Program Attributes
    Displays the current attributes of the specified program for an inquire, and sets the specified program attribute.
  • CQIT - Shut Down a Region
    Shuts down a region.
  • CRTE - Start Transaction Routing
    Starts a transaction routing session to a remote system.
  • CRUN - Generic Run Program
    Invokes the specified program.
  • CSPG - Page Manipulation
    Manipulates pages of information produced by transactions where there is too much information to be displayed or printed at one time. You must have created the pages of information using BMS.
  • CSSF - End Transaction Routing
    Ends transaction routing session.
  • CTRA - Trace Activity
    Controls trace activity in Mainframe Transaction Option.
  • CWTO - Write to Operator
    Write to operator console.
  • EXIT - Sign Off Terminal Emulator
    Signs off and closes the terminal window.
  • CAMX - Set Maximum Number of Servers
    Sets the maximum number of transaction servers for the region.
  • CDBG - Modify Debug Server
    Modifies a debug server.
  • CEBR - Browse Temporary Storage
    Examines the contents of records in temporary storage or transient data queues.
  • CENV - Show Active Configuration
    Displays the environment used by .
  • CESF - Sign Off
    Signs off from a terminal
  • CESN - Sign On
    Signs on to a terminal.
  • CFCR - Create a File
    Creates an empty file, if the file has previously been defined in the FCT.
  • CFLE, CFLI, CFLS - File Editor
  • CFMT - File Master Transaction
    Opens, closes, enables, disables or inquires on a file.
  • CGWY - Display the Status of and Start CCI Gateways
    Displays the status of CCI gateways and allows CCI gateways to be started.
  • CINQ - Inquire On ASSIGN Values
    Displays a list of all the ASSIGN command values and their settings.
  • CINS - Install a Resource Group
    Installs a resource group.
  • CKQC - Start a CKTI monitor
    Starts the CKTI transaction, which monitors the named MQSeries initiation queue.
  • CLOG - View the Console Log
    Allows you to view and search the console log in the same way as you can view and search the console log display of the Monitor Region tool. This is available for both multi-tasking and single-tasking systems.
  • CMAP - Display BMS Maps and Information
    CMAP displays the contents of a BMS map and displays information about the map and mapset.
  • CNCL - Release Copies of a Program
    Releases any existing copies of the specified called program from memory.
  • CPMT - Inquire and Set Program Attributes
    Displays the current attributes of the specified program for an inquire, and sets the specified program attribute.
  • CQIT - Shut Down a Region
    Shuts down a region.
  • CRTE - Start Transaction Routing
    Starts a transaction routing session to a remote system.
  • CRUN - Generic Run Program
    Invokes the specified program.
  • CSPG - Page Manipulation
    Manipulates pages of information produced by transactions where there is too much information to be displayed or printed at one time. You must have created the pages of information using BMS.
  • CSSF - End Transaction Routing
    Ends transaction routing session.
  • CTRA - Trace Activity
    Controls trace activity in Mainframe Transaction Option.
  • CWTO - Write to Operator
    Write to operator console.
  • EXIT - Sign Off Terminal Emulator
    Signs off and closes the terminal window.
Parent topic: Reference for MSS Deployment
Parent topic: Reference for MSS Deployment


CAMX - Set Maximum Number of Servers

Syntax:

CAMX number

Notes:

The number must be in the range 1 through 999.

Parent topic: CICS Supplied Transactions


CDBG - Modify Debug Server

Syntax:

CDBG

Notes:

You do not enter any options on the command line. When you press Enter after CDBG, a screen is displayed showing details of the current debug server. You can:

  • Change the type of server from Term (for Terminal) to Tran (for Transaction) and vice versa. (You can't change the type of server if it is set to Generic.)
  • Change the resource that is being monitored.
Parent topic: CICS Supplied Transactions


CEBR - Browse Temporary Storage

Syntax:

CEBR

Notes:

You do not enter any options on the command line. When you press Enter after CEBR, a screen is displayed showing the contents of the queue CEBRname, where name is your terminal identifier.

If you want to display a different queue, either:

Enter the subcommand QUEUE with the queue identifier.

or:

Enter the queue identifier in the CEBR command line.

CEBR Subcommands:

The CEBR transaction has the following subcommands (the acceptable abbreviation is shown in upper case):

Option | Topic
BOTtom | Displays the last records in the TS queue (as many as fill the screen)
COLumn nnnn | Displays TS queue records starting at column nnnn
Find /string | Searches TS queue records for the character string string
GET xxxx | Takes the contents of the transient data queue named xxxx and puts it at the end of the displayed TS queue, so that you can browse its contents
LINE nnnn | Alters the display so that record nnnn -1 is at the top of the screen and record nnnn is the current record.
PURGE | Deletes the TS queue that you are browsing
PUT xxxx | Copies the TS queue being browsed to the TD queue named xxxx
Queue xxxxxxxxxxxxxxxx | Displays the contents of the TS queue named xxxxxxxxxxxxxxxx
TERMinal xxxx | Displays the contents of the TS queue named term-idxxxx, where term-id is your terminal identifier
Top | Starts the display at the first record in the TS queue

Restrictions:

The CEBR transaction works as it does on a mainframe, with minor exceptions. In the QUEUE subcommand, you cannot supply a queue name in hexadecimal. There are no PF key equivalents for subcommands.

Parent topic: CICS Supplied Transactions


CENV - Show Active Configuration

Syntax:

CENV

Notes:

A list of environment variables and their values is displayed on the screen.

Parent topic: CICS Supplied Transactions


CESF - Sign Off

Syntax:

CESF

Notes:

When the terminal emulator session is closed down, the sign-on screen appears.

Parent topic: CICS Supplied Transactions


CESN - Sign On

Syntax:

CESN

Notes:

You do not enter any options on the command line. A screen appears when you enter the command, prompting you for:

Userid (1 to 8 characters)

Password (1 to 8 characters). Your password is not displayed on the screen when you type it in.

New password (1 to 8 characters). This field appears only if you have the authority to change your password.

Parent topic: CICS Supplied Transactions


CFCR - Create a File

Syntax:

CFCR fct-file-entry

Notes:

fct-file-entry is the name specified in the file option in the FCT. The file can be either a base file or an alternate index. It is created with all the related indexes.

A confirmation message shows you the base file characteristics and all the alternate keys that you specified. An error message is displayed if the file has not been created.

Parent topic: CICS Supplied Transactions


CFLE, CFLI, CFLS - File Editor

Syntax:

CFLE
CFLI [/Fcccccccc] [/Dfilename] [/Ccharset] [/Kkey]
CFLS

Entering the transaction name CFLE, CFLI, or CFLS on its own displays the main selection menu listing all the files that have FCT entries in the region.

You can select the file you want to edit from this list.

Parameters

[/Fcccccccc]
Displays only those file names that match the cccccccc specification. cccccccc can be 1 to 8 characters and is case sensitive. You can specify a '?' as a positional wildcard character. For example:
CFLE /FT

displays all file names beginning with 'T' and

CFLE /F??S

displays all file names whose third character is 'S'.

[/Dfilename]
Displays the edit screen for the filename specified and positions you on the first record. filename can be 1 to 8 characters and is case sensitive. For example:
CFLE /DTSTAKSDS

displays the edit screen for file TSTAKSDS positioned on the first record.

[/Ccharset]
Defines the character set of the file, A for ASCII (the default) or E for EBCDIC. For example:
CFLE /DTSTEKSDS /CE

displays the edit screen for file TSTEKSDS as an EBCDIC file.

[/Kkey]
Defines the key of the record at which the edit screen is positioned. key can be 1 to 64 characters and can be specified as character or hexadecimal.

For example:

CFLE /DTSTAKSDS /CE /K2222

or

CFLE /DTSTAKSDS /CE /KX'F2F2F2F2'

displays the edit screen for file TSTEKSDS as an EBCDIC file positioned at the record with key 2222.

If you specify both the /F and /D parameters, on leaving the edit screen the list of files defined by the /F parameter is displayed on the main selection screen.

Notes:

The CFLI transaction has no security restrictions and can be used by any user. It allows read access to local KSDS, ESDS, and RRDS files.

The CFLE transaction can be used only by a signed-on user (if security is turned on). It allows read and update access to local and remote KSDS, ESDS, and RRDS files. It also allows changes to the status of files in a similar way to the CFMT transaction.

The CFLS transaction has all the facilities of CFLE plus the ability to edit sequential files. It is installed in the group DFHOPER and cannot be used by any user when security is turned on. (You must copy the PCT entry to your own group and set the appropriate security keys for your installation.)

Parent topic: CICS Supplied Transactions


CFMT - File Master Transaction

Syntax:

CFMT [OPen|CLose|ENable|DIsable|INquire|NAme] filename

Notes:

You must enter at least the first two letters of the option you choose.

The filename may contain wild card characters. A question mark denotes any single character, while a single asterisk denotes any number of characters. An asterisk can appear only at the end of the filename. Question marks and an asterisk can be combined, for example:

CFMT CL A??PP*

closes all files that start with "A" and have "PP" in character positions 4 and 5.

You can use the CEBR transaction to view the results of a CFMT transaction that uses wild cards in the filename.

Parent topic: CICS Supplied Transactions


CGWY - Display the Status of and Start CCI Gateways

Syntax:

CGWY

Notes:

You can use this transaction only in multi-tasking regions. It displays a screen listing the CCI gateways available and their status.

You can start any of the gateways by specifying '/' or 'S' next to the gateway and pressing Enter. Pressing F3 exits from the transaction.

Parent topic: CICS Supplied Transactions


CINQ - Inquire On ASSIGN Values

Syntax:

CINQ

Notes:

The ASSIGN command values and settings are listed in alphabetic order.

Parent topic: CICS Supplied Transactions


CINS - Install a Resource Group

Syntax:

CINS group-name

CINS resource-type(resource-id) Group(group-name)

Parameters:

resource-type | One of File, Program, TDqueue, Terminal, TRansaction, TYpeterm. You must supply at least the portion of the type shown in upper case
resource-id | The name of the resource
group-name | The name of the group the resource belongs to

Notes:

If the group is already installed, the existing definitions are replaced by those currently in the resource definition file (RDF). The group-name can be a maximum of eight characters. Group can be abbreviated to G.

Example:

CINS F(ACCTFIL) G(TEST)

This will install the file control table entry for ACCTFIL from the resource group TEST.

Parent topic: CICS Supplied Transactions


CKQC - Start a CKTI monitor

Syntax:

CKQC [STARTCKTI initiation-queue-name]

Notes:

You can use this transaction only in a multi-tasking region. You must have enabled MQSeries for MSS either by importing a SIT that has MQSeries enabled or by enabling it on the detailed information page for the SIT in ESMAC.

You can invoke this transaction in a terminal window or in a program.

If you invoke CKQC in a terminal window, you need to enter only CKQC. A message then appears prompting you for the initiation queue name.

If you invoke CKQC in a program, you pass the command in an INPUTMSG or COMMAREA to the CICS Option utility dfhzckqc. If you invoke CKQC from the PLTPI, it cannot take the INPUTMSG parameter, only the COMMAREA. For example:

ID DIVISION.
PROGRAM-ID. TESTCKQC.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01  DATA-BUFF                    PIC X(80) VALUE
   'CKQC STARTCKTI TEST.INITQ'.
LINKAGE SECTION .
PROCEDURE DIVISION.
MODULE-ENTRY-POINT.
    EXEC CICS LINK
              PROGRAM ('DFHZCKQC')
              COMMAREA (DATA-BUFF)
              LENGTH (LENGTH OF DATA-BUFF)
    END-EXEC

    EXEC CICS RETURN
    END-EXEC
    GOBACK.
Parent topic: CICS Supplied Transactions


CLOG - View the Console Log

Syntax:

CLOG

Notes:

Help that describes the function keys is available on each screen.

Parent topic: CICS Supplied Transactions


CMAP - Display BMS Maps and Information

Syntax:

CMAP [mapset-name [map-name]]

Parameters:

[mapset-name [map-name]]

If a mapset-name is specified, then a list of maps within the mapset is displayed. If, in addition, a map-name is specified, then that map is displayed.

If map-name is not specified, you can use wildcard characters ("?" and "*") within mapset-name to reduce the number of mapsets displayed.

Notes:

If no parameters are specified, or the parameters specified are not found, a list of mapsets found in the mapset directories is displayed. If a mapset contains .MOD files, the mapset name is displayed in white. If it contains .MST files, it is displayed in blue.

You can select an item in a list either by positioning the cursor, or by typing a slash "/" against the item, and pressing Enter. Selecting a mapset displays a list of the maps it contains. Selecting a map displays the map itself.

If a mapset appears more than once in the list, then CMAP always displays the first mapset.

Typing "i" against an item (mapset or map) and pressing Enter, displays information about the item.

Typing "d" against a mapset and pressing Enter deletes the mapset. A confirmation message is displayed. Press Enter to confirm the delete, press any other attention key to cancel it.

You can use F7-PgUp and F8-PgDn to page through lists that are more than one screen long.

Pressing Clear (or any attention key) returns to the previous higher level screen.

You can exit the transaction at any time by pressing F3.

Parent topic: CICS Supplied Transactions


CNCL - Release Copies of a Program

Syntax:

CNCL program-name

Notes:

This transaction releases any existing copies of the specified called program from memory. (A called program is one that is not invoked through LINK or XCTL.) If a PPT entry exists for the program-name specified, an error message is displayed and the program is not released. (In this case you should use transaction CPMT NEWCOPY.) This transaction is valid only in an environment where logical cancel support is enabled in the COBOL run-time system.

Parent topic: CICS Supplied Transactions


CPMT - Inquire and Set Program Attributes

Syntax:

CPMT function program-name

Notes:

The function is specified as one of:

CEdf

NOcedf

NEwcopy

PHasein

DPlsubset

FUllapi

PRivate

SHared

ENabled

DIsabled

INquire

NAme-inquire

For each function except INquire and NAme-inquire, CPMT issues an EXEC CICS SET PROGRAM command for the corresponding system programming API keyword.

For the INquire function, CPMT issues an EXEC CICS INQUIRE PROGRAM command, and displays the results.

For the NAme-inquire function, CPMT displays the fully qualified program name of the object loaded from disk for the associated program or table.

Parent topic: CICS Supplied Transactions


CQIT - Shut Down a Region

Syntax:

CQIT [IMMED]

Notes:

If you specify IMMED, no programs specified in the PLTSD list in the SIT are executed. All existing tasks are canceled.

Parent topic: CICS Supplied Transactions


CRTE - Start Transaction Routing

Syntax:

CRTE SYSID=sysid

Notes:

sysid is the system identifier of the remote system to which you want to connect. A message is displayed to confirm that the routing session has been started. You might need to sign on to the remote system before running any transaction. After this, you can enter the transaction identifier of the transaction you want to run.

Parent topic: CICS Supplied Transactions


CRUN - Generic Run Program

Syntax:

CRUN program

Notes:

The program is invoked through XCTL. You can use CRUN to execute a program without having to define an explicit PCT entry for it. CRUN is useful for testing a program, or for invoking a PLT-type program on an as-required basis.

Parent topic: CICS Supplied Transactions


CSPG - Page Manipulation

Note: BMS must be running in the system to act on the CSPG commands you enter.
  • CSPG getpage
    Retrieves a page.
  • CSPG getpageQ
    Displays the message identifiers and titles of logical messages queued for this terminal.
  • CSPG messchnyyyy
    Keeps the old pages from a transaction.
  • CSPG hmsgterm
    Erases a logical message, leaving the previous message displayed.
  • CSPG msgcopy
    Sends a copy of the page being displayed, as it appeared when initially transmitted, to another terminal.
  • CSPG getpage
    Retrieves a page.
  • CSPG getpageQ
    Displays the message identifiers and titles of logical messages queued for this terminal.
  • CSPG messchnyyyy
    Keeps the old pages from a transaction.
  • CSPG hmsgterm
    Erases a logical message, leaving the previous message displayed.
  • CSPG msgcopy
    Sends a copy of the page being displayed, as it appeared when initially transmitted, to another terminal.
Parent topic: CICS Supplied Transactions


CSPG getpage

Syntax:

CSPG getpage[(x)] y [*ldc|*ALL][,hhhhhh]

Parameters:

getpage
The identification code you define for the retrieval transaction (1 to 7 characters)
(x)
For chaining messages. It indicates the level of the message you want to retrieve. You must include the parentheses. The value of x can be:
n | Message is at level n
+n | Message is at level n higher
-n | Message is at level n lower
C | Message is at current level (default)
L | Message is at last level
N | Message is at next level
P | Message is at previous level
y
The next thing you want to do with the message. It can be:
n | Display page n
+n | Display page n pages forward
-n | Display page n backward
C | Clear the screen and display current page again
L | Display the last page
N | Display the next page
P | Display the previous page
A | Only for auto-paging hard-copy terminals. Return the terminal to autopaging mode and output remaining pages.
*ldc
Reset the specified logical device code where you want to send the message to autopage.
*ALL
Reset all logical devices to autopage (if they are defined as such in the terminal definition).
hhhhhh
The identifier of an undelivered logical message you want to retrieve.
Parent topic: CSPG - Page Manipulation
Parent topic: CSPG - Page Manipulation


CSPG getpageQ

Syntax:

CSPG getpageQ

Parameters:

getpage | The identification code you define for the retrieval transaction. (One to seven characters long.)
Q | Indicates that you want the identifiers of all of the logical messages directed to this terminal to be displayed.
Parent topic: CSPG - Page Manipulation
Parent topic: CSPG - Page Manipulation


CSPG messchnyyyy

Syntax:

CSPG messchnyyyy [parameters]

Parameters:

messchn | The defined message-chaining transaction identification code for your installation.
yyyy | The identifier of a transaction that produces data to be added to the message chain.
parameters | Any parameters transaction yyyy needs.
Parent topic: CSPG - Page Manipulation
Parent topic: CSPG - Page Manipulation


CSPG hmsgterm

Syntax:

CPSG hmsgterm{A|B|C|H|R}[,hhhhhh]

Parameters:

msgterm | The transaction identifier of your message terminating transaction.
A | Terminates all logical messages directed to or currently being displayed on the terminal
B | Terminates the logical message currently being displayed on the terminal, and any logical messages chained to it.
C | Terminates the current logical message and any messages chained to it.
H | Terminates all logical messages chained to the message being displayed on the terminal. The page of the base message that was most recently displayed is redisplayed at the terminal.
R | Terminates all logical messages routed to the terminal. The page that was being displayed at the terminal is redisplayed.
hhhhhh | The 6-digit hexadecimal identifier of a specific, undelivered logical message to be erased. You can find out the message identifier using a page query command.

When termination is complete, you receive the message:

DFHTP4122 REQUESTED PURGE COMPLETE

Parent topic: CSPG - Page Manipulation
Parent topic: CSPG - Page Manipulation


CSPG msgcopy

Syntax:

CSPG msgcopy tttt

Parameters:

msgcopy | The copy transaction identifier (one to seven characters long).
tttt | The identifier of the terminal to which the page is to be copied.

Comments:

A hard-copy terminal that is not defined as a paging terminal (one that displays pages when you request them) is an autopaging terminal (one that displays all pages without your intervention). You can temporarily designate an autopaging terminal as a paging terminal by using the NOAUTOPAGE option of the SEND PAGE command. If you do this the time the first page is to be displayed on the terminal, the terminal is temporarily treated as a paging terminal for the duration of the message. To stop this:

  1. Type P/A (reset terminal to autopaging status), indicating that all subsequent pages are to be displayed without further intervention.
  2. Type T/C (terminate current message). All pages from that logical message are purged, and the terminal is again put into autopaging status.

P/ is the paging transaction identifier, and T/ is the terminate transaction identifier.

You can use the message-switching transaction to direct output to other terminals.

When a terminal to which you have directed a message is in TRANSCEIVE status, and is not involved with a transaction, and is not displaying pages, CICS displays the first page of that message.

However, if the terminal is in TRANSACTION status, you can display the first page only of a waiting message by typing CSPG, CSPG P/1, or by typing simply P/1. Here, you are using P/ as a paging command. If no page is waiting, you get the following message:

DFHTP4104-NO PAGES WAITING TO BE DISPLAYED

Parent topic: CSPG - Page Manipulation
Parent topic: CSPG - Page Manipulation


CSSF - End Transaction Routing

Syntax:

CSSF

Parent topic: CICS Supplied Transactions


CTRA - Trace Activity

Syntax:

CTRA

Notes:

You do not enter any options on the command line. A screen appears when the command is entered, which prompts for the following:

Activate trace facility, which can be set to Y(es) or N(O). Y activates trace for the system components marked with a Y. N stops all trace.

Overwrite existing file, which can be Y(es) or N(o). Y overwrites the existing trace file; N creates a new trace file.

Functions to trace lists the following functions. Y turns trace on for that function, N turns it off.

Storage control

Task Control

File Control

Dump Control

TS/TD Control

Interval Control

Journal Control

Table Management

Terminal Control

Communications

User Trace

Message

API

CCI

Pressing F3 saves the changes you have made; F12 discards them. Both function keys end the transaction.

Parent topic: CICS Supplied Transactions


CWTO - Write to Operator

Syntax:

CWTO message

Notes:

You can use this transaction only in a multi-tasking region.

If you do not type a message when you enter the transaction identifier, you are prompted for the message.

Parent topic: CICS Supplied Transactions


EXIT - Sign Off Terminal Emulator

Syntax:

EXIT

Notes:

When the terminal emulator closes down, the terminal is disconnected from Enterprise Server.

Parent topic: CICS Supplied Transactions


JCL Commands

  • cassi (JCL version)
    Starts a batch initiator or batch printer service execution process. Use this version of the command if you have MSS JCL Support installed. You should use this command to debug a JCL job.
  • cassub
    Runs a JCL batch job.
  • casout
    Starts a batch service execution process or administers a batch job.
  • cassi (JCL version)
    Starts a batch initiator or batch printer service execution process. Use this version of the command if you have MSS JCL Support installed. You should use this command to debug a JCL job.
  • cassub
    Runs a JCL batch job.
  • casout
    Starts a batch service execution process or administers a batch job.
Parent topic: Reference for MSS Deployment
Parent topic: Reference for MSS Deployment


cassi (JCL version)

Syntax:

cassi [/res-name]
      [/a]
      [/bjob-class-list]
      [/poutput-class-list]
      [/qprinter-name]
      [/zprinter-exit]

Parameters:

/res-name | Name of the enterprise server for which to start a service execution process. Defaults to ESDEMO
/a | Debug any application that runs in this service execution process
/bjob-class-list | Start a batch inititiator SEP to handle the job classes named in job-class-list
[/poutput-class-list] | Start a batch printer SEP to handle the output classes named in output-class-list
[/qprinter-name] | Send output to printer-name, which must be the name of a printer defined on your machine.
[/zprinter-exit] | Direct output through the program printer-exit

Dependencies:

To use this command:

  • You must have started the enterprise server named with the /r flag first.
  • You must be running under the same user ID as the enterprise server named with the /r flag. If the Directory Server was started as a system service, and the enterprise server was started using the Administration interface, then the enterprise server is probably running under the LOCAL_SYSTEM user ID, and this command will not work. For more information see the section Starting and Stopping the Directory Server in the chapter Introduction to Enterprise Server Administration in your Enterprise Server Configuration and Administration Guide.

Comments:

Many of the command line utilities, including casstart, casstop, casfile, casout, and cassub, can be invoked by program using the call interface and passing the command line parameters to the call. For an example, please see casstart.

Parent topic: JCL Commands
Related information
casstart
Starting and Stopping the Directory Server


cassub

Syntax:

cassub [/res-name]
       [/saddress]
       [/les-name]
       [/jjobfile-name-by-content]
       [/xjobfile-name-by-reference]
       [/uuserID]
       [/ppassword]
       [/vversion]

Parameters:

/res-name Name of the enterprise server to run the job. Defaults to ESDEMO
Note: When calling this utility from JCL or from a WEB service (that is, when you are running the utility within a SEP) you cannot use the /r option to connect to the server. Where this is the case, you must use the /s or /l options to connect to the server.
or:
/saddress Submit the job to a remote server. address is the address of the listener associated with the server's MF JES service. The format is protocol:ip-address:port, where:
  • protocol is tcp
  • ip-address is either the text host name or IP address of the server listener
  • port is the port value
or:
/les-name Alternative to using the /r and /s options. Name of the enterprise server to run the job. You must specify a name - there is no default. This option searches all the repositories specified in mf-client.dat (or whichever configuration file you have identified with the MFC_CONFIG environment variable) for a server with the given name. Repositories are specified in the [directories] section, in the format:
mrpi://host[:port]

or:

file:///path-to-repository
/jjobfile-name-by-content | Path and filename of the file containing the JCL to run. See Comments below.
/xjobfile-name-by-reference | Path and filename of the file containing the JCL to run. See Comments below.
/uuserID | Reserved for future use
/ppassword | Reserved for future use
/vversion The version of the job control system software to use:
  1. VSE/Power
  2. JES2 (default)
  3. JES3
Note: Options /r, /s, /l are alternative ways of identifying the enterprise server that you want to connect to.

Dependencies:

To use this command:

  • If you specify the /r parameter, you must have started the enterprise server named with the /r parameter first (or the ESDEMO on the local machine if you do not specify either /r or /s) using the casstart command. If you specify the /s parameter, you must have started the enterprise server identified by the /s parameter, using ES Admin.
  • You must be running under the same user ID as the enterprise server named with the /r parameter. If the Directory Server was started as a system service, and the enterprise server was started using the Administration interface, then the enterprise server is probably running under the LOCAL_SYSTEM user ID, and this command will not work. For more information see the section Starting and Stopping the Directory Server in the chapter Introduction to Enterprise Server Administration in your Enterprise Server Configuration and Administration Guide.
  • In order to successfully run the cassub command, you must have execute permissions on the cassub resource within the OPERCMDS resource class

Comments:

You can use a dash (-) before a parameter as an alternative to a forward slash (/).

You must specify either the /j parameter or the /x parameter.

/r and /s are mutually exclusive. If you do not supply either, it is assumed that you are submitting to the server ESDEMO on the local machine.

For /x (by reference) the submitted file must be on the same platform as the enterprise server. This technique is more efficient, since only the name of the file is passed by the communications link. This is used internally (internal reader). You would use this technique where you run a job scheduling system on the same platform as the target enterprise server.

For /j (by content) the submitted file must be on the client's platform (which could be the same platform as the target enterprise server). The submitted JCL is physically passed over the communications link. This would be appropriate for an interactive user that has created the job stream on their machine and wants to submit it to an enterprise server running on another platform.

You can specify the /j or /x parameter more than once, in order to submit several JCL files in the same command.

The job is run by the most recently started available initiator that can handle the class specified on the JOB card.

Many of the command line utilities, including casstart, casstop, casfile, casout, and cassub, can be invoked by program using the call interface and passing the command line parameters to the call. For an example, please see casstart.

Parent topic: JCL Commands


casout

Syntax:

casout [/res-name]
       [/sprototype:host:port]
       [/lservername]
       [/gnumber]
       [/gnumber:reldd]
       [/doutput-dsn]
       [/iclasses]
       [/jjobnumber:step:procstep]
       [/knumber]
       [/mnumber]
       [/fnumber]
       [/uuserid]
       [/ppassword]

Parameters:

Connection parameters
/res-name | Connect to the named enterprise server. Defaults to ESDEMO. Note: When calling this utility from JCL or from a WEB service (that is, when you are running the utility within a SEP) you cannot use the /r option to connect to the server. Where this is the case, you must use the /s or /l options to connect to the server.
or: |
/sprototype:host:port | Use the specified URL to find the enterprise server to connect to, for example stcp:localhost:9003
or: |
/lservername | Look up the specified servername to find the enterprise server to connect to.
Other parameters
/gnumber | Display all sysout for job number number.
or: |
/gnumber:reldd | Retrieve the relative dd for job number number.
/doutput-dsn | Output DSN for sysout retrieval. The-d option must precede the -g option.
/iclasses | Start an initiator to run jobs of the named classes.
/jjobnumber:step:procstep | Restart the job at the specified step/procstep. The procstep is optional.
/knumber | Kill job number number.
/mnumber:class | Modify job number number to use the specified class.
/fnumber | Flush the output of job number number.
/uuserid | Authorization user ID.
/ppassword | Authorization password.
/cgroup | The sign-on group to be used when running commands.
/qmessage-classes | Start an IMS Message Processing Region for the specified classes.
/tprocess-ID | Terminate the batch initiator, batch printer or IMS MPR that has the specified process ID.
/eIMS command | Execute the specified IMS command.
/v | List all batch initiators, batch printers and IMS MPRs.
/nprinter-name | Specifies the name of the physical device to be used by a new batch printer. This option is used with the /b and /x options.
/boutput-classes | Specifies the output classes to be handled by a new batch printer. This option is used with the /n and /x options.
/xprinter-exit | Specifies the name of the name of a printer exit to be associated with a new batch printer. Used with the /n and /b options.

Dependencies:

  • You must have started the enterprise server before you can issue a casout command.
  • In order to successfully run the casout command, you must have execute permissions on the casout resource within the OPERCMDS resource class.

Comments:

The /r, /s and /l options are alternatives and are mutually exclusive.

Examples:

Starting an initiator for classes EFG on Enterprise Server JCLT:

casout /rJCLT /iEFG

Start a batch printer using the physical device "TestPrinter" for classes EFG on Enterprise Server JCLT:

casout /rJCLT /bEFG /n"TestPrinter"

Start a batch printer as in the previous example, but this time associate it with a printer exit (sampprnx):

casout /rJCLT /bEFG /n"TestPrinter" /xsampprnx

Start an IMS Message Processing Region for specified message classes:

casout /rJCLTT /q001
Parent topic: JCL Commands


JCL Environment Variables

  • MF_ALIAS
    Specifies program aliases. Each set (pair) is 16 characters long - 8 characters for the program-name, and 8 characters for the alias. You can specify up to 10 pairs. This list is searched first and thus can potentially override the IDE defined (MFE only) and the built-in list. If not found, and you are using MFE, the IDE definition is searched. If still not found, or you are not using MFE, the built-in alias table is searched.
  • MF_CHARSET
    Specifies which character set an enterprise server is to use.
  • MF_DUPJOBS
    Specifies whether jobs are allowed to run in parallel.
  • MF_FALLTHRUCHECK
    Specifies that MSS is to check that the main COBOL program ends by executing a GOBACK or STOP RUN.
  • MF_JESPWR_EXIT
    MF_JESPWR_EXIT is used to pass JES2 and VSE PWR statements to a user exit, MFJESPWR. If this environment variable is set the JCL execution engine will call the exit program, MFJESPWR, whenever a JES2 or VSE PWR statement is encountered. It passes the contents of the JCL record plus Job and Job Step information . A sample MFJESPWR.cbl is included with the product.
  • MF_NODD
    Specifies what action MSS is to take at run time if a job step uses a file that has not been allocated.
  • MF_SMS
    Turns on support for SMS data classes.
  • MF_UCC11
  • MF_USESCA7
    Specifies that MSS accepts CA7 Scheduler control statements as comments rather than diagnosing them as errors.
  • MFJSENGINE
    Specifies which sort engine the utility MFJSORT is to emulate.
  • MFREXX_LSEQ_RECSIZE_MAX
    Specifies the record length for the REXX EXECIO command when reading or writing a line sequential file that has been cataloged with a record length of zero.
  • MFREXX_NOT
    Specifies one or more characters to be used for the NOT operator in addition to REXX's default, which is "¬".
  • MFREXX_OR
    Specifies one or more characters to be used for the OR operator in addition to REXX's default, which is "|".
  • MFREXX_CONCAT
    Specifies one or more characters to be used for the CONCAT operator in addition to REXX's default, which is "||".
  • MFUSERCAT_NODE
    Sets node to enable DATACLAS support.
  • MF_ALIAS
    Specifies program aliases. Each set (pair) is 16 characters long - 8 characters for the program-name, and 8 characters for the alias. You can specify up to 10 pairs. This list is searched first and thus can potentially override the IDE defined (MFE only) and the built-in list. If not found, and you are using MFE, the IDE definition is searched. If still not found, or you are not using MFE, the built-in alias table is searched.
  • MF_CHARSET
    Specifies which character set an enterprise server is to use.
  • MF_DUPJOBS
    Specifies whether jobs are allowed to run in parallel.
  • MF_FALLTHRUCHECK
    Specifies that MSS is to check that the main COBOL program ends by executing a GOBACK or STOP RUN.
  • MF_NODD
    Specifies what action MSS is to take at run time if a job step uses a file that has not been allocated.
  • MF_SMS
    Turns on support for SMS data classes.
  • MF_UCC11
  • MF_USESCA7
    Specifies that MSS accepts CA7 Scheduler control statements as comments rather than diagnosing them as errors.
  • MFJSENGINE
    Specifies which sort engine the utility MFJSORT is to emulate.
  • MFREXX_LSEQ_RECSIZE_MAX
    Specifies the record length for the REXX EXECIO command when reading or writing a line sequential file that has been cataloged with a record length of zero.
  • MFREXX_NOT
    Specifies one or more characters to be used for the NOT operator in addition to REXX's default, which is "¬".
  • MFREXX_OR
    Specifies one or more characters to be used for the OR operator in addition to REXX's default, which is "|".
  • MFREXX_CONCAT
    Specifies one or more characters to be used for the CONCAT operator in addition to REXX's default, which is "||".
  • MFUSERCAT_NODE
    Sets node to enable DATACLAS support.
Parent topic: Reference for MSS Deployment
Parent topic: Reference for MSS Deployment


MF_ALIAS

Note:

You can alias any program other than IEFBR14, which is always processed as IEFBR14.

Syntax:

MF_ALIAS=program-name1 alias1 [program-name2 alias2] ...[program-name10 alias10]

Comments:

An entry shorter than 8 characters must have trailing spaces extending its length to 8 characters.

Example:

MF_ALIAS=IKJEFT1BIDAEFT01MYPROG  THEIRPRG

adds:

Program-name | Alias
IKJEFT1B | IDAEFT01
MYPROG | THEIRPRG
Parent topic: JCL Environment Variables


MF_CHARSET

Syntax:

MF_CHARSET=A|E|ASCII|EBCDIC

Properties:

Default: ASCII

Comments:

A is an abbreviation for ASCII. E is an abbreviation for EBCDIC.

Parent topic: JCL Environment Variables


MF_DUPJOBS

Syntax:

MF_DUPJOBS=Y|N

Properties:

Default: N
Parent topic: JCL Environment Variables


MF_FALLTHRUCHECK

Syntax:

MF_FALLTHRUCHECK=y|n

Properties:

Default: y (Yes)

Comments:

If MF_FALLTHRUCHECK is set to Yes and the check fails, MSS issues this message:

JCLCM0213S Main pgm xxxxxxxx did not issue GOBACK or STOP RUN.
Parent topic: JCL Environment Variables


MF_JESPWR_EXIT

MF_JESPWR_EXIT is used to pass JES2 and VSE PWR statements to a user exit, MFJESPWR. If this environment variable is set the JCL execution engine will call the exit program, MFJESPWR, whenever a JES2 or VSE PWR statement is encountered. It passes the contents of the JCL record plus Job and Job Step information . A sample MFJESPWR.cbl is included with the product.

Syntax:

MF_JESPWR_EXIT= Y

Properties:

The default value is OFF ( i.e. not set )

This is the start of your topic.

Parent topic: JCL Environment Variables


MF_NODD

Syntax:

MF_NODD=a|r

Parameters:

a | Abend the program
r | Return the file status 3/5

Properties:

Default: abend
Parent topic: JCL Environment Variables


MF_SMS

Syntax:

MF_SMS=ON|OFF

Properties:

Default: OFF

Comments:

SMS is IBM's Storage Management Subsystem. MSS provides emulation for SMS data classes only.

To enable DATACLAS support this variable needs to be set ON in addition to setting MFUSERCAT_NODE=SYSMFE1

Parent topic: JCL Environment Variables


MF_UCC11

Syntax:

MF_UCC11=y|n|M

Description

Enables emulation of UCC11, the JCL job re-start functionality. This environment variable affects data set disposition processing in the following ways:

  • If UCC11 is enabled, a data set disposition of NEW is accepted even if the data set already exists. The features that this environment variable enables are:

Properties:

Y
JCL job re-start functionality is enabled. When restarting a job with DISP=(NEW,CATLG), datasets will not result in job failure due to the dataset already being cataloged.
M

On a restart a catalogued a dataset is presumed to have an initial disposition of MOD rather than NEW. As a result, any new data is appended to the existing dataset.

N
JCL job re-start functionality is disabled.
Default: n (No)
Parent topic: JCL Environment Variables


MF_USESCA7

Syntax:

MF_USESCA7=ON|OFF

Properties:

Default: ON

Comments:

CA7 Scheduler control statements begin with # in column 1.

Parent topic: JCL Environment Variables


MFJSENGINE

Syntax:

MFJSENGINE=DFSORT|SYNCSORT

Properties:

Default: DFSORT
Parent topic: JCL Environment Variables


MFREXX_LSEQ_RECSIZE_MAX

Syntax:

MFREXX_LSEQ_RECSIZE_MAX=rec-length

Parameters:

rec-length Record length to use. The minimum value you can specify is 255. Specifying an invalid value, or a value less than 255, results in the default value being used.

Properties:

Default: 255
Parent topic: JCL Environment Variables


MFREXX_NOT

Syntax:

MFREXX_NOT=character-specification

Parameters:

character-specification One or more characters for each operator; each character you specify is used in addition to the default operator. Each additional character must be defined within single or double quotes, or in hexadecimal. Separate multiple characters with a space or a comma.

Properties:

Default: "¬"

Comments:

Any error in the specification of the additional characters, including the specification of alphabetic or numeric characters, results in the environment variable being ignored.

Parent topic: JCL Environment Variables


MFREXX_OR

Syntax:

MFREXX_OR=character-specification

Parameters:

character-specification One or more characters for each operator; each character you specify is used in addition to the default operator. Each additional character must be defined within single or double quotes, or in hexadecimal. Separate multiple characters with a space or a comma.

Properties:

Default: "|"

Comments:

Any error in the specification of the additional characters, including the specification of alphabetic or numeric characters, results in the environment variable being ignored.

Parent topic: JCL Environment Variables


MFREXX_CONCAT

Syntax:

MFREXX_CONCAT=character-specification

Parameters:

character-specification One or more characters for each operator; each character you specify is used in addition to the default operator. Each additional character must be defined within single or double quotes, or in hexadecimal. Separate multiple characters with a space or a comma.

Properties:

Default: "||"

Comments:

Any error in the specification of the additional characters, including the specification of alphabetic or numeric characters, results in the environment variable being ignored.

Parent topic: JCL Environment Variables


MFUSERCAT_NODE

Syntax:

MFUSERCAT_NODE=SYSMFE1

Properties:

Default: No value assigned

Comments:

To enable DATACLAS support this variable needs to be set in addition to setting MF_SMS=ON.

Parent topic: JCL Environment Variables


MSS Error Messages

See your locally installed Help for the messages that Enterprise Server can display when it is running with MSS enabled. It gives an explanation or advice or both for those errors that are not self-explanatory.

  • JCL Error Messages
Parent topic: Reference for MSS Deployment
Parent topic: Reference for MSS Deployment


JCL Error Messages

  • JCLAM Error Messages
  • JCLCM Error Messages
  • JCLGN Error Messages
  • JCLIM Error Messages
  • JCLUT Error Messages
  • JCLZZ9999S job-number job-name MESSAGE UNDEFINED MESSAGECODE
  • SORT - MFJSORT Error Messages
  • MFJSORT Summary Messages
  • JES Messages
Parent topic: MSS Error Messages


JCLAM Error Messages

Select the number of the message you require details about.

  • JCLAM0000 - JCLAM0119
  • JCLAM0120 - JCLAM0139
  • JCLAM0140 - JCLAM 0159
  • JCLAM0160 - JCLAM0179
  • JCLAM0180 - JCLAM0230
  • JCLAM0231 -
Parent topic: JCL Error Messages


JCLCM Error Messages

Select the number of the message you require details about:

  • JCLCM0000 - JCLCM0199
  • JCLCM0200 - JCLCM0299
  • JCLCM0400 - JCLCM0499
  • JCLCM0500 - JCLCM0599
  • JCLCM0800 - JCLCM0899
  • JCLCM0900 - JCLCM0999
Parent topic: JCL Error Messages


JCLGN Error Messages

Select the number of the message you require details about:

  • JCLGN0001U job-number job-name MISSING SYSUT1
    The DD statement for SYSUT1 is missing from your JCL.
  • JCLGN0002U job-number job-name INVALID SYSUT1
    The dataset organization for SYSUT1 is invalid.
  • JCLGN0003U job-number job-name MISSING SYSUT2
    The DD statement for SYSUT2 is missing from your JCL.
  • JCLGN0004U job-number job-name INVALID SYSUT2
    The dataset organization for SYSUT2 is invalid. Only sequential datasets and members of a PDS dataset can be specified on the SYSUT2DD statement.
  • JCLGN0005U job-number job-name I/O ERROR ON SYSUT1
    An error has occurred when accessing the dataset specified by the SYSUT1DD statement.
  • JCLGN0006U job-number job-name I/O ERROR ON SYSUT2
    An error has occurred when accessing the dataset specified by the SYSUT2DD statement.
  • JCLGN0007U MISSING SYSPRINT
  • JCLGN0008U INVALID SYSPRINT
  • JCLGN0009U MISSING SYSIN
  • JCLGN0010U INVALID SYSIN
  • JCLGN0011U I/O ERROR ON SYSPRINT
  • JCLGN0012U I/O ERROR ON SYSIN
  • JCLGN0100U MISSING DD STATEMENT FOR filename
    You have referenced a data set from a program but your JCL does not include a DD entry for it.
  • JCLGN0101U INVALID DSORG FOR filename
    The data set's DSORG is inappropriate for the operation you are trying to perform.
  • JCLGN0102U I/O ERROR ON filename
  • JCLGN0103U I/O STATUS = file status
  • JCLGN0104U MFJGENER ABENDED system code
    See preceding messages for details of the error.
  • JCLGN0110I number RECORDS COPIED FROM SYSUT1 TO SYSUT2
  • JCLGN0111I number RECORDS COPIED
  • JCLGN0112I TO MEMBER NAME %
  • JCLGN0200E PARAMETER TOO LONG [value]
  • JCLGN0201E CONTINUATION ERROR [value]
  • JCLGN0202E MISMATCHED QUOTES OR PARENTHESIS [value]
  • JCLGN0210E UNRECOGNIZED OPERATOR KEYWORD [value]
  • JCLGN0211E DUPLICATE CONTROL STATEMENT [value]
  • JCLGN0220E UNRECOGNIZED OPERAND KEYWORD [value]
  • JCLGN0221E DUPLICATE OPERAND KEYWORD [value]
  • JCLGN0222E TOO MANY OPERANDS [value]
  • JCLGN0223E INVALID OPERAND VALUE [restriction]
    The restriction shows the values permitted.
  • JCLGN0224E UNEXPECTED OPERAND [%]
    Too many operands are present.
  • JCLGN0225E EXPECTED OPERAND MISSING [parameter]
    A required operand is missing from parameter.
Parent topic: JCL Error Messages


JCLIM Error Messages

Select the number of the message you require details about:

  • JCLIM0001U job-number job-name INVALID EXEC STATEMENT PARM
    MFJIMS expects parameter data on the EXEC statement, but the data has not been supplied.
  • JCLIM0002U job-number job-name INVALID PROGRAM TYPE PARM
    The program type specified in the PARM operand must be BMP (or IFP) or DLI (or DBB).
  • JCLIM0003U job-number job-name MISSING PROGRAM NAME PARM
    The program name has not been specified in the PARM operand.
  • JCLIM0004U job-number job-name MFIMS OPTION NOT INSTALLED
    MFJRRC00 is unable to locate the MFIMS software option.
  • JCLIM0201U MISSING DDITV02 DD STATEMENT
  • JCLIM0202U INVALID DDITV02 PARM STATEMENT
  • JCLIM0203U INVALID DDITV02 PROGRAM PARM
  • JCLIM0204U I/O ERROR ON DDITV02 DATASET
Parent topic: JCL Error Messages


JCLUT Error Messages

Select the number of the message you require details about:

  • JCLUT0001E job-number job-name Control statement error explanation
  • JCLUT0005E job-number job-name Continuation error
  • JCLUT0006E
  • JCLUT0007E
  • JCLUT0008E
  • JCLUT0009E
  • JCLUT0010E
  • JCLUT0100S MISSING "filename"
    The file cannot be found
  • JCLUT0101S INVALID "filename"
  • JCLUT0102S I/O ERROR ON "PDS member name"
    The PDS member does not exist or is invalid.
  • JCLUT0103S UTILITY "utility-name" ABENDED
    An error has caused the utility to abend.
  • JCLUT0104S DUPLICATE MEMBER "PDS-member-name"
    You have tried to create a PDS member but a member with that name already exists.
  • JCLUT0105S CATALOG ERROR ON "dataset-name"
  • JCLUT0106S RETURN CODE IS "value"
  • JCLUT0107S
  • JCLUT0108S
  • JCLUT0201I MEMBER "PDS-member-name" NOT FOUND
    You have tried to access a PDS member but there is no catalog entry for it.
  • JCLUT0202I RECORDS COPIED "number"
  • JCLUT0203I MEMBERS NAME "PDS-member-name"
  • JCLUT0204I MEMBERS WRITTEN TO OUTPUT DD "number"
  • JCLUT0205I INDD=OUTDD="filename", COMPRESS IN PLACE IGNORED
  • JCLUT0206S Character set mismatch. Copied without conversion
Parent topic: JCL Error Messages


JCLZZ9999S job-number job-name MESSAGE UNDEFINED MESSAGECODE

No message text has been defined for the specified message code.

Resolution:

Report the problem to Micro Focus Support.

Parent topic: JCL Error Messages


SORT - MFJSORT Error Messages

Select the number of the message you require details about.

Some message IDs are followed by a line of asterisks. The right-most asterisk indicates the position of the error in the preceding line. The message text is shown on the following line.

  • SORT000 - SORT099
  • SORT100 - SORT199
  • SORT200 - SORT399
Parent topic: JCL Error Messages


MFJSORT Summary Messages

After successfully completing a SORT operation, MFJSORT displays a summary of the operation, including information such as the number of records read and written. The following is an example of this summary information:

SORT204I: ********************* Sort Statistics *********************

SORT 205I: INPUT file 'SORTIN'

1267 record(s) input.

1252 record(s) used.

SORT206I: OUTPUT file 'SORTOUT'

1210 record(s) used.

1240 record(s) output.

SORT207I: OUTFIL file 'SORTFIL;

2 record(s) used

6 record(s) output

SORT399I: End of Micro Focus MFJSORT Utility

This provides the following information:

  • A total of 1267 records were read.
  • Of the 1267 records read, MFJSORT used 1252. MFJSORT might read a record but not use it because, for example, the record could fail to meet the conditions specified in an OMIT or INCLUDE statement, or records could be combined through the action of the SUM statement.
  • MFJSORT output 1210 records. This could be less than the number of records used because some of the released records failed to satisfy conditions specified in the OUTFIL OMIT or OUTFIL INCLUDE statements.
  • 1240 sorted records were written to SORTOUT. The 30 extra records above the number of returned records might be report headers or trailers.
  • For records for OUTFIL DD statements, MFJSORT used 2 records and output 6. The reasons for the difference between these numbers are the same as described above.

If the number of records read is the same as the number of records released, the messages for those two pieces of information are combined. Similarly, the messages showing the number of records returned and written are combined if their numbers are the same.

Parent topic: JCL Error Messages
Related information
SORT - MFJSORT Error Messages


JES Messages

These messages can be printed by the Job Entry Subsystem when a job is submitted or when output is printed.

Message | Description
JES000003Ennnnn duplicates an existing job number. | The job # specified during submission duplicates an already existing job #. You need to reset your job # mechanism.
JES000011E Batch Spool File Error; Status nnnnnn. | While trying to access the spool, an unexpected file status was encountered. (nnnnn)
JES000012I Batch Input Spool has been cold-started. | There was no casspool.dat file located in the same directory as the System catalog that this server is configured to use. A new one has been created.
JES000013I JOB nnnnn requeued for restart at xxxxxx. | The job nnnnn has been queued for restart at the step (and where applicable the procstep) specified by xxxxxx.
JES000014E Job nnnnn not restarted. STEP xxxxxx does not exist. | The job nnnnn cannot be restarted because it does not contain the specified step (and where applicable the procstep) specified by xxxxxx.
JES000015I JOB nnnnn does not exist for restart. | The job specified does not exist. This may be because the job has been deleted by another user or by the spool housekeeping process.
JES000016E JOB nnnnn not executed. Undefined JES error. Inform Technical Support. | An attempt was made to restart a job that wasn't run with restart in effect, or files associated with the job have been deleted.
JES000017E JOB nnnnn job not restarted. | This error is displayed when the job or the step specified is non-restartable.
JES000024I Batch Printer: xxxxxx | The printer named ‘xxxxxx’ has been initialized.
JES....25E Printer not found: xxxxxx | The printer named ‘xxxxxx’ was not located while enumerating through the printers defined on this machine.
JES000026O Exit Module: xxxxxxxx | The batch printer specified in the previous JES000024I message is using a printer exit named ‘xxxxxxxx’
JES000027E Printer assignment failed. RC = nnnnn | A failure occurred while trying to set the default printer for the batch printer sep. A printer matching the specified name was found, but the setting as default printer for this SEP failed.
JES000028E Load fialed for exit Module: xxxxxxxx | A printer was found which matches the specified printer name, but the exit routine specified for this batch printer (xxxxxxxx) was not found.
JES000029I Locating batch printer: xxxxxx | An information message issued when a batch printer initializes, indicating which printer device is being searched for by this batch printing SEP
JES000029I xxxxxx on yyyyyy | Document xxxxxxxx is being printed by the batch printer on printer yyyyyyyy
JES000030E xxxxxx | While trying to print the document listed in the previous JES000029I message the spool tried to access the cataloged entry for this sysout dataset. There was a failure upon accessing the catalog specified by the message xxxxxx
JES000031E Printer open failed. RC = nnnnn | A failure occurred in either the API call PC_PRINTER_OPEN or the API call PC_PRINTER_SET_FONT that occurs when a batch SEP tries to drive sysout output through to the defined printer. The failure return code is nnnnn
JES000032E Printer write failed. RC = nnnnn | A failured occurred while trying to write to the printer device attached to the batch printing SEP. The return code is documented in the API documentation for PC_PRINTER_WRITE
JES000033E Printer error accessing spool data: xxxxxx | A failure occurred while trying to access the physical dataset associated with sysout entry. The file status code of the failure is indicated by the xxxxxx message.
JES000050E JCL parsing error: RC = nnnnn | While attempting to compile a piece of JCL for future execution, a failure occurred. The return code for the failure is documented by nnnnn
JES000051I Job Entry Subsystem (JES) services initialized | The JES services for the process have been initialized
JES000222E JOB nnnnn calcelled by operator | Job # nnnnn was cancelled via the casout command -k option or via the ESMAC Spool view function
Parent topic: JCL Error Messages


Enterprise Server Security

This help volume contains information and procedures for all aspects of securing an Enterprise Server installation.

  • Securing an Enterprise Server Installation
  • Using the Security Audit Manager
    The topics in this section describe how to configure and use the Enterprise Server Security Audit Manager.
  • Securing Communications
    The topics in this section describe the process of using SSL and PKI certificates to secure Enterprise Server communications.
Parent topic: Enterprise Server


Securing an Enterprise Server Installation

The topics in this section describe the security features available in an Enterprise Server installation, and how you can use these features to implement a security policy.

This help also includes the context-sensitive information available from the user interface. To access the help, select Help > This Page from the left pane.

Note: The context information in this help volume is the most up-to-date version.
  • Architecture and Overview
  • Configuring Enterprise Server Security
  • Configuring External Security Facility (ESF) from the Command Line
  • Using the MFDS Internal Security Module
  • Configuring Operating System Security: osesm
  • Configuring Security using Active Directory
  • Configuring Security Using OpenLDAP
  • Examples
  • Managing an LDAP from the Enterprise Server UI
  • Migrating from Enterprise Server Early Versions
  • Security Reference Information
  • Glossary
Parent topic: Enterprise Server Security


Architecture and Overview

The topics in this section describe the Enterprise Server security architecture, and provide an overview of the configuration process.

  • About Securing an Enterprise Server Installation
  • Security Architecture
Parent topic: Securing an Enterprise Server Installation


Security Architecture

The Enterprise Server security architecture accommodates mainframe-style security for:

  • Migrated applications
  • The security mechanisms found in distributed systems
  • Custom solutions

This architecture allows you to configure multiple security mechanisms and repositories, so that you can separate the management of different types of resources.

Communication between clients and the server can be secured through the use of SSL.

  • System Components and Process Flows
  • About the External Security Facility (ESF)
  • About Security Managers
  • About Security Queries
  • Designing the Security Policy
Parent topic: Architecture and Overview


System Components and Process Flows

When a user attempts to access an Enterprise Server feature or application, or when an application attempts to access a controlled resource, Enterprise Server's External Security Facility (ESF) submits a security query to the appropriate ESMs to authenticate or authorize the action.

The illustration below shows the components involved in securing an installation, and the communications between each.

  • When they log on to a system, Enterprise Server administrators are authenticated against any security managers that are configured for the Directory Server. Access to Enterprise Server configuration is denied unless the authentication is successful.
  • When an Enterprise Servers accesses a resource, for example programs or databases, the request is authenticated against the security managers configured for the Enterprise Server. Access to the resource is denied unless the authentication is successful.
  • Security managers can use LDAP repositories to verify authentication requests.

Parent topic: Security Architecture


About the External Security Facility (ESF)

The ESF operates for both Enterprise Server and Directory Server access.

The ESF relays application and resource access authorization request queries to the security manager or Managers. It is responsible for:

  • Loading and invoking security managers
  • Sending security queries to the security managers
  • Managing a cache of the modules and security access query results
  • maintaining configuration information for itself and the security managers

The ESF performs security checks by making API calls to the ESMs, and processing the result that is returned. You can use this API to develop your own security managers. You can then use these security managers to process authentication requests, and allow or deny access as appropriate. A security manager can be anything that can process ESF API calls.

The External Security Facility API documentation is available, in doxygen format, on the Micro Focus Supportline website's Examples and Utilities page.

  • Follow this link to the Examples and Utilities page:

    Micro Focus Supportline Examples and Utilities page

  • Follow this link to the External Security Facility API documentation:

    External Security Facility Manager API

If no security manager recognizes a user, that is each security manager returns unknown, you can configure a default response.

Parent topic: Security Architecture


About Security Managers

Security managers process the security queries generated by the ESF, and return either an allow, deny or unknown status. You can configure multiple security managers in an installation;'s security manager pool. From the pool, you can create a default list of the security managers to use, and lists for individual Enterprise Servers.

Note: Security managers are sometimes refered to as External Security Managers, or ESMs.

The ESF sends security queries to the security managers in the order in which they are configured in the list.

You configure Enterprise Server to:

  • Authorize access when the first security manager authenticates it.
  • Authorize access only when all security managers authenticates it.
  • Authorize or block access requests that return an unknown status.

Enterprise Server includes the following security managers that you can configure and use:

  • osesm

    This security manager provides access to the Windows operating system's user configuration. You can use it to authenticate Windows users, determine a user's access level and apply permissions accordingly.

  • mldap_esm

    This security manager allows you to integrate your Enterprise Server security with an LDAP. You can use mldap_esm with both Microsoft Active Directory, and other LDAPs, for example OpenLDAP. With mldap_esm, you can implement access control for users, and for the resources and files that an application uses.

  • MFDS Internal Security

    Directory Server security can be implemented hrough the MFDS internal security manager. This security manager is used for Directory Server when no other security manager is present in its security manager list. It allows you to define users and groups, and restrict access to Enterprise Server administration functions.

  • CASESM

    The CAS ESM Module (casesm) uses the Enterprise Server legacy security definitions (stored in the CICS resource tables). This is the model used in earlier releases (5.0 and lower),

    This allows you to use any security configurations from software releases prior to release 5, that uses the current architecture.

In addition to the above, a security managers can be anything that can process the API security queries that the ESF generates, and can return results to the ESF. You can develop a security manager to suit your requirements. A security manager could be a database, a directory, or an operating system mechanism

Parent topic: Security Architecture


About Security Queries

During applications processing and the running of the Directory Server, Enterprise Server submits security queries to the External Security Facility (ESF), to verify that a user or system action is authorized. The ESF generates the appropriate API call and forwards this request to each configured security manager in turn.

The most common security queries are:

  • Authenticating user credentials, for example when the user signs on.
  • Checking that a user has the appropriate authorization to perform a particular task on a particular resource

A successful verify query establishes a security context (such as a session logon) within which further operations are performed. If the user or application performs subsequent operations outside this context, further authorization calls are made to check that he or she has appropriate authorization.

There are two types of authorization queries used by the External Security Facility:

  • The first, used by Enterprise Server when processing MSS application requests, implements mainframe-style permissions. In this approach, a user is granted a permission level that includes all the "lower" permissions (write access implies read access and so on).
  • The second type of query is currently used only by MF Directory Server. It implements more modern discretionary access controls (DACs). In this approach, permissions are separate from one another. For example, a user can have write access but not read access to a resource.
Note:

This issuing of security queries during MSS processing is intended to emulate, as far as is feasible, the behaviour found on IBM mainframe platforms. For more information on these security queries, refer to your mainframe documentation.

Parent topic: Security Architecture


Designing the Security Policy

The design and introduction of security policy requires careful planning to ensure that the measures adopted are appropriate to the systems being used. Such considerations are beyond the scope of this documentation. This topic gives a brief overview of the steps involved in using the Security Facility to control user authentication and authorization, and resource access control.

  1. Before you can use the Security Facility, you must decide which external security managers you are going to use and, if you plan to use multiple security managers, how you want to divide the responsibilities between them. Most installations use a single external security manager.
  2. Having done this you must define, within the repositories used by those managers, the users, resources and rules that you require. This may involve migration of user and resource details from legacy Directory Server and Enterprise Server security definitions, and in the case of LDAP repositories used with the MLDAP ESM Module, modifications to the schema to support the security information.
  3. The next step is to specify within Directory Server the security managers, the ESM Modules that will be used to connect to them, and the associated configuration information. In doing this you create a pool of security manager definitions from which you can choose the ones that you require for particular enterprise servers.
  4. At this point, you can begin to define security configuration options. You can have different configuration options for individual enterprise servers, and for Directory Server. You can also have a default configuration that applies to any enterprise server that does not have its own configuration.
  5. The configuration options include an ordered list of references to the security managers that you will use. Hence, as with the other options, you can use different lists for Directory Server and individual enterprise servers, and you can have a default list used by multiple servers.

    The order of the managers on the list determines the order in which they are queried when handling a security request, and this may, depending on other configuration options, affect the result of a query.

    You can now add the appropriate security managers from the security manager pool to the list that you are using.

Parent topic: Security Architecture


Configuring Enterprise Server Security

You convigure security using the Enterprise Server Administration user interface. You can use this interface to configure installation-wide security configurations, and to configure security for each enterprise server in the installation. This section details the tasks required to do this.

  • Security Configuration Stages
  • Adding a Security Manager to the Pool
  • Enabling a Security Manager
  • Defining a Security Manager List
  • Setting MF Directory Server Security Configuration
  • Customizing the Security Settings for an Enterprise Server Instance
  • Implementing Security Manager Changes
Parent topic: Securing an Enterprise Server Installation


Security Configuration Stages

Configuring the security managers to use involves the following stages:

  1. Add the security managers that you plan to use to the pool, so that they are available for use in your configurations.
  2. Define the list of the security managers to use with Enterprise Server instances, and the order in which they are used.

    You can then use this configuration with multiple Enterprise Server instances

  3. Repeat the previous step to define the security configuration for the Micro Focus directory server.
    Note: To avoid issues with resource access, it is recommended that you use the same configuration for Micro Focus directory server and the enterprise server instances that it manages.
  4. Customize the security configuration for each enterprise server that requires it.
  5. Update security managers as required, and implement the changes.
Parent topic: Configuring Enterprise Server Security


Adding a Security Manager to the Pool

Before you can use an External Security Manager (ESM) in your configuration, either in the default security configuration or to configure individual enterprise servers, you need to make it available by adding it to the MFDS security manager pool.

Once it is in the pool, you can configure it and set it to verify access.

  • To Add or Remove a Security Manager in the Pool
  • To Edit a Security Manager's Properties
Parent topic: Configuring Enterprise Server Security


To Add or Remove a Security Manager in the Pool

  1. On the menu at the left side of the Enterprise Server Administration Web page, under Configure, click Security .
  2. Click the Security Managers tab, and click Add.
  3. Specify the details of the ESM to add. The minimum information required is a unique name with which to identify the definition, and the name of the external security manager module that will be used to pass security queries to the relevant external security manager. At the left of the screen, select the Help > This Page option for detailed information on the options.
  4. Click Add.

    The ESM is added to the pool and is available for use in your configurations.

To remove an ESM from the pool, select it and click Remove.
Parent topic: Adding a Security Manager to the Pool
Related tasks
To Configure a Security Manager's Environment
Related information
To Edit a Security Manager's Properties


To Edit a Security Manager's Properties

Once you have added a security manager to the pool, you can edit its properties.

  1. On the menu at the left side of the Enterprise Server Administration Web page, under Configure , click Security .
  2. Click the Security Managers tab, and in the list, select the security manager to edit.
  3. Click Edit.
  4. Specify the details of the security manager.

    At the left of the screen, select the Help > This Page option for detailed information on the options.

  5. Click OK to save the changes and return to the Security Managers screen. Alternatively, click Apply to save the changes and remain on the current screen.
Parent topic: Adding a Security Manager to the Pool
Related tasks
To Configure a Security Manager's Environment
To Add or Remove a Security Manager in the Pool


Enabling a Security Manager

A security manager must be enabled before it can be used to manage securit. If a security manage is disabled, it is ignored by Micro Focus Directory Server and by all enterprise servers instances.

To disable the security manager for Micro Focus Directory Server only, or for a particular enterprise server in your installation, you must remove it from the relevant security manager list.

  • To Enable or Disable a Security Manager
Parent topic: Configuring Enterprise Server Security


To Enable or Disable a Security Manager

  1. On the menu at the left side of the Enterprise Server Administration Web page, under Configure, click Security.
  2. Click Security Managers.
  3. Select the security manager to enable or disable, and click Edit.
  4. Check or un-check Enabled, and click OK.
    Note:

    This globally disables the security manager, so that it is ignored by Directory Server and by all enterprise servers. If you only wish to disable the security manager for Micro FocusDirectory Server or for a particular enterprise server, you must remove it from the relevant security manager list.

Parent topic: Enabling a Security Manager


Defining a Security Manager List

Once you have added security managers to the pool, you can create a default list of the security managers to use, and select to enable or disable each. If you disable a security manager, it is not used in the authorization process, even when it appears in the list of security managers to apply.

This list is used by default for each new Enterprise Server instance that you create.

  • To Add a Security Manager to the Default ES Security Manager List
  • To Set Default Enterprise Server Security Configuration
Parent topic: Configuring Enterprise Server Security


To Add a Security Manager to the Default ES Security Manager List

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Default ES Security.
  3. In the Security Manager List, click Add.
  4. Select the definition that you want to add to the list by clicking the relevant radio button in the Select column.
  5. Click Add .
Note:
  • You cannot add the same definition to the list more than once. You can however have more than one security manager definition that uses the same external security module in the security managers pool.
  • Where you are running MF Directory Server with Restrict administration access set, and you make a change to the security manager list that it uses, you are challenged to supply:
    1. a set of credentials that are valid with the configuration prior to the changes being applied

      and

    2. a set of credentials that will be valid with the configuration after the changes are applied. This is to ensure that you can still access the MF Directory Server screens.

    If appropriate credentials are not supplied or are not valid, the changes will not be applied.

Parent topic: Defining a Security Manager List


To Set Default Enterprise Server Security Configuration

You can create a list of security managers to use as a default. Enterprise servers can use this as the default configuration. You must have added security managers to the pool before they can be configured in the default list.

  1. On the menu at the left side of the Enterprise Server Administration Web page, under Configure, click Security .
  2. Click the Default ES Security tab.

    The default security manager list is displayed.

  3. Select the security manager, and use the Up and Down arrows at the right of the list to position the security manager where you want it.

    When performing security checks, Enterprise Server validates against the security managers in the order in which they appear in the list.

  4. Complete the rest of the configurations on the screen.

    At the left of the screen, select the Help > This Page option for detailed information on the options.

Parent topic: Defining a Security Manager List


Setting MF Directory Server Security Configuration

You can configure the security configuration for the directory server. You can select to use the default MFDS Internal Security or you can configure security managers to validate against.

Note:
  • It is best to configure MFDS to use the default security configuration. If you do not do this, the enterprise server instance may not start because the Windows user account configured for starting ES is not known to the default MFDS security configuration.
  • The default MFDS Internal Security can only be used by itself. If you use this, you cannot configure any other security managers.
  1. On the menu at the left side of the Enterprise Server Administration Web page, under Configure, click Security.
  2. Check the Restrict administration access check box.
    This sets that security checks are applied to the directory server.
    Note: When you check this option, a login screen is displayed when you log on or change configurations. The user details you enter are verified against the security configurations.
  3. In the lower half of the screen under Security Manager List, click Change to display a list of the security managers configured.
  4. Select the security manager to add, and click Add.

    The security manager is added to the MFDS list.

  5. Use the Up and Down arrows at the right of the list to position the security manager where you want it.

    When performing security checks, Enterprise Server validates against the security managers in the order in which they appear in the list.

  6. Complete the rest of the configurations on the screen.

    At the left of the screen, select the Help > This Page option for detailed information on the options.

  7. Click OK or Apply to apply your configurations.
  • To Set the MF Directory Server Security Configuration
Parent topic: Configuring Enterprise Server Security


To Set the MF Directory Server Security Configuration

Configure MF Directory Server to use the same security configuration. If you do not do this, the enterprise server may not start because the Windows user account configured for starting ES is not known to the default MF Directory Server security configuration. If you don't want to change the MFDS security configuration now, you can add that user to MF Directory Server directly by editing the MFDS Internal Security security manager and clicking on Properties.

To use the same security configuration for Enterprise Server instances and MF Directory Server:

  1. Return to the MF Directory Server Security Options page if necessary, and select the MF Directory Server tab.
  2. Check the Use default ES Security Manager List checkbox.
  3. Click Apply. The MF Directory Server tab should now show the same security manager(s) as Default ES Security.
Parent topic: Setting MF Directory Server Security Configuration


Customizing the Security Settings for an Enterprise Server Instance

For each enterprise server, you can use the default security manager configuration, or you can configure the security managers to use for the particular server.

  • To Set Security Configuration Options for an Enterprise Server
Parent topic: Configuring Enterprise Server Security


To Set Security Configuration Options for an Enterprise Server

For each enterprise server, you can use the default ESM configuration, or you can configure the ESMs to use for the particular server.

  1. From the Enterprise Server Administration home page, click Edit for the relevant enterprise server.
  2. Click the Security tab.
  3. To use the default set of configuration settings, check Use default security configuration.
  4. To use a non-default configuration, add the ESMs to use in the Security Manager List area at the bottom of the screen.
  5. Use the Up and Down arrows at the right of the list to position the ESM where you want it.

    When performing security checks, Enterprise Server validates against the ESMs in the order in which they appear in the list.

  6. Complete the rest of the configurations on the screen.

    At the left of the screen, select the Help > This Page option for detailed information on the options.

Parent topic: Customizing the Security Settings for an Enterprise Server Instance


Implementing Security Manager Changes

If you are using an external security manager and you make changes to the security information (such as adding a user or changing group membership), there are two ways in which you can notify Enterprise Server so that it uses the updated information:

  • The Enterprise Server Administration interface
  • The esfupdate utility
  • To Update using the Enterprise Server Administration Interface
  • To Update Security Manager Changes Using esfupdate
Parent topic: Configuring Enterprise Server Security


To Update using the Enterprise Server Administration Interface

To use the Enterprise Server Administration Interface to update a server instance with changes to a security manager:

  1. On the menu at the left side of the Enterprise Server Administration Web page, under Configure , click Security .
  2. Click the Security Managers tab.
  3. Below the list of configured security managers, click Update Allon the Security Manager Pool page.

    This retrieves the latest security information from the external security manager.

Use the following steps to update the security managers used by the Directory Server:

  1. On the menu at the left side of the Enterprise Server Administration Web page, under Configure , click Security .
  2. Click the MF Directory Server tab.
  3. Check the Update when external Security Manager properties change check box.
Parent topic: Implementing Security Manager Changes


To Update Security Manager Changes Using esfupdate

If you are using an external Security Manager and changes are made to the security information (such as adding a user or changing group membership), there are two ways in which you can notify Enterprise Server so that it uses the updated information:

  • The Enterprise Server Administration interface .
  • The esfupdate utility

This topic describes the steps required to use the esfupdate utility.

The syntax of the esfupdate utility is as follows:

esfupdate [options]update-type[entity-name]
Options A series of actions to perform. Possible values are:
Switch | Action | Meaning
-a | action | The update action to perform. One of "add", "delete", "modify" or "other". The default is "modify"
-u | user | The username for binding to Directory Server
-p | password | The password for binding to Directory Server
-m | host[:port] | The location of Directory Server. The default is localhost:86
-r | server | The name of the server(s) to update. This can include wildcards
-M |  | Updates the Directory Server
-v |  | Displays version information and exit
-h |  | Displays syntax information and ex
update-type | One of "user", "group", "resource", "users", "groups", "resources", or "all".
entity-name | Must be supplied if update-type is "user", "group" or "resource". Otherwise omitted.
Note:

If user and password are not supplied, esfupdate attempts to bind to Directory Server anonymously.

If user is supplied but not password, you will be prompted for it.

If neither -M nor -r are specified, update notifications are sent to Directory Server and all running servers.

The example below notifies the Directory Server and any running enterprise servers that the user SAFU has been modified. This could mean that its Mainframe Subsystem Support user attributes (such as user priority) have been changed, or that it has been added to (or removed from) a group. It will bind to Directory Server as the "SYSAD" user.

esfupdate -u CN=SYSAD -p SYSAD user SAFU
Parent topic: Implementing Security Manager Changes


Configuring External Security Facility (ESF) from the Command Line

The esfadmin.exe utility, is part of Net Express and Enterprise Server, and can be found in the product's bin directory. esfadmin is a command-line utility that calls the ESF Admin API to request administrative actions against ESMs.

One advantage of esfadmin is that it can be used to perform batch updates to an ESM, typically as part of a script. Another is that you supply all its configuration information on the command line, so you do not have to configure your MLDAP security manager in MFDS with an LDAP administrative user ID.

  • About the esfadmin Command
  • esfadmin Sub-commands
Parent topic: Securing an Enterprise Server Installation


About the esfadmin Command

The esfadmin command line includes options, a subcommand, and one or more parameters.This section discusses subcommands and parameters.

Each subcommand is a single word, telling esfadmin what task you want to perform. Parameters are name and value pairs in the form name=value. If the value contains spaces or other characters that are significant to the command processor or shell you’re using, you’ll need to quote or escape them. Subcommands and parameter names are case-insensitive, but parameter values may be case-sensitive, depending on the parameter and the ESMs that process the request.

For each subcommand, one or more parameters identifies the object (user, group, resource class, or resource access control definition) you’re operating on. These parameters are required. Other parameters set attributes of that object; they are optional in most cases. Note that some ESMs may require certain parameters be set even if ESF doesn’t. For example, the standard LDAP schema supplied by Micro Focus requires that resource objects have a value for the microfocus-MFDS-Resource-class attribute (even though it’s not used—this is for historical reasons), which is set by the “class” parameter when using esfadmin, so if you try to add a resource object without specifying class=somevalue you will get an error. These requirements are noted below.

The UID attribute is a special case. It is required by the LDAP schema, but if you do not supply one for an ADD operation, the MLDAP ESM Module will generate one for you.

Most of the subcommands have the same form: ADD, ALT (alter), DEL (delete), or LIST, followed by an object type: USER, GROUP, CLASS, or RESOURCE. There are also SETPASSWORD and SETOPTIONS commands. ADD and ALT commands are described in the same topic, since they use the same parameters.

The LISTx commands list all matching objects (see the LISTUSER topic for an example of using a pattern with wildcards for a list command) and their attributes. The SETPASSWORD command is used to reset a user’s password. The SETOPTIONS command is not currently used.

  • esfadmin Command Syntax
  • esfadmin Usage Notes
  • Setting User Passwords with esfadmin
Parent topic: Configuring External Security Facility (ESF) from the Command Line
Related reference
esfadmin Command Syntax


esfadmin Command Syntax

Syntax:

esfadmin [options] subcmd [keyword=value | keyword]...

Used to update the security definitions in active External Security Managers. It calls the Enterprise Server External Security Facility (ESF) to submit requests.

Parameters:

The options are:

-a | Do not audit. By default, esfadmin sends audit information for each request to the ESF Audit Facility.
-cconfig file Specifies the name of a configuration file for the MLDAP ESM Module. This is a text file, in the same format as the "Configuration Information" area in the Security Manager definition.

Usage: esfadmin -cldap-config.txt where ldap-config.txt contains:

[LDAP]
base=CN=Micro Focus,
CN=Program Data,
DC=mycorp,DC=com
-uESF user A valid ES account that will be used to sign on to the ESF. The default is: SYSAD

Usage:

esfadmin -uSYSAD

-pESF password. | The associated password. The default is: SYSAD
-UESM user A valid username for the External Security Manager; for example, with MLDAP, a user account with appropriate access to the LDAP repository.

If this is not supplied, then for commands other than the LIST commands, esfadmin will prompt for the ESM username. (For LIST commands, esfadmin will let the ESM module use its default credentials.

-PESM password The associated password.

If this is not supplied, then for commands other than the LIST commands, esfadmin will prompt for a password.

-Sserver URL Specifies the connection path for the LDAP server.

Usage:

esfadmin -S ldap://adhost

The sub commands are:

ADDUSER, ALTUSER, DELUSER, LISTUSER
ADDGROUP, ALTGROUP, DELGROUP, LISTGROUP
ADDCLASS, ALTCLASS, DELCLASS, LISTCLASS
ADDRESOURCE, ALTRESOURCE, DELRESOURCE, LISTRESOURCE
SETPASSWORD, SETOPTIONS

Comments:

The subcommand specifies the function to be performed. Each function requires one or more parameters. Parameters consist of stand-alone keywords and keyword-value pairs. Keyword-value pairs should be entered with no spaces between the keyword, the equal sign, and the value. Values that contain spaces or other special characters should be quoted, as required by the shell.

Parent topic: About the esfadmin Command
Related concepts
esfadmin Usage Notes
Setting User Passwords with esfadmin
About the esfadmin Command
esfadmin Sub-commands


esfadmin Usage Notes

Note the following points when using esfadmin:

  • You cannot move or rename an object in the security manager because you cannot specify the parameter once to identify it, and then again to give it a new name. You must use ADDx to create the new one, and then DELx to delete the old one. The ALTx commands will let you change the other parameters of an object, for the most part.
  • You can't change a resource's class by changing its CLASS attribute. That attribute exists (and must have a value), but that's a historical vestige. To change a resource's class, you have to create a new resource of the same name under the new class using ADDRESOURCE, and then delete the old one.
  • LISTUSER shows a user's group memberships, for convenience, but that's not actually an attribute of a user. So you can't use ALTUSER to change what groups a user belongs to (except for the user’s default group). You have to use ALTGROUP to change a group to add or delete a user from it.
  • LISTRESOURCE can only list resources from a single class. To list all resource definitions matching a certain pattern, you must use one LISTRESOURCE command per resource class.
  • When you change a group member list with ALTGROUP, you completely rewrite it. Be careful to ensure that only one administrator is changing a group’s membership at a time, or changes could be lost.
  • To change a resource's access control list (ACL), you list the ACEs as the value of the ACL parameter, separated by semicolons or newlines. For example:

    esfadmin ... ALTRESOURCE ...

    ACL="allow:SYSADM group:read;allow:CICSUSER:read"

    This has the same issue as updating group membership—it replaces the entire ACL, so make sure you have all the ACEs you want in the string, and watch out for races if multiple people might be making updates at the same time.

Parent topic: About the esfadmin Command
Related concepts
esfadmin Command Syntax
Related reference
ADDGROUP and ALTGROUP
ADDCLASS and ALTCLASS
ADDRESOURCE and ALTRESOURCE
ADDUSER and ALTUSER
DELCLASS
DELGROUP
DELRESOURCE
DELUSER
LISTCLASS
LISTGROUP
LISTRESOURCE
LISTUSER


Setting User Passwords with esfadmin

If you edit a user's password (the microfocus-MFDS-User-Pwd attribute) directly in the LDAP repository, using a tool such as ADSIEdit, you can only set a literal password value. This is often not satisfactory because the password can be seen by anyone who can read the repository.

If you have enabled MFDS administration of the LDAP repository, you can use MFDS to change a user's password. To do this, go to the MFDS security options, view the list of Security Managers, select the MLDAP manager, click the Properties button, edit the user, and set a new password. See the MFDS documentation for more information.

Another alternative is to use the esfadmin utility.

To set a password using the esfadmin command, you will need a valid ES username and password (not necessarily the user whose password you're setting), and an LDAP username and password for an account with write access to the user's record in the repository. esfadmin has to sign on to ESF before it can perform an admin request, which is why you need an ES username / password.

You set a password using the setpassword option:

esfadmin [options] setpassword user=username password=new-password

esfadmin will prompt for the LDAP user ID and password. (The user ID is usually specified as an LDAP DN, eg CN=admin,CN=ADAM Users,CN=Micro Focus,CN=Program Data,DC=local; or as a Windows username with domain, eg domain\admin.) You can also specify these on the command line using the -U and -P options (note these must be uppercase-U and uppercase-P).

By default esfadmin uses "SYSAD", one of the default accounts created during setup, for the ES username and password it uses to sign on to ESF. You can supply a different username and password with the -u and -p (both lowercase) options.

Parent topic: About the esfadmin Command
Related reference
esfadmin Command Syntax


esfadmin Sub-commands

The esfadmin command can use the following sub-commands:

  • ADDCLASS and ALTCLASS
  • ADDGROUP and ALTGROUP
  • ADDRESOURCE and ALTRESOURCE
  • ADDUSER and ALTUSER
  • DELCLASS
  • DELGROUP
  • DELUSER
  • DELRESOURCE
  • LISTCLASS
  • LISTGROUP
  • LISTRESOURCE
  • LISTUSER
  • SETOPTIONS
  • SETPASSWORD
Parent topic: Configuring External Security Facility (ESF) from the Command Line
Related reference
esfadmin Command Syntax


ADDCLASS and ALTCLASS

Description

Add a new class/modify an existing class.

Required parameters

CLASS=name
Name of the resource class

Optional parameters

DESC=description
Description text.
Note: Classes are just standard LDAP container objects, so all they have is a name and an optional description.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


ADDGROUP and ALTGROUP

Description

Add a new group/modify an existing group.

Required parameters

GROUP=name
Name of the group.

Optional parameters

MEMBERS=user list
List of users, separated by semicolons. See the note regarding setting group membership in the esfadmin Usage Notes topic.
DESC=description
Description text.
CUSTOM=string
Custom text (not used by Micro Focus).
UID=string
Unique ID (is automatically generated if not supplied with the request).
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


ADDRESOURCE and ALTRESOURCE

Description

Add a new resource/modify an existing resource.

Required parameters

RESOURCE=name
Name of the resource.
CLASS=name
Name of its class. Required, but not used by Micro Focus.

Optional parameters

ACL=list of ACEs
ACEs separated by semicolons.
DESC=description
Description text.
CUSTOM=string
Custom text (not used by Micro Focus).
UID=string
Unique ID. If not supplied, one is generated automatically.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


ADDUSER and ALTUSER

Description

Add a new user/modify an existing user.

Required parameters

USER=username
Name of the user to add or change.

Required by standard MF LDAP schema for ADDUSER:

PRIORITY=integer
MSS user priority (0-255).
TIMEOUT=integer
MSS user timeout in minutes.
OPCLASS=integer
MSS operator class (usually 0).
ALLOW=true|false
Whether user can sign on.

Optional:

NAME=display name
User’s display name.
DESC=description
Description text.
GROUP=group name
Default group.
EXPIRES=yyyymmdd
Account expiration date.
PASSWORD=string
Password (will be stored as MF-MD5 salted hash).
PASSEXP=yyyymmdd
Password expiration date.
PASSCHG=true|false
Whether user must change password.
GRPPFX=string
MSS group prefix (currently unused).
OPID=xxx
MSS operator ID (three characters).
GETTOKEN=none|self|any
Permission to create passtokens.
USETOKEN=none|self|any
Permission to use passtokens.
CUSTOM=string
Custom text (not used by Micro Focus).
UID=string
Unique ID. If not supplied, one is generated automatically.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


DELCLASS

Description

Delete a class.

Required parameters

CLASS=name
Name of the resource class to delete.
Warning: All resource access control definitions in this class will also be deleted!
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


DELGROUP

Description

Delete a group.

Required parameters

GROUP=name
Name of the group to delete.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


DELUSER

Required parameters

USER=name
Name of the user to delete.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


DELRESOURCE

Description

Delete a resource.

Required parameters

RESOURCE=name
Name of the resource to delete.
CLASS=name
Name of its class.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


LISTCLASS

Description

List the classes.

Required parameters

CLASS=pattern
Pattern name, optionally with “*” wildcards.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


LISTGROUP

Description

List the groups.

Required parameters

GROUP=pattern
Group name, optionally with “*” wildcards.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


LISTRESOURCE

Description

List the resources.

Required parameters

RESOURCE=pattern
Resource name, optionally with “*” wildcards.
CLASS=name
Name of class to search.
Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


LISTUSER

Description

List the users.

Required parameters

USER=pattern
User name, optionally with “*” wildcards.

Example

esfadmin listuser user="A*"

Lists all users with names beginning with “A”.

Parent topic: esfadmin Sub-commands
Related concepts
esfadmin Usage Notes


SETOPTIONS

Not currently in use.

Parent topic: esfadmin Sub-commands


SETPASSWORD

Description

Sets or resets a user password.

Required parameters

USER=name
Name of user whose password is being reset.
PASSWORD=string
New password (will be stored as MF-MD5 salted hash).
Parent topic: esfadmin Sub-commands


Using the MFDS Internal Security Module

You can use the MFDS Internal Security Module to secure the directory server or enterprise servers.

Note: This module cannot be used with any other security managers. It must be the only module configured.

With the the MFDS Internal Security Module, the ability to view, and to alter, objects and schema settings within Directory Server is controlled through a system of user accounts, user groups and permissions.

With this module in place, Enterprise Server administrators must log on. The features available to login IDs are controlled by permissions. You grant permissions to a user group. The users within that group can then perform the actions governed by those permissions.

  • Working with Users, Groups and Resources
  • Application Access and Administration Access
  • Understanding Users and Groups
  • Understanding Permissions
  • Managing Users and Groups
Parent topic: Securing an Enterprise Server Installation


Working with Users, Groups and Resources

Note: Typically, you can maintain user, group and resource information for the MFDS Internal Security manager only. If you use an external security manager, you would normally use the updating functionality associated with the particular LDAP that you are using to maintain this information. Check the documentation provided with your ESM module for details.

The property screens for the MFDS Internal Security manager can be used for adding, editing and deleting user, group and resource definitions held in this manager, and for specifying resource permissions.

In addition to the conditions listed above, the MFDS Internal Security manager definition must be used by MF Directory Server.

In order to use these property screens, your user account must have User Administration permissions. See Resource Classes for MF Directory Server for details.

Parent topic: Using the MFDS Internal Security Module


Application Access and Administration Access

When Directory Server is using the MFDS Internal Security Manager, any enterprise server that connects to the Directory Server to obtain or modify configuration information must supply valid user credentials. If, in addition, you have set the Restrict administration access configuration option, any user wanting to use the administrative features must provide credentials to log on. The features available to the user or application are controlled by permissions. You grant permissions to a user group. The users within that group can then perform the actions governed by those permissions.

Parent topic: Using the MFDS Internal Security Module


Understanding Users and Groups

When you connect to Enterprise Server Administration for a Directory Server that is running in restricted mode, you are presented with a summary screen. This screen shows basic details of the enterprise servers managed by the Directory Server.

Before you can perform any other actions, you must log on. To do this you require a user account. Directory Server comes with a number of preconfigured user accounts but you can create others.

When you have logged on, the features that you can use depend on the permissions granted to the user groups of which your user is a member.

Each user can be in many user groups. Again, Directory Server has several preconfigured groups and you can create others. Each of the preconfigured groups has appropriate permissions for a particular administrative task. One or more of the supplied users are assigned to each of the groups, with the exception of the System group, which is used by Micro Focus applications.

Group | Description | Preconfigured users assigned
All Users | This is the most limited group. Its default Enterprise Server permissions are set as Read only. This permission enables a user in the group to view configuration information for enterprise servers. All users are included in this group. | schemaadmin, adddelete, modify, administrator
Add/Delete This group has default Enterprise Server permissions that enable:
  • the addition and deletion of servers
  • the addition and deletion of services, listeners and packages to servers
adddelete, administrator
General Administrators | This group has default enterprise server permissions that enable all administration activities for enterprise servers. It also has permissions allowing all Directory Server administration activities with the exception of user managements. | administrator
Directory Server Administrators | This group has full permissions for the administration of the Directory Server and all enterprise servers. | schemaadmin
Modify | This group has default enterprise server permissions that enable the modification of enterprise server configuration information. | modify
System | This group is for the use of Micro Focus applications.
Parent topic: Using the MFDS Internal Security Module


Understanding Permissions

A permission controls use of a feature of Directory Server. For example, there is a permission that governs the administration of users and groups. You grant permissions to user groups.

There are two categories of permissions:

Directory Server Administration | These govern the administration of the Directory Server repository (for example, the management of user accounts).
Server | These govern the administration of the enterprise servers that are controlled by the Directory Server.

Some permissions include others. For example, the permission to modify an enterprise server includes the permission to start and stop the server. When a permission is granted, all those that it includes are automatically granted.

  • Directory Server Permissions
  • Server Permissions
Parent topic: Using the MFDS Internal Security Module


Directory Server Permissions

The following table describes the available Directory Server permissions.

Name | Description
Save Repository | Permits saving a copy of the repository to a file system directory.
Import Repository | Permits importing data from a file system directory. Includes the following permissions: Save Repository.
Restore Repository | Permits restoring a repository from a file system directory. The process of restoring overwrites all of the information in the current repository. Includes the following permissions: Save Repository, Import Repository.
Delete Repository | Permits deletion of the entire Directory Server repository including all enterprise servers, and all users and groups. Includes the following permissions: Save Repository, Import Repository.
Change MF Directory Server options | Permits changing of Directory Server options. Includes the following permissions: Save Repository, Import Repository.
Set Server Permissions | Permits the allocation of permissions on individual enterprise servers. Includes the following permissions: Save Repository, Import Repository, Restore Repository, Delete Repository, Change MF Directory Server.
Display Directories | Permits the viewing of a list of the Directory Servers that your Directory Server can detect on the network. Includes the following permissions: Save Repository, Import Repository, Restore Repository, Delete Repository, Change MF Directory Server, Set Server Permissions.
Shutdown MF Directory Server | Permits the shutting down of the Directory Server. Includes the following permissions: Save Repository, Import Repository, Restore Repository, Delete Repository, Change MF Directory Server, Set Server Permissions.
Administer Users | Permits the management of user accounts and user groups, and the setting of permissions. Includes the following permissions: Save Repository, Import Repository, Restore Repository, Delete Repository, Change MF Directory Server, Set Server Permissions, Display Directories, Shutdown MF Directory Server.
Parent topic: Understanding Permissions


Server Permissions

The following table describes the available server permissions.

Name | Description
Read | Permits viewing of an enterprise server configuration information.
Start/Stop | Permits the starting and stopping of an enterprise server. Includes the following permissions: Read
Modify | Permits the modification of configuration information for an enterprise server. Includes the following permissions: Read, Start/Stop
Add | Permits the adding of listeners, services and packages to an enterprise server. When set as a default permission for the group, it also permits the adding of enterprise servers. Includes the following permissions: Read, Start/Stop, Modify
Delete | Permits the deletion of enterprise servers, and of listeners, services and packages from an enterprise server. Includes the following permissions: Read, Start/Stop, Modify

You can set default server permissions for a group, but you can also override these defaults for individual enterprise servers. For example, you might have an operator group with default permissions to start and stop servers. You could override these for your test server, specifying that the operator group also has modify permission.

Note:

To permit a group to create new servers, you must set its default Add permission.

Parent topic: Understanding Permissions


Managing Users and Groups

You use screens within Enterprise Server Administration to manage users and user groups. To do this, you must be logged on to a user account that is a member of a group with appropriate permissions. The preconfigured user, schemaadmin is suitable for this task.

  • Setting Permissions
  • Best Practice
Parent topic: Using the MFDS Internal Security Module


Setting Permissions

You set the permissions for each group using screens within Enterprise Server Administration. To do this, you must be logged on to a user account that is a member of a group with appropriate permissions. The preconfigured user, schemaadmin is suitable for this task.

Parent topic: Managing Users and Groups


Best Practice

Change the passwords of the preconfigured accounts at the earliest possible opportunity.

Ensure that only those users who need access have user accounts.

Ensure that users have only the permissions that they require in order to do their jobs.

Limit the number of administrative users.

Parent topic: Managing Users and Groups


Configuring Operating System Security: osesm

The operating system security manager (osesm) lets users sign in to ESF-protected systems (ES regions and MFDS) using their operating system username and password.

Note: osesm is supported only on Windows.
  • How osesm Works
  • osesm Module Configuration
Parent topic: Securing an Enterprise Server Installation
Parent topic: Active Directory


How osesm Works

With the osesm security manager, users sign on to MFDS, Enterprise Server Administration, and/or MSS using their Windows username and password.

Note: osesm only supports the Verify operation (user sign-on). It does not do any resource access control (the Auth and XAuth operations). To control access to resources for signed-on users, you will need to configure another ESM module lower in the list for that purpose.

By default osesm first tries to sign a user on locally. If that fails, it does a search in the default domain (in the domain forest, on Windows 2003 and later) and tries again in the first domain where it finds the user. You can specify a different domain to try initially in the security manager configuration.

Note: osesm is limited to the signon IDs that Windows normally allows, and therefore it cannot verify a user in a domain that is not trusted by the local system. osesm can authenticate users from any domain that is listed in the Windows sign-on dialog. It cannot authenticate signons of the form username@domain.tld: the signon screens do not support this.

osesm supports ESF Passtokens, which can be used to automatically pass credentials between MFDS and the Enterprise Server administration UI, if both the directory server and Enterprise Server are configured to use osesm.

Parent topic: Configuring Operating System Security: osesm


osesm Module Configuration

Because osesm uses the operating system to authenticate user credentials, it doesn't have many configuration parameters. For information on the configuration fields, in the Edit Security Manager screen's left hand pane, select the Help > This Page option.

The osesm module also supports some additional configuration that can be set by editing the text in the Configuration Information area. Text in this area is organized into sections which begin with a tag in square brackets, followed by lines of the form: name=value.

Below are the various configuration sections you can configure, and the options that can be set in each section.

[Operation] section
domain=domain

Sets the default domain for checking the user's credentials. By default this is ".", which means to try to log the user on to the local system.

type=network | interactive

Sets the type of logon to use. Windows supports a number of logon types. Servers typically use the network logon to verify user credentials, as it is supposed to be faster and use less resources. However, it requires that the user has the "Use this computer over a network" right, which some user accounts may not have. Also, it does not work in some situations where the user should be able to log on, for example when a Windows XP system is trying to verify a domain user who does not have a local account. If you find users cannot log on using their correct domain usernames and passwords, try setting this to interactive, which will perform a full Windows interactive logon.

The default is network.

[Passtoken] section
enable=none | self | any

Sets the passtoken creation and use privileges:

  • none disables passtokens.
  • self allows the creation and use of self-only passtokens (users can use passtokens to transfer their credentials between the directory server and the administration user interface, for example).
  • any allows the creation of self and surrogate passtokens. This is a security risk: an attacker who learns how to forge surrogate passtokens could use them to sign on to any facility that accepts surrogate passtokens. (Currently ES does not use surrogate passtokens, but they might be used in the future for inter-region transaction routing, for example.)

The default is none. Set it to self if you want to be able to move between MFDS and ESMAC without signing on twice.

secret=string
Sets the secret data which will serve as the key for the Message Authentication Code (MAC) in ESF Passtokens generated by the ESM Module. This data prevents attackers who do not know it from forging passtokens. Note that any setting here will obviously not be secret from anyone who can read the MFDS repository. If this value is set, it must be set the same for all security domains (MFDS and ES regions) that will exchange passtokens.
secret file=path
Sets the path to a file that contains the secret data for the passtoken MAC. This is more secure than setting the secret data directly in the configuration. If SecretFile is set, any Secret directive is ignored. (If neither is set, a built-in default is used.)
duration=seconds
Sets the duration for passtokens. A token will be valid for this length of time after it's generated; after that it will be rejected. The default is 60 (one minute).
Parent topic: Configuring Operating System Security: osesm


Configuring Security using Active Directory

This section describe the methods available for configuring Microsoft Active Directory (AD) to provide Enterprise Server security.

The topics in this section illustrate the process by describing how you perform it using Microsoft's Active Directory Application Mode (ADAM) software. You can also use the methods described with Active Directory Lightweight Directory Service (AD LDS) software.

  • For Windows XP environments, use ADAM.
  • For later operating systems, for example Vista or Windows 7, use AD LDS.
  • Setting Up Security with ADAM
    ADAM is a lightweight stand-alone LDAP server that is similar in functionaltiy to Active Directory. You can use the procedures in this section to become familiar with LDAP security.
  • Preparing Active Directory for Enterprise Server Security
    This section describe the procedures you need to perform for both of the following sections: using the MLDAP and the OSESM security managers in conjunction, and using the MLDAP security manager only.
  • Configuring Windows Users as Enterprise Server Administrators
    This section describes the procedures for verifying Enterprise Server administration using Windows authentication for user accounts stored in Active Directory.
  • Configuring Active Directory Users as Enterprise Server Administrators
    This section describes the procedures for configuring users defined in Microsoft Active Directory (AD) as Enterprise Server administrators. It describes how to grant the necessary permissions to the Windows users defined in AD, and how to configure Enterprise Server to use AD as its security manager.
Parent topic: Securing an Enterprise Server Installation


Setting Up Security with ADAM

The topics in this section describe how to install and configure Active Directory Application Mode (ADAM) for use with Enterprise Server's MLDAP_ESM security manager.

ADAM is a stand-alone LDAP server that is very similar to Active Directory. The key difference is that, unlike Active Directory, ADAM can be deployed on a server that is not a domain controller.

Even if you do not intend to use ADAM as your LDAP, it is useful to follow the procedures in this section to familiarise yourself with what is involved. This will be a useful exercise if you want to use a more fully-featured LDAP such as Active Directory, or OpenLDAP.

Note: If you are using Windows Vista or Windows 7, you can use Active Directory Lightweight Directory Service (AD LDS) rather than ADAM. The functionality is the same, and the procedures are the same as those described for ADAM.
  • ldifde Notes
  • Installing ADAM
  • Creating the ADAM Server Instance
  • Running the Setup Script
  • Configuring Microsoft Users
  • Configuring Enterprise Server to use the ADAM ESM
  • Configuring the ADAM Repository
Parent topic: Configuring Security using Active Directory


ldifde Notes

Several of the steps in this process use the Microsoft ldifde utility, a relatively complex command-line utility with many options. You may want to read the documentation for ldifde that comes with ADAM.

Here are some tips for using ldifde:

  • We use ldifde to read an LDIF file (with a .ldf extension) and update AD with the objects listed in the file. LDIF files are text files and can be edited in Notepad.
  • Many of the ldifde command lines shown below use the "-c" option, which takes two strings as parameters, and changes the first string to the second wherever it appears in the input. So "-c DC=X DC=mydom,DC=com" will change "DC=X" in the .ldf file to "DC=mydom,DC=com". That lets us customize the information in the .ldf file for your installation.
  • You can copy the .ldf files to your AD server and run ldifde there, or you can run it on a system with Net ExpressStudio Enterprise Edition installed and update AD remotely.
  • ldifde has to bind (log on to) AD in order to make changes to the directory. If you are not logged on as an authorized AD user, you can add "-b username domain password" to the ldifde command line.
  • When we show ldifde command lines below, we use the "-s servername" option to tell ldifde the hostname of the AD server. If you're running on the AD server, or if your AD server is the domain controller for the domain that you are running in, you can leave off the "-s servername" option.
  • Each time you run ldifde (with the "-j ." option), it will create an ldif.log file in the current directory. If there are errors or warnings, it will create an ldif.err file as well. If the files already exist, they will be overwritten. We recommend you rename the log file after each ldifde run (eg to ldif-1.log, ldif-2.log, etc) so you can send them to Micro Focus Support if you have problems. If an ldifde command fails, you can check the log and error files for more information.

A typical ldifde command will have these parts:

Parent topic: Setting Up Security with ADAM


Installing ADAM

On the Windows XP platform, ADAM is installed as part of the Micro Focus product installation routine. If you need to obtain a copy, the software is freely available from the Microsoft website.

You can download a copy of Active Directory Lightweight Directory Service (AD LDS) from the Microsoft website. Run the downloaded software and follow the prompts to install it.

Parent topic: Setting Up Security with ADAM


Creating the ADAM Server Instance

An ADAM instance acts an LDAP server. This process describes how to create a server instance specifically for Enterprise Server use.

  1. From the Start > Programs, menu, select ADAM > Create an ADAM instance to start the wizard.
    Note:

    Once created, an ADAM Instance appears in the Add/Remove Programs control panel. You can use this to remove instances that you no longer need. The removal process generates some warnings that you can safely ignore.

  2. In the Wizard screens select the following options and use the following values:
    • Select the option: A unique ADAM instance
    • In the Instance name field, enter: MFES
    • Accept the default LDAP and SSL ports: 389 and 636
    • Select the option: Create an application directory partition and enter the name: CN=Micro Focus,CN=Program Data,DC=local
    • Accept the default file store location (or specify a custom one - this should make no difference)
    • Select to run the service using the Default network service account. and overide any warning messages that appear.
    • For ADAM administration, use your current logged on account (note that you can create an additional ADAM administrative account in a later step, in case you do not normally use an Administrative account)
    • Select the option Import the selected LDIF files, and from the list, select MS-User.LDF to be imported
    • On the final Wizard screen, click Next to create the instance with your configurations.

      As the instance is created, messages appear to show the progress. You may be prompted by your firewall. If so, configure it appropriately to allow your ADAM instance to accept connections at least from localhost on port 389.

Parent topic: Setting Up Security with ADAM


Running the Setup Script

The es-ldap-setup script defines the LDAP object classes and containers (the schema) that will hold ES data. That is, it configures ADAM or AD so that you can use it with Enterprise Server.

. By default, the script is installed in the installation folder's base/bin folder. For example, for a Studio Enterprise Edition installation, the default location is:

You can run es-ldap-setup with no parameters to configure the default settings.

Note: When you run the script, check that it generates no errors.

Without parameters, the script displays the default it will set, and prompts you for information if you do not want to accept the default. Press Enter to accept the default values unless you need to specify something else.

These are the actions es-ldap-setup performs:

  1. Prompts for values for username, etc, if they are not specified on the command line. Press Enter to accept the default, or supply a different value.
  2. If ADAM (or AD) is not configured to allow password operations over unsecured connections, the script will configure it to allow them. This is required by some of the following actions. If the script changes this option on the server, it will reset it to its old value before exiting.
  3. Adds the ES user, group, and resource LDAP class definitions to the schema. These specify what attributes each of these types of object has.
  4. Adds the container objects for ES to the repository.
  5. Creates MFReader, the default LDAP user account for ES.
  6. Creates the administrative LDAP user for adding MSS users. (This step is skipped if the /AD option is specified.)
  7. Imports MSS users that are defined in the default MSS resource definition file into the LDAP repository.
  8. Imports MFDS users and groups into the LDAP repository.
  9. Imports the default MSS resource access control definitions into the LDAP repository.
  • The es-ldap-setup AD Setup Script
Parent topic: Setting Up Security with ADAM


The es-ldap-setup AD Setup Script

The es-ldap-setup script defines the LDAP object classes and containers (the schema) that will hold ES data. That is, it configures ADAM or AD so that you can use it with Enterprise Server.

. By default, the script is installed in the installation folder's base/bin folder. For example, for a Studio Enterprise Edition installation, the default location is:

C:\Program Files\Micro Focus\Studio Enterprise Edition 6.0\Base\Bin

The full syntax for es-ldap-setup is:

es-ldap-setup [/?] [/AD] username password partition server
  • The /? option will display a syntax message and information about what actions the script will perform.
  • The /AD option tells the script that you are using AD rather than ADAM, so it will not try to create an LDAP administrative user account.
  • The username should be the name of an existing or new administrative user for the LDAP server. (For AD, this user must already exist and have suitable permissions.) It defaults to the current user's name.
  • Password is the LDAP administrator's initial password; it defaults to "password". You can change this password (or even disable or remove the administrative user account created by the script) after the script runs.
  • The partition parameter specifies the LDAP distinguished name (DN) of the application partition where the ES LDAP objects should be created. The default is "CN=Micro Focus,CN=Program Data,DC=local", which is generally suitable for use with ADAM, but AD users will probably need to specify the DN of a container within their corporate LDAP hierarchy. See your LDAP administrator for more information.
  • The server parameter is the hostname and port of the LDAP server. It defaults to "localhost:389", which is the standard address for an LDAP server running on the local machine.

Most users will run es-ldap-setup with no parameters, but in some cases you may want to specify a username and password:

  • If you're running es-ldap-setup under your normal login ID, and using your local ADAM installation as your LDAP server, just run it with no parameters.
  • If you're using ES with AD, specify the /AD option and all four parameters. Provide the username of a user with administrative access to AD, and that user's password; the DN of the part of the LDAP repository that will hold ES data; and the hostname and port of the AD server.
  • If you're running es-ldap-setup under an administrative account that isn't your normal login ID, it's usually best to specify your normal login ID as the username. That way, if you want to run the cas-to-ad utility in the future, you can run it under your normal login ID rather than having to specify a different user.
  • If you want a password other than the default "password", specify both the username and password parameters.
  • If you need to specify one parameter, you also have to provide values for the parameters before it. For example; if you need to specify a different LDAP server, you'll have to provide username, password, and partition as well.

These are the actions es-ldap-setup performs:

  1. Prompts for values for username, etc, if they are not specified on the command line. Press Enter to accept the default, or supply a different value.
  2. If ADAM (or AD) is not configured to allow password operations over unsecured connections, the script will configure it to allow them. This is required by some of the following actions. If the script changes this option on the server, it will reset it to its old value before exiting.
  3. Adds the ES user, group, and resource LDAP class definitions to the schema. These specify what attributes each of these types of object has.
  4. Adds the container objects for ES to the repository.
  5. Creates MFReader, the default LDAP user account for ES.
  6. Creates the administrative LDAP user for adding MSS users. (This step is skipped if the /AD option is specified.)
  7. Imports MSS users that are defined in the default MSS resource definition file into the LDAP repository. See Adding MSS Users to the LDAP Repository for more information.
  8. Imports MFDS users and groups into the LDAP repository.
  9. Imports the default MSS resource access control definitions into the LDAP repository.

Before each action, es-ldap-setup will pause and tell you what it's about to do. When it finishes, it will report how many actions succeeded and how many failed, and give a list of the failing actions, which you can provide to Micro Focus Support if you have questions.

Note:

Some users may encounter a known issue with the ADAM dsmgmt utility when running the script. If you get an error message similar to the following:

DsBindWithSpnExW error 0x6ba (The RPC server is unavailable.)

then there is an issue with your network configuration which is preventing the utility from connecting to your ADAM server. This is a Windows issue, not a Micro Focus one. Possible fixes include:

  • Remove IPv6 support from your network configuration.
  • Specify the LDAP server address for the script using your local hostname rather than localhost. (Remember to include the port number, as in myhost:389.)
  • Disable your local system's firewall while running the script. With some application firewalls, such as Symantec Client Security, disabling the firewall may not be sufficient, and you may have to manually disable or delete rules that affect the ICMP protocol.
  • Check that your hosts file (%systemroot%\system32\drivers\etc\hosts) does not contain any invalid entries for localhost or your local hostname.
Parent topic: Running the Setup Script


Configuring Microsoft Users

With LDAP-based security for Enterprise Server using a security configuration that includes the MLDAP ESM Module, you can configure your installation so that authentication uses the standard Microsoft user objects in Active Directory, that is, the same user objects that are used for Windows authentication. With this configuration, users sign on to Enterprise Server using their Windows usernames and passwords, and Windows logon restrictions apply.

Note: When you set this configuration, you can no longer use the Enterprise Server user administration functionality to manage users. You must do this through your normal Microsoft user management interface.

To configure the system to use Microsoft standard users, you need to set the security manager's configuration as per the example below:

    [LDAP]
    base=
    user class=user
    user container=cn=users,dc=company,dc=com
    group container=cn=enterprise server user groups,cn=micro focus,
      cn=program data,dc=company,dc=com
    resource container=cn=enterprise server resources,cn=micro focus,
     cn=program data,dc=company,dc=com
    [Verify]
    mode=bind

user class environment variable to a value of: user

If this setting is not present, user class=microfocus-MFDS-User which is the default setting is used.

  • To Configure a Security Manager's Environment
Parent topic: Setting Up Security with ADAM
Related tasks
To Configure the Security Facility to Use the MLDAP ESM
To Configure a Security Manager's Environment


To Configure a Security Manager's Environment

Use this task to configure the environment for a security manager.
Note: When you set this configuration, you can no longer use the Enterprise Server user administration functionality to manage users. You must do this through your normal Microsoft user management interface.
  1. On the Enterprise Server Administration screen, in the left pane, select Security.
  2. Select the Security Managers tab, and in the list of configured security managers, select the one to configure, and click Edit.

    The Configure Security Options screen is displayed.

  3. In the configuration area at the bottom of the screen, add or edit the [LDAP] configuration to add settings you want follows: For example:
    Note: In the example below, the line: user class="user" sets that Enterprise Server uses Microsoft user configurations, and you cannot change these through the Enterprise Server security user interface. Omit this line to configure the default behaviour, which is that you can configure user information stored in an LDAP.
    [LDAP]
base="DC=somecorp,DC=com"
user class="user"
user container="CN=users"
group container="CN=Enterprise Server Groups,CN=MF"
resource container="CN=Enterprise Server Resources,CN=MF"
Parent topic: Configuring Microsoft Users
Related concepts
Configuring Microsoft Users
Related tasks
To Add or Remove a Security Manager in the Pool
To Configure the Security Facility to Use the MLDAP ESM
Related information
To Edit a Security Manager's Properties


Configuring Enterprise Server to use the ADAM ESM

After you have successfully configured your LDAP server, you can configure Enterprise Server to use LDAP for security.

  1. Create a Security Manager object in MFDS. The security manager that you create must use the following options:
    • Module: mldap_esm.
    • Connection Path: the hostname and port of your LDAP server, just as you supplied it on the es-ldap-setup command line. You can leave it blank if you're using a local ADAM (or AD) server.
  2. Once the security manager has been created, enable it for a specific ES server, for example ESDEMO.
    CAUTION:
    Do not configure this ESM for MFDS until you have tested it with an ES server.
  3. Start the Enterprise Server, using the SYSAD user ID (password SYSAD). This ID is created in the ADAM LDAP by the setup script.

    The enterprise server starts, using the ADAM LDAP to authenticate the SYSAD user.

Parent topic: Setting Up Security with ADAM


Configuring the ADAM Repository

This section describes the tasks you can use to create, view, and edit your ES LDAP security configuration.

  • Browsing the ADAM Repository
  • Adding Repository Objects using ADSIEdit
  • Adding MSS Users to the LDAP Repository
  • Enabling MFDS Administration for LDAP and User Password Changes
Parent topic: Setting Up Security with ADAM


Browsing the ADAM Repository

You can use the Microsoft ADSIEdit utility to view the ES areas of your LDAP repository. This tool is included with ADAM. You can run it from the Start Menu.

To browse the repository,:

, then:

  1. From the Windows Start menu, select ADAM > ADSIEdit to open the editor.
  2. In the editor's menu, select Action > Connect to... to open the Connection Settings dialog box.
  3. In the the Connection Settings dialog box, enter the following details to create a connection to the ES application partition:
    • Connection name: MF or a name of your choosing.
    • Server name: localhost
    • Port: 389
    • Connect to the following node: select the Distinguished name (DN) or naming context radio button.
    • DN value to enter: CN=Micro Focus,CN=Program Data,DC=local
    • Connect using these credentials: select the The account of the currently logged-on user radio button.
  4. Click OK.

The left pane displays a tree view item with the name that you configured as the connection name. When you expand this item, and then the container within it, the ES containers are displayed, for example
        CN=Enterprise Server Users",
        CN=ADAM Users, and automatically-generated containers such as
        CN=Roles.

You can open these containers and double-click on the objects within them to view (or edit) their attributes.

Parent topic: Configuring the ADAM Repository


Adding Repository Objects using ADSIEdit

You can also use ADSIEdit to create new objects in the repository, such as new MSS users, using Action > New. Select the appropriate object type, then complete the wizard, which will prompt for required values and give you an opportunity to enter optional ones. (You can change any of these later by editing the object.)

Creating an MSS user

  • To create an MSS user, select the CN=Enterprise Server Users container, right-click and select to create a new microfocus-MFDS-User object:
    • Set the cn attribute to the username
    • The dialog will prompt for some mandatory MSS attributes such as microfocus-MFDS-User-MTO-Timeout. You can set the Timeout, Priority, and OperatorClass attributes to 0 (or any other value which is valid under MSS).
    • Set the microfocus-MFDS-User-AllowLogon attibute to TRUE.
    • The microfocus-MFDS-UID attribute must be set, but currently the format of this value does not matter. You can set it to the username, for example.
    • If you want to set an initial password, when you reach the final page of the dialog (with the "Finish" button), click More Attributes, find the microfocus-MFDS-User-Pwd attribute, and double-click it. Set its value to "literal:password". Note that this password will be stored in plaintext (and so will be visible by anyone who has read access to the repository) until you change it.
    • Other optional attributes you may want to set:
      • displayName to the user's "display" name (often a person's legal name, etc)
      • description to any descriptive text you want to associate with the user
      • microfocus-MFDS-User-DefaultGroup to the user's default MSS group (eg ALLUSR)
      • microfocus-MFDS-User-MTO-GroupPrefix and microfocus-MFDS-User-MTO-OperatorID if you use MSS group prefixes and/or operator IDs with your normal MSS user definitions
      • microfocus-MFDS-User-CreateToken and microfocus-MFDS-User-UseToken if you use passtokens (typically, set both of these to self for users who will be using MFDS and ESMAC)

Creating an MSS user group

  • To create an MSS user group, right-click the CN=Enterprise Server User Groups" container and select to create a new microfocus-MFDS-Group object:
    • Set the cn attribute to the group name. Note that this name must be no longer than 8 characters.
    • The microfocus-MFDS-UID attribute must be set, but currently the format of this value does not matter. You can set it to the group name, for example.
    • To set the members of the group (you can change this later by editing the group object), click More Attributes on the final page of the dialog. Double-click the microfocus-MFDS-Group-Member attribute to get a dialog that lets you add or remove members.

Creating a resource class and resource acces control object

  • To create an MSS resource class, right-click the CN=Enterprise Server Resources container and create a new container object. Set its cn attribute to the name of the resource class.
  • To create an MSS resource access control object, expand the CN=Enterprise Server Resources container in the tree view, then right -click the container for the class of the resource you want to create. Create a new microfocus-MFDS-Resource object:
    • Set the cn attribute to the resource name, or to a string that contains wildcards to create a generic rule. Wildcards are explained in the documentation for the MLDAP ESM Module in your product documentation.
    • The microfocus-MFDS-UID attribute must be set, but currently the format of this value does not matter. Since resource names can be long, it may be easiest just to put a dummy value here, such as 1.
    • You must set the microfocus-MFDS-Resource-Class attribute, but this attribute is no longer used and is only in the schema for compatibility with pre-release versions. You can set this to the resource's class name or to any other value.
    • If you want to set an initial ACL, click More Attributes on the final page of the dialog. Double-click the microfocus-MFDS-Resource-ACE attribute to get a dialog that lets you add or remove access-control entries. See the MLDAP ESM Module documentation for more information.

You may want to create a new ADAM user for ES to use. If you want to give ES permission to change objects in the repository -to let users change their passwords when they sign on, or to enable LDAP administration through MFDS - then you will want to configure the MLDAP Security Manager in MFDS with a different Authorized ID and Password. (It's not safe to give the default MFReader account write permission to the repository, because that username and its password are available to anyone who reads the ES LDAP setup materials.)

Creating an ADAM user

  • To create an ADAM user, expand the CN=ADAM Users container, then create a new user object:
    • The cn is the only required attribute.
    • After creating the user, you can give it the appropriate permissions by editing the appropriate object in the CN=Roles container and double-clicking on the member attribute, which will give you a dialog where you can add users to that role. Adding your new user to the Administrators role will give it administrative access to the repository, for example.
    • You can also give your new user more-specific permissions by editing the ACLs for specific parts of the repository. See the ADAM documentation for more information.
Parent topic: Configuring the ADAM Repository


Adding MSS Users to the LDAP Repository

Many existing ES/MSS customers have created multiple MSS resource definition (RDO) files, to configure various ES servers (or "regions"). These RDO files may contain users defined for MSS. The es-ldap-setup script reads the default RDO file (files\sys\dfhdrdat under the product installation directory) and adds any user definitions in it to the LDAP repository. If you have other RDO files, though, you may want to extract user definitions from them and import them into LDAP for use with ES external security.

You can use the cas-to-ad.exe utility to migrate MSS user definitions into LDAP. Run "cas-to-ad -h" to get a syntax message. Current options are:

Option | use To | Default
-u user | Set username for AD connection (name or DN) | Current logon name
-p password | Set password for AD connection | None; if not set, you will be prompted
-d DN | DN for AD application partition | CN=Micro Focus,CN=Program Data,DC=local
-c container | container for added ES users | CN=Enterprise Server Users
-l host:port | Location of the AD server | localhost:389
-r path | Path to CAS RDO file | See below
-e encoding | Password encoding | md5 (the other option is "literal")
-v | Show version and exit | N/A
-h | Show syntax help and exit | N/A

Option values can be appended to the option character or specified as the next argument on the command line.

The CAS RDO file (always named dfhdrdat) that cas-to-ad will process is located as follows:

  1. If the -r option is used, cas-to-ad will use the specified path
  2. If not, cas-to-ad will see if the environment variable TXRDTP is defined, and if so will use that path
  3. If not, it will look for a dfhdrdat file in the current directory, and if one is present use it
  4. If not, it will look for the Net Express 5 (or Server 5) base directory Registry key, and use files\sys\dfhdrdat under that directory

The -e option controls how user passwords are stored in LDAP. The default is -e md5, which stores a salted MD5 hash of the password. The value of the microfocus-MFDS-User-Pwd attribute will have the form "MF-MD5:base64-salt:base64-hash", where base64-salt and base64-hash are character strings that contain base64-encoded data. This is an irreversible transformation (the hash can be used to verify the password but not to reconstruct it). The other encoding currently supported is -e literal, which stores the password in plain text, in the form "literal:password". This form is useful for debugging and when creating ES users using ADSIEdit.

Parent topic: Configuring the ADAM Repository


Enabling MFDS Administration for LDAP and User Password Changes

By default, ES uses the MFReader account to connect to the LDAP server. As its name suggests, MFReader does not have authority to make changes to the repository, only to read from it.

You may want to configure your MLDAP Security Manager in MFDS with different LDAP user credentials (Authorized ID and Password), to give it update access to part or all of the repository. You can configure it with credentials for an administrative user, or create a new LDAP user (see Adding Repository Objects using ADSIEdit) and then set ACLs in the LDAP repository (using ADSIEdit or other Microsoft tools) to give that user write access to specific parts of the repository.

For example, if you have created an ADAM user named "MFUpdate", you could give it write access to user objects by setting an ACL with the dsacls.exe ADAM utility:

dsacls "\\localhost\CN=Enterprise Server Users,CN=Micro Focus,CN=Program Data,DC=local" /I:S   /G "CN=MFUpdate,CN=ADAM Users,CN=Micro Focus,CN=Program Data,DC=local":WP

(Enter this command all on one line.)

Generally speaking, you do not want to give the MFReader LDAP user write access to the repository, because its name and password are well-known. Configure your security manager to use a different account instead, and be careful to keep that account's password a secret. (If non-privileged users have access to the system where MFDS is running, it's a good idea to set ACLs on the MFDS configuration files so that they can only be read by the account MFDS runs under, which is usually SERVICE.)

If an ES/MSS region is configured to use a MLDAP Security Manager that has update access to user objects, then interactive MSS users will be able to set their passwords when they sign on to the system (using the CESN transaction, or another program that calls the EXEC CICS SIGNON interface). This is particularly useful if you make use of the password expiration date attribute (microfocus-MFDS-User-Pwd-ExpirationDate) to force users to change passwords periodically, since it gives them a way to do so. (Note that the MLDAP ESM Module does not currently provide any way to automatically set the expiration date; that has to be done using some other tool.)

If MFDS is configured to use an MLDAP Security Manager that has update access to the various ES objects in the LDAP repository, then you can use MFDS to administer those objects. From the Security page of the MFDS administration GUI, go to the Security Managers tab, edit the Security Manager you have defined for LDAP, and click its Properties button. From there, you can view and edit users, groups, and resource access controls.

Parent topic: Configuring the ADAM Repository
Related information
Adding Repository Objects using ADSIEdit


Preparing Active Directory for Enterprise Server Security

  • 1. Prerequisites: Software
  • 2. Prerequisites - Information
  • 3. Prerequisites - Backups
  • 4. Extend the AD Schema
  • 5. Create LDAP Objects
  • 6. Final User Tasks
  • 7. Configure ES Security
Parent topic: Configuring Security using Active Directory
Related information
Prerequisites - Preparation


1. Prerequisites: Software

To perform the procedures in this section, you will need the following software:

  • ldifde.exe, the Microsoft LDAP utility that is shipped with ADAM and Active Directory Lightweight Directory Service (AD LDS).
  • Enterprise Server MFDS and the cas-to-ad utility, which are supplied with the product install.
  • The following LDIF (LDAP data) files, which are in your product installation, in the installation folder's base/bin folder.

    For example, in the default release 6.0 of Studio Enterprise Edition, the files are in the following location:

    C:\Program Files\Micro Focus\Studio Enterprise Edition 6.0\Base\Bin

    • mf-partition.ldf
    • mf-ad-containers.ldf
    • ms-user-plus-mto.ldf
    • es_default_ldap.ldf or es_default_ldap_msuser.ldf (only one of these is used)
  • Command Window and PATH
  • Establishing a Work Directory and Copying Files
  • ldifde Notes
Parent topic: Preparing Active Directory for Enterprise Server Security


Command Window and PATH

Since some of the commands described in the procedures in this section require the correct enivronment, use a Net Express command prompt. This is available from the Windows Start menu under the Enterprise Server applicatication, Compatibility Tools > Net Express Command Prompt option.

After opening the command prompt, use the following command to add the ADAM installation directory to your path:

path %windir%\adam;%path%

The mfds and cas-to-ad commands need to be run from a system with the COBOL development system installed, for example Micro Focus Enterprise Edition. The ldifde command can be run on the domain controller instead, if you find that more convenient.

Parent topic: 1. Prerequisites: Software


Establishing a Work Directory and Copying Files

We recommend creating and using a new work directory for this procedure, as that makes it easier to keep track of the files you use and create:

mkdir mf-ad-setup
cd mf-ad-setup

After creating your work directory, you will need to copy the LDIF files into it. These files are in the Base\Bin directory of your product installation.

If these files are not included with the product, contact Micro Focus Support.

Parent topic: 1. Prerequisites: Software


ldifde Notes

Several of the steps in this process use the Microsoft ldifde utility, a relatively complex command-line utility with many options. You may want to read the documentation for ldifde that comes with ADAM.

Here are some tips for using ldifde:

  • The ldifde command reads an LDIF file (with a .ldf extension) and updates AD with the objects listed in the file. LDIF files are text files and can be edited in editors such as Notepad.
  • Many of the ldifde command lines shown below use the -c option, which takes two strings as parameters, and changes the first string to the second wherever it appears in the input. For example, the parameter -c DC=X DC=mydom,DC=com changes DC=X in the .ldf file to DC=mydom,DC=com. You would use this to customize the information in the default .ldf files for your installation.
  • You can copy the .ldf files to your AD server and run ldifde there, or you can run it on a system with Net Express installed, and then update AD remotely with the modified .ldf files.
  • ldifde has to bind (log on to) AD in order to make changes to the directory. If you are not logged on as an authorized AD user, you can add -b username domain password to the ldifde command line to specify the authorization to use.
  • In the ldifde command lines below, the -s servername option tells ldifde the hostname of the AD server. If you are running on the AD server, or if your AD server is the domain controller for the domain that you are running in, you can omit the -s servername option.
  • Each time you run ldifde (with the -j . option), it creates an ldif.log file in the current directory. If there are errors or warnings, it creates an ldif.err file as well. If the files already exist, they will be overwritten. We recommend you rename the log file after each ldifde run (eg to ldif-1.log, ldif-2.log, etc) so you can send them to Micro Focus Support if you have problems. If an ldifde command fails, you can check the log and error files for more information.

A typical ldifldifdede command has these parts:

Ldifde | Command name
-i | Command type: import data into AD
-f filename.ldf | Specify LDIF file to import from
-s servername | Hostname of AD server
-k | Keep going even if some entries can't be processed
-j . | Create log files in current directory
-c from-string to-string | Change from-string in data to to-string. This lets you customize a generic LDIF file for your installation. For example, from-string might be the placeholder DC=X, and to-string might be your domain DN.
Parent topic: 1. Prerequisites: Software


2. Prerequisites - Information

You will need the following:

  • A user account authorized to make AD schema changes (shown as username and password below).
  • The location of the AD server (shown as servername below).
  • The user class you will use.

    This can either be microfocus-MFDS-User (supplied by Micro Focus), if ES users will be separate from Windows users, or user (supplied by Microsoft and modified by Micro Focus) to use your Windows user accounts for ES. (Shown as userclass below.)

  • The DN of the AD domain (shown as domain-DN below).

    Normally, this will be the fully-qualified domain name of the AD host, minus the hostname, with each segment of the name listed as a separate DC element, so for example server.dept.mydom.com would use DC=dept,DC=mydom,DC=com. If you are using ADAM, you may want to use the default domain DN for ES LDAP data, which is "CN=Micro Focus,CN=Program Data,DC=local".

  • The DNs of the containers for users, ES user groups, and ES resources, if you are going to use something other than the default values.

    ES groups and resources are used only by ES, so we recommend you use the defaults (located in CN=Micro Focus,CN=Program Data) for their containers.

    If you are using the Micro Focus user class (microfocus-MFDS-User), you can use the default ES user container (CN=Enterprise Server Users,CN=Micro Focus,CN=Program Data, below the domain-DN) as well.

    On the other hand, if you want to let existing Windows users sign on to ES without creating separate ES user accounts for them, you will need to configure ES to use your existing user container in AD (usually CN=Users). Use that for your user container (shown as user-container below) in the following commands as well.

Parent topic: Preparing Active Directory for Enterprise Server Security


3. Prerequisites - Backups

Before you make any AD modifications we recommend you back up your AD schema and Directory Information Tree (DIT). You may already have standard procedures for this. If not, you should make a backup of the contents of the %WINDIR%\ntds directory to another location. This way you can drop the server (assuming Server 2003) into "Directory Server Recovery" mode and restore your previous AD data if you ever have to.

Note that the contents of that directory are in use when the server is running, so ordinary copy commands generally will not work. Some ways you can back up your AD information:

  • Make the backup in Directory Server Recovery Mode (press F8 while booting the AD host to enter Recovery Mode)
  • Use a backup utility such as the Backup applet that comes with Windows, or the ntbackup command-line equivalent (this does not require a reboot)
  • Use a utility to schedule a copy when the system is rebooted, such as SysInternals movefile (and then reboot to effect the copy)

Consult your Windows documentation for more information.

You may also wish to export your current LDAP hierarchy to an LDIF file for later reference, using a command such as:

ldifde -f export-file -s servername -r "(objectclass=*)" -d "CN=Schema,CN=Configuration,domain-DN"
Parent topic: Preparing Active Directory for Enterprise Server Security


4. Extend the AD Schema

Create the Micro Focus AD format schema extension LDIF file (enter this and all other commands on a single line):

mfds -L "CN=Schema,CN=Configuration,domain-DN" 1 mfds-schema.ldf

This will create the file mfds-schema.ldf. Use the latest WS03 build MFDS (1.06.11 or later) for this operation to ensure you have the latest schema definitions.

Import MF schema extensions into AD:

ldifde -i -f mfds-schema.ldf -s servername -k -j .

If you are updating a remote AD server, this command may take a minute or two. When it's done, remember to rename the log files, as described above.

Note:

If you want to use the Microsoft user object class for your ES users, you must extend it with additional Micro Focus attributes:

ldifde -i -f ms-user-plus-mto.ldf -s servername -k -j . -c "DC=X" "CN=Schema,CN=Configuration,domain-DN"
Parent topic: Preparing Active Directory for Enterprise Server Security


5. Create LDAP Objects

  • Containers
  • ES/MSS Objects
Parent topic: Preparing Active Directory for Enterprise Server Security


Containers

Create the Micro Focus partition. You will need to edit the mf-partition.ldf file first if you do not want to use CN=Micro Focus,CN=Program Data as the container for the ES definitions.

ldifde -i -f mf-partition.ldf -s servername -k -j . -c "DC=X" "CN=Program Data,domain-DN"

You can copy the .ldf files to your AD server and run the command there, or run it from a system with Net Express.

Next create the standard MF containers. If you want to use a different container for users, user groups, or resources, you may need to edit the mf-ad-containers.ldf file first. You may also have to edit some of the other .ldf files or make changes to some of the commands that follow.

We recommend using the standard containers, with one exception: if you are using Windows users for ES users, you will want to use the existing AD user container. You don't need to do anything different in this step for that.

The command to create the standard MF containers is:

ldifde -i -f mf-ad-containers.ldf -s servername -k -j . -c "DC=X" "CN=Micro Focus,CN=Program Data,domain-DN"
Parent topic: 5. Create LDAP Objects


ES/MSS Objects

Import the predefined ES/MSS users, user groups, and resource access control definitions from the default LDAP configuration into your AD repository. The LDIF file you use depends on the user class you have chosen.

Run only one of the following two commands.

  • If you are using the default, ES-only microfocus-MFDS-User class:
    ldifde -i -f es_default_ldap.ldf -s servername -k -j . -c "DC=X" "domain-DN"

    es_default_ldap.ldf uses the default Micro Focus containers for ES users, groups, and resources.

  • If you are using the Microsoft user class, so that Windows users can also be ES users:
    ldifde -i -f es_default_ldap_msuser.ldf -s servername -k -j . -c "DC=X" "domain-DN"

    es_default_ldap_msuser.ldf uses the default Micro Focus containers for ES groups and resources, and the default AD user container (CN=Users) for users.

When you run this command, you will probably get warnings about objects that do not exist. You can ignore these warnings. They are generated because these .ldf files try to delete any existing instances of the objects they create.

Parent topic: 5. Create LDAP Objects


6. Final User Tasks

Some user attributes may need to be set manually (using AD administration tools or hand-written LDIF files) after importing the ES definitions.

  • Set MSS Attributes for Windows Users
  • Enabling ES Predefined Users
  • Disable Password Expiration for ES Users
  • Remove Predefined Users
Parent topic: Preparing Active Directory for Enterprise Server Security


Set MSS Attributes for Windows Users

If you are using your existing Windows users as ES users, you will probably want to set some of the new MSS-specific user attributes for at least some of them. For example, the microfocus-MFDS-User-MTO-Timeout attribute sets the MSS timeout for that user. See the ES/MSS documentation for more information.

You will also probably want to add existing users to MFDS and MSS user groups to reflect their roles (developers, administrators, etc). Note these are ES user groups, not Windows user groups, so you change them by modifying your AD repository with an LDIF file or a tool such as ADSIEdit. The ES/MSS documentation includes information on ES user groups. For example, you can add Windows users to the #DSAdmin group in Enterprise Server User Groups to make them MFDS administrators; to give a user permission to start and stop ES regions, set their default group attribute microfocus-MFDS-User-DefaultGroup to SYSADM.

You can make these changes manually using a tool for administering AD data, such as ADSIEdit. For bulk changes, though, you will probably want to create LDIF files to update multiple users, groups, or resources at once.

Parent topic: 6. Final User Tasks


Enabling ES Predefined Users

If you use the Microsoft user object class, AD will probably disable the new predefined ES users. If you want to use ES predefined users such as SYSAD (for starting and stopping ES regions) and schemaadmin (for MFDS administration), you will need to enable them. On your AD server, open the AD user manager (Active Directory Users and Computers) console. Select one or more users in the right pane, then choose Action > Enable Account from the main menu.

Parent topic: 6. Final User Tasks


Disable Password Expiration for ES Users

The Microsoft user object class uses Windows passwords, which means normal Windows password rules in the domain security policy apply, including password expiration. Some administrators would prefer that the passwords for the predefined ES users (such as mfuser and SYSAD) not expire, since these are not normal login accounts. You can edit these users using standard Windows user administration tools and set the Password does not expire option for them.

Parent topic: 6. Final User Tasks


Remove Predefined Users

Some administrators may choose to delete the predefined ES users after installation, and use only existing Windows user accounts for administering ES and signing on to MSS. We recommend doing this only after verifying basic ES operation with security enabled, since that will make it easier for Support to diagnose any problems.

You should not remove the default user accounts CICSUSER, JESUSER, IMSUSER, and mfuser, unless you specify different default accounts in the ES configuration (see the ES/MSS documentation for details). You can disable these accounts in Windows to prevent anyone from using them to log on to Windows.

If you remove the mf_cs and mf_mdsa users, you will not be able to run nonsecured ES servers using the default options.

Be sure you have another account for MFDS administration before removing the schemaadmin user.

Also, if you used CN=Users as your user container above, you can remove the empty CN=Enterprise Server Users container.

Parent topic: 6. Final User Tasks


7. Configure ES Security

To use the ES security information in LDAP, you will need to configure ES security:

  • Create one or more Security Managers to connect to your LDAP server. You need to set various attributes for these managers:
    • The module name to mldap_esm
    • The connection path to ldap://servername (or ldaps://servername to use an SSL-secured connection, if your LDAP client and server support SSL)
    • The authorized ID and password to the name (usually a DN) and password of an account that has at least read permission for the ES objects in the directory
    • In the Configuration Information area, you will probably need to add a number of directives to alter the default behavior, for container DNs, user class, and so forth. For example, when using Windows users for ES, a typical configuration would be:
      [LDAP]
base=domain-DN
user container=CN=users
group container=CN=Enterprise Server User Groups,CN=Micro Focus,CN=Program Data
resource container=CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data
user class=user

[Verify]
mode=bind
password type=AD
  • Alter the security configuration for MF Directory Server, ES Default Security, and/or specific ES servers to use your new Security Manager

See the product documentation for more information. (In particular, see the documentation for the MLDAP ESM Module for information on configuring the module to match your AD setup.)

Parent topic: Preparing Active Directory for Enterprise Server Security


Configuring Windows Users as Enterprise Server Administrators

With this configuration:

  • Windows users are stored in Active Directory.
  • Enterprise Server uses Windows user authentication to authenticate administrators. You can restrict access to ES/MSS to a subset of Windows users by setting the appropriate ES/MSS resource permissions.

    Windows manages passwords (so Windows password policies will apply).

  • Enterprise Server administrators sign on with their Windows usernames and passwords
  • Other user attributes (for example operator class) are stored as additional attributes of the Windows user objects in AD.

For many installations, this provides the best of both worlds: mainframe-compatible security for Enterprise Server, but there is only one set of user accounts, and they're managed with standard Windows tools.

This configuration uses two ESM modules. Both use Active Directory, but through different interfaces, and they perform different tasks.

  • The OS ESM module processes user sign-on (Verify) requests by calling standard Windows APIs for user login and (if requested) password change. Windows handles these calls by communicating with the domain controller, which reads and updates Active Directory.
  • The MLDAP ESM module makes LDAP requests to AD to get user attributes and resource access control rules.

As with most ESF security configurations, this type can be used for some or all Enterprise Server instances and/or for MFDS.

Note: The content in this topic assumes that you have read the previous content, and are familiar with Active Directory and LDAPs.
  • Overview
  • Configuring ES and AD
Parent topic: Configuring Security using Active Directory


Overview

  • The OS ESM Module
  • The MLDAP ESM Module
  • The Security Manager Stack
  • Objects and Attributes in Active Directory
Parent topic: Configuring Windows Users as Enterprise Server Administrators


The OS ESM Module

The OS ESM module uses the Windows OS as an external security manager. It is quite simple, with only a handful of configuration options (for passtoken support), and it only supports ESF Verify (user signon) requests. It uses the Windows LogonUser function to check whether the user has supplied the correct password and is allowed to log into the system. Windows security policy rules such as restricted logon hours will be applied automatically, and if a user's password has expired and they have not supplied a new password, the request will be rejected with a must-change-password status. In other words, an MSS signon using this ESM will behave much like a conventional Windows login.

If the user requested a password change, the ESM module will call the Windows NetUserChangePassword function to attempt to change the password. Again, this is essentially the same as a conventional Windows login where the user specifies a new password.

Note that currently MSS restricts the length of usernames and passwords (see the ES documentation for details). Also, usernames or passwords that use non-ASCII characters may not work correctly.

Parent topic: Overview


The MLDAP ESM Module

The MLDAP ESM module lets you use an LDAP server as an external security manager. It is relatively full-featured and has a number of configuration options. By default, it implements ES security using LDAP object classes defined by Micro Focus; these objects are used only by ES, and not integrated with security for the OS or other applications.

However, the MLDAP ESM module can be configured to use other LDAP object classes (and containers, so it does not require the default directory hierarchy). By itself, this is not sufficient to completely integrate with Windows security, because the MLDAP ESM module cannot use Microsoft user password attributes; so if you used just the MLDAP ESM with Microsoft user classes, users would have separate passwords for Windows and MSS. In conjunction with the OS ESM, however, the MLDAP ESM will ignore the user password attribute (and other attributes used only for user signon) defined by Micro Focus, if the OS ESM has already verified the user using Windows.

Parent topic: Overview


The Security Manager Stack

An ESF configuration is defined (in MFDS) as one or more security managers, arranged in a list or stack. A security manager is an ESM module plus its configuration information, and a stack specifies which security managers will be used, and in what order they'll be called.

The configuration presented here will include a security manager using OS ESM and another manager using MLDAP ESM, configured to use the Microsoft user LDAP object class for users (rather than the default Micro Focus user class). These managers will be stacked so that the OS ESM is called first.

For Verify requests, ESF will call the OS ESM, which will use Windows to authenticate the user, as described above. Then (if the user is successfully verified) ESF will call the MLDAP ESM, which will load the user's MSS attributes from AD.

For Auth requests, ESF will only call the MLDAP ESM, since the OS ESM does not implement Auth. The MLDAP ESM will apply the access control rules defined in AD.

Parent topic: Overview


Objects and Attributes in Active Directory

With this configuration, ES will use a combination of Microsoft and Micro Focus object classes in Active Directory.

The Windows APIs invoked by OS ESM during Verify requests operate (indirectly) on the Windows security principals defined in AD. (More information on Windows security principals is available from the Microsoft Developer Network and similar resources.) These principals typically use LDAP object classes defined by Microsoft, such as user. Those classes have attributes such as cn (common name), which is the (base) username, and password, which contains the Microsoft hashed password.

In this configuration, the object class used for users will be extended to include attributes defined by Micro Focus. These attributes (which begin with "microfocus-MFDS-") are ignored by Windows, but ES will use them to set session characteristics when a user logs in, such as timeout and operator class. When a user signs on to MSS or MFDS, the MLDAP ESM will retrieve the values of those attributes from the user object.

Also during signon, the MLDAP ESM module will consult the ES user group lists. These are specified with microfocus-MFDS-User-Group objects, and they allow a user to belong to multiple MSS groups. Note that at this time ES does not use Windows user groups to control access to MFDS and MSS resources, even with this configuration.

Since OS ESM is handling the actual user credential verification, some of the attributes that Micro Focus defines for ES users are not used:

Unused Micro Focus User Attributes

Attribute Name | Description
microfocus-MFDS-User-Pwd | Micro Focus user password hash
microfocus-MFDS-User-Pwd-ExpirationDate | password expiration
microfocus-MFDS-User-Pwd-MustChange | password must-change flag
microfocus-MFDS-User-AllowLogon | allow-logon flag
microfocus-MFDS-User-ExpirationDate | user expiration
microfocus-MFDS-User-CreateToken | passtoken creation authority (if tokens are enabled in OS ESM)
microfocus-MFDS-User-UseToken | passtoken signon authority (if tokens are enabled in OS ESM)

Instead, the Windows password, expiration date, etc will be used. Note that the two passtoken attributes are used unless passtoken support is explicitly configured in OS ESM.

For resource access (Auth) requests, the MLDAP ESM will retrieve MF resource object access control data from microfocus-MFDS-Resource objects in AD.

Parent topic: Overview


Configuring ES and AD

This section describes one set of configuration options for ES and AD to enable integrated user accounts, with the same user information used for Windows and ES/MSS logins. Many other variations are possible, so you may want to adapt this to the needs of your installation.

  • Prerequisites
  • Active Directory
  • Restrictions
  • For More Information
Parent topic: Configuring Windows Users as Enterprise Server Administrators


Prerequisites

You will need a suitable user object class defined in your Active Directory schema. This can be any class that can be used to define Windows security principals. For this example, we will use the user class defined by Microsoft (in the LDIF file MS-user.ldf, included with Active Directory).

You will also need to have populated your Active Directory repository with some users. You may have already defined your Windows domain users in Active Directory, or you may want to define just a few users for a trial implementation.

You will need to have updated the Active Directory schema with the Micro Focus object class definitions for user groups and resource access rules, and created the containers for those objects. Generally, you will also want to have installed the user group and resource access definitions included with the default ES/MSS security configuration, which you can edit later to suit your requirements. Usually all of this is done by installing the default security configuration included with ES/MSS, which is contained in es_default_ldap.ldf and installed using the es-ldap-setup.cmd script. This script is provided as a sample, and may need to be modified for your installation, particularly if you are using the full Active Directory (rather than ADAM) as your LDAP server for Enterprise Server.

The default configuration includes a number of built-in user accounts ( CICSUSER, SYSAD, etc). If you want to use the default configuration, you will need to add these users to Active Directory in a separate operation, as described below in the "Active Directory" section.

Parent topic: Configuring ES and AD


Active Directory

For this configuration, you will need to make the following changes to your Active Directory installation:

  1. Extend the Active Directory schema with definitions for the Micro Focus LDAP classes for user groups and resource access control rules.
  2. Add the object containers, user groups, and resource rules from the default Micro Focus LDAP security configuration to your Active Directory repository. (You can edit these later to meet your requirements.)
  3. Extend the Active Directory schema to add the ES/MSS user attributes to the user class (or whatever LDAP object class you use to define your Windows users).
  4. (Optional) Import the predefined MFDS and ES/MSS users from the default LDAP configuration into your AD repository.
  5. Set the MSS attributes for your Windows users as necessary.
  6. Add Windows users to the appropriate MSS groups.
  • Micro Focus User Groups and Resource Rules
  • Adding MSS User Attributes to the user Class
  • Importing MSS Users
  • Setting MSS User Attributes for Windows Users
  • Adding Windows Users to MSS Groups
  • Configuring Operating System Security: osesm
  • Configuring mldap_esm Security Manager for an LDAP
  • An ES Server Security Configuration
  • Testing
  • Default Server and MFDS Configuration
Parent topic: Configuring ES and AD


Micro Focus User Groups and Resource Rules

The first two steps are normally accomplished by running the es-ldap-setup.cmd command script, just as if you were using the default Micro Focus LDAP security configuration (with MSS users defined using the microfocus-MFDS-User class). See "Setting-Up-LDAP-Security-with-Enterprise-Server.html" for more information.

Parent topic: Active Directory


Adding MSS User Attributes to the user Class

To update the definition of the user class in the Active Directory schema with the MSS user attributes, you can import the LDIF file ms-user-plus-mto.ldf, which should have been included with this document. Typically, you'll use a command line like the following:

ldifde -i -f ms-user-plus-mto.ldf -k -v -j . -c "DC=X" #schemaNamingContext

(Specify this command all on one line.)

For those unfamiliar with the ldifde command, the parameter #schemaNamingContext is a symbolic constant that will be replaced with the DN of the schema in your LDAP directory. The parameter DC=X is a placeholder in the LDIF file that will be replaced with the value of #schemaNamingContext by ldifde as it processes the file. So where the LDIF commands in the file specify "DC=X", they will actually update the LDAP schema.

If you are using a class other than user for your Windows users, you'll have to modify this LDIF file before importing it. See your Active Directory documentation or other LDIF reference material for more information on LDIF files.

Parent topic: Active Directory


Importing MSS Users

If you want to use the predefined users from the default LDAP configuration supplied by Micro Focus, you can import the LDIF file mto-users.ldf, which should have been included with this document. Typically, you'll use a command line like the following:

ldifde -i -f mto-users.ldf -k -v -j . -c "DC=X" user-container

(Specify this command all on one line.) user-container should be the distinguished name (DN) of the LDAP container that holds your Windows users.

If you are using a class other than user for your Windows users, you'll have to modify this LDIF file before importing it. See your Active Directory documentation or other LDIF reference material for more information on LDIF files.

Parent topic: Active Directory


Setting MSS User Attributes for Windows Users

You may want to set MSS user attributes, such as operator class or MSS user timeout, for some of your Windows users. Currently, this must be done manually using an AD administrative tool such as ADSIEdit, or by writing and importing a custom LDIF file. The MSS user attributes are listed briefly below; see the product documentation for more information.

MSS User Attributes

Attribute Name | Description
microfocus-MFDS-UID | Micro Focus user unique identifier; currently unused
microfocus-MFDS-User-MTO-Priority | MSS user priority
microfocus-MFDS-User-MTO-Timeout | MSS user timeout
microfocus-MFDS-User-MTO-OperatorClass | MSS operator class
microfocus-MFDS-User-MTO-OperatorID | MSS operator ID
microfocus-MFDS-User-MTO-GroupPrefix | MSS group prefix
microfocus-MFDS-User-CustomText | MF custom text field; currently unused
microfocus-MFDS-User-DefaultGroup | MSS default group
microfocus-MFDS-User-UseToken | passtoken signon authority (if tokens are not enabled in OS ESM)
microfocus-MFDS-User-CreateToken | passtoken creation authority (if tokens are not enabled in OS ESM)

Micro Focus plans to provide additional tools to maintain MSS user attributes in future releases.

Parent topic: Active Directory


Adding Windows Users to MSS Groups

MSS resource access is typically controlled by rules that apply to user groups rather than to individual users, so you will probably want to add your Windows users to MSS user groups (SYSADM, etc) as appropriate. See the product documentation for more information about MSS user groups and how groups are used.

MSS user groups will be defined in the user group container that was created as part of the initial ES LDAP setup process. Usually this container is called "Enterprise Server User Groups".

Adding a user to a group is simply a matter of adding that user's common name (CN), which is the user's Windows login name (without any domain prefix or suffix), to the microfocus-MFDS-Group-Member attribute of the appropriate group. This is a multi-valued attribute, so it can have any number of user names specified for it. You will need to use an AD administration tool such as ADSIEdit or a custom LDIF file to make this change.

Once you have completed ES configuration, you may be able to use the MFDS user group administration screens to add or remove users from groups. (This depends on appropriate configuration in MFDS, appropriate permissions granted to the user account used by the ESM module, and other factors, so it may not work for all installations.)

Micro Focus plans to provide additional tools to maintain MSS user groups in future releases.

Parent topic: Active Directory


Configuring mldap_esm Security Manager for an LDAP

The default mldap_esm security manager settings are designed for the simple LDAP configuration using ADAM or Active Directory Lightweight Directory Service (AD LDS) and the Micro Focus user class. Before the mldap_esm security manager can update the information in an LDAP server, you need to set a number of configuration options.

  • Set Connection Path to the IP address and port of the LDAP server (for example ad-host:389)
  • Set Authorized ID to the DN of a user with appropriate permissions for the LDAP repository (for example CN=Administrator,CN=users,DC=somecorp,DC=com ). This user must have at least read access to the containers for user definitions, MSS user groups, and MSS resource access rules, and their contents. If you want to use the MFDS administration console to change user groups and resource access rules, this ID will also need update access to those portions of the repository.
  • Set Password to the password for the user specified in Authorized ID.
  • In Configuration Information, you will need to set a number of LDAP parameters:
    [LDAP]
base=DN-suffix
user class=user class
user container=user-container
group container=group-container
resource container=resource-container
    DN-suffix | The common part of the DN for your user container, MSS group container, and MSS resource rules container. For example, if your users are in CN=users,DC=somecorp,DC=com, and your MSS containers are in CN=MF,DC=somecorp,DC=com, you could set base to DC=somecorp,DC=com.
    user class The LDAP object class used for your users. The following options are available:
    • microfocus-MFDS-User

      This is the default setting.

    • user

      Microsoft standard users are used and you cannot add or modify users from the MFDS user interface.

    user-container | The DN of the container for user objects, without the "base" suffix, for example: CN=users
    group-container | The DN of the container for MSS user group objects, without the "base" suffix, for example: CN=Enterprise Server Groups,CN=MF
    resource-container | The DN of the container for resource access class containers (which in turn hold resource access definition objects), without the "base" suffix, for example CN=Enterprise Server Resources,CN=MF
Parent topic: Active Directory
Parent topic: Configuring Security Using OpenLDAP


An ES Server Security Configuration

Now you need to create a security configuration for an Enterprise Server region to test the security managers and LDAP installation. You can use the "Default ES Security" configuration for this, but you may wish to set this security configuration just for a single test server initially.

To create the default ES security configuration, which will be used for all ES servers defined by that MFDS that do not have an individual security configuration, go to the "Default ES Security" tab under Configure Security Options. To create a security configuration for just one server, edit that server and select the "Security" tab, then uncheck the "Use default ES Security Manager configuration" option.

Your security configuration will specify the Security Managers you created in the previous two steps, with the OS ESM manager first:

To create this configuration, uncheck Use default ES Security Manager configuration (if it is checked) and click Apply. Then click the Add... button under Security Manager List to get the list of security managers. Choose the security manager you just defined for OS ESM (we called it "Windows" above) and click Add. Repeat the process to add the security manager you just defined for MLDAP ESM (called "Active Directory" in the previous step).

Make sure that the OS ESM manager is first in the list. If the security managers end up in the wrong order, use the down-arrow button to the right of the list to switch them.

Set any additional options that are appropriate for your requirements. See the Enterprise Server Security documentation for details.

Click OK to save the security configuration.

Parent topic: Active Directory


Testing

To test the security configuration, try to start the ES server you just configured. If it fails to start, look for errors in your MLDAP ESM Security Manager configuration, which is the most likely source of trouble.

When the server starts, try to sign on to CICS or ESMAC with your Windows username and password. You should also be able to change your password from those signon screens. (Remember that you will be changing your Windows domain password!)

You may also want to test resource access control. For example, the CICS transaction CENV should be available to all users (assuming the default ES/MSS security configuration rules are being used), but the CINQ transaction is only available to members of the OPERATOR and SYSADM groups. So with two test users (or one user that signs on using different signon groups, if you are not using the "Use all groups" option), you can confirm whether group permissions are being applied correctly.

Parent topic: Active Directory


Default Server and MFDS Configuration

Once you are satisfied with your security configuration, you may want to make it the default configuration for all ES servers (if it isn't already), or make it the security configuration for MFDS as well.

To make it the default ES security configuration, go to the Security options in MFDS, then to the Default ES Security tab, and follow the instructions listed above for creating the security configuration.

To make it the MFDS security configuration, you can either do the same on the MF Directory Server security tab, or, if you have made it the default ES security configuration, go to that tab and select the Use default ES Security Manager List option. Note that MFDS security is somewhat more complex than ES security, and consequently you're more likely to run into configuration issues with MFDS.

Parent topic: Active Directory


Restrictions

In this initial release, there are a number of restrictions and usability issues with this security configuration. Most of these should be remedied in later releases. Also, check the Readme file and other materials, as additional utilities may have been included after this document was written.

  • MSS User Migration
  • User Administration with MFDS
  • User Search Order
  • Windows Groups Not Used by ESF
Parent topic: Configuring ES and AD


MSS User Migration

This release of ES does not include a tool for migrating existing MSS users, defined in the Resource Definition (RDO) file dfhdrdat, to LDAP user classes other than microfocus-MFDS-User. The cas-to-ad tool that is used by es-ldap-setup can only create Micro Focus user objects.

If you have a significant number of MSS users (who are not already Windows users) to migrate, you may want to use the casrdtex utility to export the RDO definitions to a text file, which could be processed into an LDIF file using a scripting language such as Perl.

Parent topic: Restrictions


User Administration with MFDS

MFDS includes some administration capabilities for LDAP external security managers, if it is configured appropriately. (MLDAP must be using the ESM in question for its security, and the ESM must be configured with a user ID that has update authority for the LDAP objects. See the MFDS documentation for more information.)

With the configuration described in this document, MFDS can usually be used to administer MSS user groups and resource access definitions. Also, some user administration operations will succeed. However, other operations, such as changing the user's password, will either fail or have no effect, because they will update one of the user attributes which are not used in this configuration.

Parent topic: Restrictions


User Search Order

The OS ESM module uses the Windows LogonUser function to verify a user's credentials (username and password), in the following manner:

  1. Try LogonUser with the username and password, and the domain parameter set to ".", which means to search the local system.
  2. If that fails, call LookupAccountName to try to find the domain in which the user is defined. According to Microsoft's documentation, this will first search well-known names, then local accounts, then the primary domain, then other trusted domains, and then (for Windows 2000 and later) the domain forest.
  3. If LookupAccountName succeeds, try LogonUser again with the domain returned by LookupAccountName.

If a user is defined in multiple places on that search list, the OS ESM module only tries to authenticate the user in the first one it finds. Normally this will have the expected behavior (much like logging on to Windows conventionally), but in a complex domain configuration situation it could produce confusing results.

Currently there is no provision for forcing a particular domain or changing the search order. Those options may be added in later releases.

Parent topic: Restrictions


Windows Groups Not Used by ESF

ESF does not make any use of Windows user groups. All group-related resource access control is performed using MSS user groups.

Note, though, that Windows security policies which contain group rules that affect user login, such as restricting logins to particular hours of the day, will still have effect for users in those groups, just as they do for Windows login.

Parent topic: Restrictions


For More Information

For additional information about Active Directory or LDAP, consult your Microsoft documentation.

If you have questions, please contact Micro Focus Support.

Parent topic: Configuring ES and AD


Configuring Active Directory Users as Enterprise Server Administrators

With this configuration:

  • Windows users are stored in Active Directory, but Enterprise Server does not use Windows user authentication to authenticate administrators. You maintain user information and Enterprise Server administrator passwords using your LDAP management software.
  • Other user attributes (for example operator class) are stored as additional attributes of the Windows user objects in AD
Note: The content in this topic assumes that you have read the previous content, and are familiar with Active Directory and LDAPs.
  • Prerequisites - Software
  • Prerequisites - Information
  • Prerequisites - Preparation
  • Giving a User ES Administration Authority
  • Create ES Security Managers
  • Setting the Default ES and MFDS Security Configuration
  • Verify the Security Configuration
Parent topic: Configuring Security using Active Directory


Prerequisites - Software

The following software is required to perform these procedures:

  • ADAM-ADSIEdit.msc, the Microsoft AD management console that is shipped with ADAM. You can run this from the Start menu or from the command line.
Parent topic: Configuring Active Directory Users as Enterprise Server Administrators


Prerequisites - Information

You will need the following information:

  • A user account authorized to make AD schema changes (shown as AD-admin and AD-password below).
  • The user account in the domain controlled by your AD server that you will be granting ES administrative authority.

    To simplify the process we recommend that this account have a name that is no longer than eight characters, ASCII, and has no spaces; and that the account's "Common name" (the name that appears in the list of users on the domain controller, in the Active Directory Users and Computers console) be the same as its "Logon name" (shown in the Account tab of the user's Properties in Users and Computers). Also, you may run into problems if this account exists both on the domain and the local computer, with the same name but with different passwords.

    This account is shown as ES-admin and ES-password below.

  • The location of the AD server (shown as servername below).
  • The DN of the AD domain (shown as domain-DN below). Normally, this will be the fully-qualified domain name of the AD host, minus the hostname, with each segment of the name listed as a separate DC element, so for example server.dept.mydom.com would use:

    DC=dept,DC=mydom,DC=com

Parent topic: Configuring Active Directory Users as Enterprise Server Administrators


Prerequisites - Preparation

This procedure assumes that you have already:

  • Followed steps 1 to 5 in the process described in Setting Up Security with Active Directory to configure your Active Directory schema and repository for ES LDAP-based security.

Installed an Enterprise Server product on at least one system.

Parent topic: Configuring Active Directory Users as Enterprise Server Administrators
Related concepts
Preparing Active Directory for Enterprise Server Security


Giving a User ES Administration Authority

  • Start ADSIEdit
  • Connect to Active Directory
  • Make the User an MSS System Administrator
Parent topic: Configuring Active Directory Users as Enterprise Server Administrators


Start ADSIEdit

The ADAM-ADSIEdit management console lets you modify objects in the AD repository. You can use other LDAP tools to make these changes - for example, you can create LDIF files and use the ldifde utility to import them, which is useful for making changes in bulk - but this example uses ADSIEdit.

Run Start > All Programs > ADAM > ADAM ADSI Edit.

Parent topic: Giving a User ES Administration Authority


Connect to Active Directory

  1. In the left pane, select ADAM ADSI Edit.
  2. From the menu, select Action > Connect to...
  3. Enter the servername (the hostname of your AD server) for the connection name and server name. Select Distinguished name (DN) or naming context and enter the domain-DN. This is similar to: DC=dept,DC=mydom,DC=com Set the authorized user name and password to AD-admin and AD-password if you're not already logged on as that user.
Parent topic: Giving a User ES Administration Authority


Make the User an MSS System Administrator

  1. In the left pane, open your new connection and the folder inside it, then select the CN=Users folder, which contains your domain's users.
  2. In the right pane, select the user you want to modify (CN=ES-Admin).
  3. Choose Action > Properties.
  4. Widen the Attribute column so you can read the full name of each attribute. Scroll down to find the microfocus-MFDS-User-DefaultGroup attribute and double-click it.
  5. Set the attribute's value to SYSADM. This sets the MSS default group for the user; the SYSADM group has permission to start ES and so forth in the default ES LDAP security configuration. Click OK and close the Properties window.
Parent topic: Giving a User ES Administration Authority


Create ES Security Managers

  • MFDS Security Configuration Screen
  • LDAP Security Manager
Parent topic: Configuring Active Directory Users as Enterprise Server Administrators


MFDS Security Configuration Screen

Open a browser window and connect to http://es-host:86, where es-host is the hostname of the system running your COBOL development system.

On the left-side menu, click on Security.

Parent topic: Create ES Security Managers


LDAP Security Manager

You will need to create a security manager to get security rules from AD over LDAP, using the MLDAP ESM Module:

  1. Select the Security tab and click Add.
  2. Enter the following information:
    Fieldname | Contents
    Name | LDAP
    Module Name | mldap_esm
    Connection Path | The servername
    Authorized ID cn=AD-admin,cn=users,domain-DN, for example:

    cn=administrator,cn=users,DC=dept,DC=mydom,DC=com

    Password | AD-password
  3. In the Configuration Information text box, enter the following:
    [LDAP]
base=[domain DN]
user class=user
user container=CN=Users
group container=CN=Enterprise Server User Groups,
  CN=Micro Focus,CN=Program Data
resource container=CN=Enterprise Server Resources,
  CN=Micro Focus,CN=Program Data

[Verify]
mode=bind
password type=AD
  4. Click Add

Note that in a production environment you would not want to use your AD administrative ID for the security manager, since that would create a security risk. It is shown only for convenience here.

In production, you would use an ID that had only the necessary permission for the repository, based on your intended use. (Basic ES security functions only need read access to the user information and the folders under cn=Micro Focus,cn=Program Data. If you want to use MFDS to administer ES groups and resources under LDAP, you have to use an account that also has write permission to the MF program data objects.)

Parent topic: Create ES Security Managers


Setting the Default ES and MFDS Security Configuration

You use the Enterprise Server Administration user interface to perform these procedures.

  • Set the Default ES Security Configuration
  • Setting the MFDS Security Configuration
Parent topic: Configuring Active Directory Users as Enterprise Server Administrators


Set the Default ES Security Configuration

Set the Default ES Security Configuration to use your new security manager(s), so you can use your ES administrative ID to perform CAS functions such as starting and stopping an ES region.
  1. In the left panel, select Security.
  2. Select the Default ES Security tab.
  3. Click Add to add a security manager.
  4. Add your new security manager(s):
    1. Select LDAP and click Add.

      The Default ES Security tab should now show LDAP.

  5. Click Apply.
Parent topic: Setting the Default ES and MFDS Security Configuration


Setting the MFDS Security Configuration

Next, configure MFDS to use the same security configuration. If you do not do this, the enterprise server may not start because the Windows user account configured for starting ES is not known to the default MFDS security configuration. If you don't want to change the MFDS security configuration now, you can add that user to MFDS directly by editing the MFDS Internal Security security manager and clicking on Properties.

To use the same security configuration for ES regions and MFDS:

  • Return to the MFDS Security Options page if necessary, and select the MF Directory Server tab.
  • Check the Use default ES Security Manager List checkbox.
  • Click Apply. The MF Directory Server tab should now show the same security manager(s) as Default ES Security.
Parent topic: Setting the Default ES and MFDS Security Configuration


Verify the Security Configuration

The topics in this section describe how you can check that your Active Directory is configured correctly.

  • Verify that the ESDEMO Server Starts
  • Verify MFDS Restricted Access
Parent topic: Configuring Active Directory Users as Enterprise Server Administrators


Verify that the ESDEMO Server Starts

Go to the command line (use a Net Express Command Prompt window on Windows) and try to start ESDEMO:

casstart /uES-admin /pES-password

where ES-admin and ES-password are the username and password of the user you edited in step 4 to grant ES administration permissions. (You can also start ESDEMO from MFDS and supply a username and password in the Use Enterprise Server credentials form, but this is easier to run again if you need to correct a typo or other problem.)

ESDEMO should start successfully. If it does not, here are some things to check:
  • ES-admin and ES-password are spelled correctly.
  • The ESDEMO console log (console.log) shows the MLDAP ESM module being loaded and initialized successfully. The location of the console log depends on your installation, but the location for a default Server Enterprise Edition version 6 console log is in the following folder:

    C:\Documents and Settings\LocalService\My Documents\Micro Focus\Net Express 6.0\WORKAREA\ESDEMO

    • If the MLDAP ESM module fails to initialize because it can't connect to the server, check the Connection Path setting in the LDAP security manager in MFDS. Also check firewall configurations on both systems.
    • If the MLDAP ESM module cannot bind to the server, check the Authorized ID and Password settings in the LDAP security manager in MFDS.
    • If the MLDAP ESM module is logging other errors, check the text in the Configuration Information area in the LDAP security manager in MFDS, such as the DNs of the various containers. Errors here will prevent the ESM module from finding its data in AD.
  • The user's "common name" does not match the user's "logon name". A user in Active Directory has multiple names, which can be confusing. Users log on to Windows using the "logon name", which is normally a fairly short nickname (such as the user's initials). If you look at a user's properties in Active Directory, this name is shown on the Account tab.

    LDAP clients, such as the MLDAP ESM module, use a user's Distinguished Name (DN), which is formed using the user's Common Name (CN), and the Common Name is set by Windows when the user is created. By default, Windows sets the common name to the user's first name, middle initial, and last name.

    Since the MLDAP ESM only uses the common name, it doesn't matter if the logon name is different, but users might be confused if they can log on using their common name but not their logon name. Also, if the common name is longer than 8 characters or contains spaces, that may cause difficulties with the current version of ES. (Future ES versions will support long names better.)

    You can change a user's common name by renaming the user in Active Directory Users and Computers. After you rename the user, you can go back and reset the user's first and last name and display name (under the General tab of the Properties dialog), if you wish.

Parent topic: Verify the Security Configuration


Verify MFDS Restricted Access

Once ESDEMO starts successfully, you can try enabling restricted access in MFDS to validate your security configuration there. Return to your MFDS browser session and:

  1. On the left-side menu, click on Security.
  2. Select the MF Directory Server tab.
  3. Check the Restrict administration access checkbox.
  4. Click Apply.
  5. MFDS will prompt you to supply a username and password that are authorized under the existing security configuration (to authorize the change to a new security configuration). If you still have the predefined security configuration that's installed with the product, you can use schemaadmin here for the username and password.
  6. MFDS will prompt you to supply a username and password that are authorized under the new security configuration (to prevent you from locking yourself out). Enter your ES-admin user ID and its password.
  7. If this works, you'll be sent to the MFDS restricted-functionality home page. Click on Log On and try your ES-admin ID.
Parent topic: Verify the Security Configuration


Configuring Security Using OpenLDAP

The MLDAP ESM module mldap_esm enables the Security Facility to use an LDAP server as an external security manager. The MLDAP ESM module can communicate with a variety of LDAP servers including OpenLDAP servers. The server can operate either on the same machine as your Enterprise Server installation, or it can be remote.

The content in this section assumes that you have already installed on your server machine, OpenLDAP and the OpenLDAP server, and the Enterprise Server software that is used by your Micro Focus product.

Important: You can use the information in this section to configure LDAP types other than OpenLDAP.
  • About OpenLDAP for the Micro Focus Environment
  • Installing the Required Schema Extensions
  • Configuring the OpenLDAP server
  • Configuring mldap_esm Security Manager for an LDAP
Parent topic: Securing an Enterprise Server Installation


About OpenLDAP for the Micro Focus Environment

Within the LDAP directory, you define users, user groups, resource classes, and resources, and these objects contain the attributes used to make security checks (for the Verify, Auth, and XAuth procedures). Micro Focus defines an LDAP schema for these objects and their attributes, but in many cases you can adapt an existing directory for at least part of this information, for example in order to reuse an existing repository of user information.

When it processes a security request, the module searches the configured LDAP repository for relevant rules and applies whatever it finds.

The External Security Facility API documentation is available, in doxygen format, on the Micro Focus Supportline website's Examples and Utilities page.

  • Follow this link to the Examples and Utilities page:

    Micro Focus Supportline Examples and Utilities page

  • Follow this link to the External Security Facility API documentation:

    External Security Facility Manager API

Parent topic: Configuring Security Using OpenLDAP


Installing the Required Schema Extensions

Note: Before you commence this procedure, ensure that you have sufficient access, for example root access, to create files in the $COBDIR/lib directory.
  1. Make sure that the Micro Focus bin directory is in your path.
  2. Start a command prompt and go to the OpenLDAP install directory.
  3. cd to the schema directory.
  4. Generate the MFDS OpenLDAP schema by issuing the following command:
    mfds -l dc=x 2
    This creates a schema file, for example mfds_1.08.43.schema in the $COBDIR/lib directory.
  5. Now create a new file called container.schema, which must look like this
    objectclass (
       1.2.840.113556.1.3.23
       NAME 'container'
       SUP top
       STRUCTURAL
       MUST ( cn ) )
    The container objectclass is used to group collections of like objects within the LDAP server Directory Information Tree in the Micro Focus extensions.
    Note:

    It is very important that when this schema file is created, there is no trailing whitespace on any of the lines that the schema file contains.

  • To Install Micro Focus OpenLDAP Libraries and Utilities
  • Adding default MFDS users, user groups and resources
Parent topic: Configuring Security Using OpenLDAP


To Install Micro Focus OpenLDAP Libraries and Utilities

Because many UNIX systems include a version of OpenLDAP, the OpenLDAP libraries and utilities supplied by Micro Focus are not installed into the $COBDIR/lib and $COBDIR/bin directories at product installation. Instead, they are installed to $COBDIR/lib/openldap and $COBDIR/bin/openldap.

The configure_openldap script can be used to enable or disable the Micro Focus supplied OpenLdap utilities.

  1. Enter the following at the command line:
    configure_openldap

Depending on whether the utilities are currently installed or not in $COBDIR/lib and $COBDIR/bin, you will be prompted to install or uninstall.

Parent topic: Installing the Required Schema Extensions


Adding default MFDS users, user groups and resources

  1. Create an LDIF file file containing the user, group and resource definitions by using the mfds -e command. For example:
    mfds -e "cn=Micro Focus,dc=my-domain,dc=com" "cn=Enterprise Server Users" "cn=Enterprise Server User Groups" "cn=Enterprise Server Resources" 2 "c:\program files\openldap\mfds_users.ldf"
  2. Import the generate file using ldapadd. For example:
    ldapadd -v -D "cn=Manager,dc=my-domain,dc=com" -w secret -f mfds_users.ldf
  3. Confirm the creation of the containers using ldapsearch. To dump the contents of the Micro Focus container use:
    ldapsearch -x -b "dc=my-domain,dc=com" -s sub +
Parent topic: Installing the Required Schema Extensions


Configuring the OpenLDAP server

  1. At the command prompt, cd to the OpenLDAP install base directory.
  2. Edit the OpenLDAP server configuration file, slapd.conf, to add the following include statements:
    include      ./schema/cosine.schema
include      ./schema/inetorgperson.schema
include      ./schema/container.schema
include      ./schema/mfds.schema

You can now start the OpenLDAP server.

  • Confirming Extension Installation
  • Creating Standard Micro Focus application containers
Parent topic: Configuring Security Using OpenLDAP


Confirming Extension Installation

  1. Issue the following command:
    ldapsearch -x -b "cn=subschema" -s base + > schema.txt
  2. Check the contents of the resulting file, schema.txt, to verify that there are attribute and objectClass entries that begin with "microfocus-".
Parent topic: Configuring the OpenLDAP server


Creating Standard Micro Focus application containers

Before adding the standard Micro Focus containers, the initial domain context object needs to be added.

  1. Create a file called top.ldf with contents similar to those shown below.
    dn: dc=my-domain,dc=com
objectClass: dcObject
objectClass: organization
dc: my-domain
description: My domain description
o: My domain
  2. To add the domain context object use:
    ldapadd -v -D "cn=Manager,dc=my-domain,dc=com" -w secret -f top.ldf

    The successful output should look something like the following:

    add objectClass:
        dcObject
        organization
add dc:
        my-domain
add description:
        My domain description
add o:
        My domain
adding new entry "dc=my-domain,dc=com"
modify complete

You can now add the standard Micro Focus containers.

  1. Create a file called mf-containers-open.ldf, with contents as follows:
    dn: cn=Micro Focus,dc=my-domain,dc=com
cn: Micro Focus
objectClass: container

dn: cn=Enterprise Server Resources,cn=Micro Focus,dc=my-domain,dc=com
cn: Enterprise Server Resources
objectClass: container

dn: cn=Enterprise Server Users,cn=Micro Focus,dc=my-domain,dc=com
cn: Enterprise Server Users
objectClass: container

dn: cn=Enterprise Server User Groups,cn=Micro Focus,dc=my-domain,dc=com
cn: Enterprise Server User Groups
objectClass: container
  2. Create the containers by issuing the following command:
    ldapadd -v -D "cn=Manager,dc=my-domain,dc=com" -w secret -f mf-containers-open.ldf
  3. Confirm the creation of the containers by using ldapsearch to dump the contents of the Micro Focus container:
    ldapsearch -x -b "dc=my-domain,dc=com" -s sub +
Parent topic: Configuring the OpenLDAP server


Examples

This section contains examples of using LDIF to define Enterprise Server security information in Active Directory.

  • Examples of RACF Commands Compared with Active Directory Definitions
  • Defining a User with LDIF
  • Defining a Group with LDIF
  • Defining CAS Resources with LDIF
  • Defining Files with LDIF
  • Defining the SURROGAT Class and Users with LDIF
  • Defining a CICS Transaction with LDIF
Parent topic: Securing an Enterprise Server Installation


Examples of RACF Commands Compared with Active Directory Definitions

  • FCT Control: RACF Command and AD Definition
  • DCT Control: RACF Command and AD Definition
  • JCT Control: RACF Command and AD Definition
  • DOCTEMPLATE Control: RACF Command and AD Definition
  • EXEC CICS START control: RACF Command and AD Definition
  • EXEC CICS LINK/XCTL/LOAD control: RACF Command and AD Definition
  • EXEC CICS SET/INQUIRE/ENABLE/DISABLE control: RACF Command and AD Definition
  • CAS Commands control: RACF Command and AD Definition
Parent topic: Examples


FCT Control: RACF Command and AD Definition

FCT control: RACF command

RDEFINE FCICSFCT (file1, file2, .., filen)
  UACC(NONE)

  NOTIFY(sys_admin_userid)
  PERMIT file1 CLASS(FCICSFCT) ID(group1, group2) ACCESS(UPDATE)
  PERMIT file2 CLASS(FCICSFCT) ID(group1, group2) ACCESS(READ)
Default CICS CLASS used: FCICSFCT

Parameters passed to ESM:

  Entity: File ID
  Facility: Terminal
  Transaction active

FCT control: Active Directory ldif

dn: CN=FCICSFCT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local

changetype: add
  objectClass: top
  objectClass: container
  description: CICS Class for FCT
dn: CN=FILESAF,CN=FCICSFCT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local

changetype: delete
dn: CN=FILESAF,CN=FCICSFCT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local

changetype: add
  objectClass: microfocus-MFDS-Resource
  microfocus-MFDS-Resource-Class: FCICSFCT
  microfocus-MFDS-Resource-ACE: allow:SAFU:update
  microfocus-MFDS-Resource-ACE: allow:PLTPISUR:update
  microfocus-MFDS-Resource-ACE: allow:SYSADM
  group:update
  microfocus-MFDS-Resource-ACE: allow:OPERATOR
  group:update
  microfocus-MFDS-Resource-ACE: deny:*:execute
  microfocus-MFDS-UID: mfuid
  description: FILE used by test
Parent topic: Examples of RACF Commands Compared with Active Directory Definitions


DCT Control: RACF Command and AD Definition

DCT control: RACF command

RDEFINE  DCICSDCT  (qid1, qid2, ..., qidn) UACC(NONE)
                   NOTIFY(sys_admin_userid)
PERMIT qid1 CLASS(DCICSDCT) ID(group1, group2) ACCESS(UPDATE)
PERMIT qid2 CLASS(DCICSDCT) ID(group1, group2) ACCESS(UPDATE)

Default CICS CLASS used: DCICSDCT

Parameters passed to ESM:

          Entity: DCT queue ID
          Facility: Terminal
          Transaction active

DCT control: Active Directory ldif

dn: CN=DCICSDCT,CN=Enterprise
  Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: top
  objectClass: container
  description: CICS Class for DCT

  dn: CN=STDQ,CN=DCICSDCT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: delete

  dn: CN=STDQ,CN=DCICSDCT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: microfocus-MFDS-Resource
  microfocus-MFDS-Resource-Class: DCICSDCT
  microfocus-MFDS-Resource-ACE: allow:SAFU:update
  microfocus-MFDS-Resource-ACE: deny:*:execute
  microfocus-MFDS-UID: mfuid
  description: TDQ used by test
Parent topic: Examples of RACF Commands Compared with Active Directory Definitions


JCT Control: RACF Command and AD Definition

JCT control: RACF command

RDEFINE  KCICSJCT  userjnls UACC(NONE)
                   ADDMEM(JRNL001, JRNL002, ....)
                   NOTIFY(sys_admin_userid)
PERMIT   userjnls  CLASS(KCICSJCT) ID(group_userid)
             ACCESS(UPDATE)

Default CICS CLASS used: JCICSJCT

Parameters passed to ESM:

  Entity: JCT ID
  Facility: Terminal
  Transaction active

JCT control: Active Directory ldif

dn: CN=JCICSJCT,CN=Enterprise
  Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: top
  objectClass: container
  description: CICS Class for JCT

  dn: CN=01,CN=JCICSJCT,CN=Enterprise Server Resources,
    CN=Micro Focus,CN=Program Data,DC=local
  changetype: delete

  dn: CN=01,CN=JCICSJCT,CN=Enterprise Server Resources,
    CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: microfocus-MFDS-Resource
  microfocus-MFDS-Resource-Class: JCICSJCT
  microfocus-MFDS-Resource-ACE: allow:SAFU:control
  microfocus-MFDS-Resource-ACE: deny:*:execute
  microfocus-MFDS-UID: mfuid
  description: JOURNAL used by test
Parent topic: Examples of RACF Commands Compared with Active Directory Definitions


DOCTEMPLATE Control: RACF Command and AD Definition

DOCTEMPLATE control: RACF command

RDEFINE RCICSRES (DOCTEMPLATE.doc1, DOCTEMPLATE.doc2, .., DOCTEMPLATE.docn)
                  UACC(NONE)
                  NOTIFY(sys_admin_userid)
PERMIT  DOCTEMPLATE.doc1
        CLASS(RCICSRES)
        ID(group1, group2)
        ACCESS(READ)

DOCTEMPLATE control: Active Directory ldif

dn: CN=*,CN=RCICSRES,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=mftesting,DC=com
changetype: delete

dn: CN=*,CN=RCICSRES,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=mftesting,DC=com
changetype: add
objectClass: microfocus-MFDS-Resource
microfocus-MFDS-Resource-Class: MFESMAC
microfocus-MFDS-Resource-ACE: allow:SYSAD:alter
microfocus-MFDS-Resource-ACE: allow:ESMAC:alter
microfocus-MFDS-Resource-ACE: allow:CICSUSER:read
microfocus-MFDS-Resource-ACE: deny:*:execute
microfocus-MFDS-UID: mfuid
description: Allow full access any URIMAP to SYSAD or ESMAC Users
Parent topic: Examples of RACF Commands Compared with Active Directory Definitions


EXEC CICS START control: RACF Command and AD Definition

EXEC CICS START control: RACF command

RDEFINE  ACICSPCT (tran1, tran2, ..., trann) UACC(NONE)
                  NOTIFY(sys_admin_userid)
PERMIT  tran1 CLASS(ACICSPCT)  ID(userid) ACCESS(READ)
PERMIT  tran2 CLASS(ACICSPCT)  ID(userid) ACCESS(READ)
  • TCICSTRN if a terminal is used on the EXEC CICS START
  • ACICSPCT if no terminal is used on the EXEC CICS START
  • SURROGAT if a user is specified on the EXEC CICS START
  • For TCICSTRN and ACICSPCT

    Entity: Transaction ID

    Facility: Terminal

  • For SURROGAT

    Entity: Surrogate Userid

    Entity-1-ptr: Surrogate ACEE

    Facility: Terminal

EXEC CICS START control: Active Directory ldif

dn: CN=ACICSPCT,CN=Enterprise Server
Resources,CN=Micro Focus,CN=Program Data,DC=local
changetype: add
objectClass: top
objectClass: container
description: CICS Class for started transactions
dn: CN=TCICSTRN,CN=Enterprise Server
Resources,CN=Micro Focus,CN=Program Data,DC=local
changetype: add
objectClass: top
objectClass: container
description: CICS Class for TRANSACTIONS
dn: CN=SSST,CN=ACICSPCT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
changetype: delete
dn: CN=SSST,CN=ACICSPCT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
changetype: add objectClass:
microfocus-MFDS-Resource microfocus-MFDS-Resource-Class: ACICSPCT
microfocus-MFDS-Resource-ACE: allow:SAFU:read
microfocus-MFDS-Resource-ACE:
allow:SAFUSUR:read
microfocus-MFDS-Resource-ACE: deny:*:execute
microfocus-MFDS-UID: mfuid
description: CICS START with SURROGAT
dn: CN=SAFT,CN=TCICSTRN,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
changetype: delete
dn: CN=SAFT,CN=TCICSTRN,CN=Enterprise Server
Resources,CN=Micro Focus,CN=Program Data,DC=local
changetype: add
objectClass:
microfocus-MFDS-Resource microfocus-MFDS-Resource-Class: TCICSTRN
microfocus-MFDS-Resource-ACE: allow:SAFU:read
microfocus-MFDS-Resource-ACE:
deny:*:
execute
microfocus-MFDS-UID: mfuid description:
Transaction used by test
Parent topic: Examples of RACF Commands Compared with Active Directory Definitions


EXEC CICS LINK/XCTL/LOAD control: RACF Command and AD Definition

EXEC CICS LINK/XCTL/LOAD control: RACF command

RDEFINE  MCICSPPT  (prog1, prog2, ..., progn)  UACC(NONE)
                  NOTIFY(sys_admin_userid)
PERMIT  prog1 CLASS(MCICSPPT)  ID(userid) ACCESS(READ)
PERMIT  prog2 CLASS(MCICSPPT)  ID(userid) ACCESS(READ)

Default CICS CLASS used: MCICSPPT

Parameters passed to ESM:

  • Entity: Program Name
  • Facility: Terminal
  • Transaction active

EXEC CICS LINK/XCTL/LOAD control: Active Directory ldif

dn: CN=MCICSPPT,CN=Enterprise
  Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: top
  objectClass: container
  description: CICS Class for PPT

  dn: CN=SAFLINK,CN=MCICSPPT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: delete

  dn: CN=SAFLINK,CN=MCICSPPT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: microfocus-MFDS-Resource
  microfocus-MFDS-Resource-Class: MCICSPPT
  microfocus-MFDS-Resource-ACE: allow:SAFU:control
  microfocus-MFDS-Resource-ACE: deny:*:execute
  microfocus-MFDS-UID: mfuid
  description: Program to test LINK
Parent topic: Examples of RACF Commands Compared with Active Directory Definitions


EXEC CICS SET/INQUIRE/ENABLE/DISABLE control: RACF Command and AD Definition

EXEC CICS SET/INQUIRE/ENABLE/DISABLE control: RACF command

RDEFINE  CCICSCMD CMDSAMP UACC(NONE)
                   NOTIFY(sys_admin_userid)
                  ADDMEM(AUTINSTMODEL, AUTOINSTALL, CONNECTION,
                  DSNAME, TRANSACTION, TRANDUMPCODE, VTAM)
PERMIT CMDSAMP CLASS(VCICSCMD) ID(operator_group) ACCESS(READ)
Default CICS CLASS used: CCICSCMD
  Parameters passed to ESM:

  Entity: Resource name

  Facility: Terminal

  Transaction active
  Resource Name can be:
  'PROCESSTYPE'.
  'LINE'.
  'MVSTCB'.
  'LSRPOOL'.
  'MAPSET'.
  'PARTITIONSET'.
  'SESSIONS'.
  'TYPETERM'.
  'EXITPROGRAM'.
  'JOURNALMODEL'.
  'REQID'.
  'TRACEDEST'.
  'TRACEFLAG'.
  'TRACETYPE'.
  'TSQUEUE'.
  'AUTINSTMODEL'.
  'AUTOINSTALL'.
  'BRFACILITY'.
  'CLASSCACHE'.
  'CONNECTION'.
  'CORBASERVER'.
  'DB2CONN'.
  'DB2ENTRY'.
  'DB2TRAN'.
  'DELETSHIPPED'.
  'DISPATCHER'.
  'DJAR'.
  'DOCTEMPLATE'.
  'DSNAME'.
  'DUMPDS'.
  'ENQMODEL'.
  'EXCI'.
  'FILE'.
  'IRC'.
  'JOURNALNAME'.
  'JVM'.
  'JVMPOOL'.
  'JVMPROFILE'.
  'MODENAME'.
  'MONITOR'.
  'PARTNER'.
  'PROFILE'.
  'PROGRAM'.
  'REQUESTMODEL'.
  'STATISTICS'.
  'STORAGE'.
  'STREAMNAME'.
  'SYSDUMPCODE'.
  'SYSTEM'.
  'TASK'.
  'TCLASS'.
  'TCPIP'.
  'TCPIPSERVICE'.
  'TDQUEUE'.
  'TERMINAL'.
  'TRANDUMPCODE'.
  'TRANSACTION'.
  'TSMODEL'.
  'TSPOOL'.
  'TSQNAME'.
  'UOW'.
  'UOWDSNFAIL'.
  'UOWENQ'.
  'UOWLINK'.
  'VTAM'.
  'WEB'.
  'WORKREQUEST'.
  'DUMP'.
  'RESETTIME'.
  'FEPIRESOURCE'.
  'BEAN'.
  'CFDTPOOL'.
  'RRMS'.
  'SUBPOOL'.
  'SECURITY'.
  'SHUTDOWN'.
  'UNKNOWN'.

EXEC CICS SET/INQUIRE/ENABLE/DISABLE control: Active Directory ldif

dn: CN=CCICSCMD,CN=Enterprise
  Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: top
  objectClass: container
  description: CICS Class for CMDS

  dn: CN=PROGRAM,CN=CCICSCMD,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: delete

  dn: CN=PROGRAM,CN=CCICSCMD,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: microfocus-MFDS-Resource
  microfocus-MFDS-Resource-Class: CCICSCMD
  microfocus-MFDS-Resource-ACE: allow:PLTPISUR:control
  microfocus-MFDS-Resource-ACE: allow:SAFU:control
  microfocus-MFDS-Resource-ACE: allow:SYSADM
  group:control
  microfocus-MFDS-Resource-ACE: deny:*:execute
  microfocus-MFDS-UID: mfuid
  description: PROGRAM entity for EXEC CICS SET/ENABLE/DISABLE commands

  dn: CN=EXITPROGRAM,CN=CCICSCMD,CN=Enterprise Server
  Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: delete

  dn: CN=EXITPROGRAM,CN=CCICSCMD,CN=Enterprise Server
  Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: microfocus-MFDS-Resource
  microfocus-MFDS-Resource-Class: CCICSCMD
  microfocus-MFDS-Resource-ACE: allow:PLTPISUR:control
  microfocus-MFDS-Resource-ACE: allow:SAFU:control
  microfocus-MFDS-Resource-ACE: allow:SYSADM
  group:control
  microfocus-MFDS-Resource-ACE: deny:*:execute
  microfocus-MFDS-UID: mfuid
  description: EXITPROGRAM entity for EXEC CICS SET/ENABLE/DISABLE commands

  dn: CN=TRANSACTION,CN=CCICSCMD,CN=Enterprise Server
  Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: delete

  dn: CN=TRANSACTION,CN=CCICSCMD,CN=Enterprise Server
  Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: microfocus-MFDS-Resource
  microfocus-MFDS-Resource-Class: CCICSCMD
  microfocus-MFDS-Resource-ACE: allow:PLTPISUR:control
  microfocus-MFDS-Resource-ACE: allow:SAFU:control
  microfocus-MFDS-Resource-ACE: allow:SYSADM
  group:control
  microfocus-MFDS-Resource-ACE: deny:*:execute
  microfocus-MFDS-UID: mfuid
  description: TRANSACTION entity
Parent topic: Examples of RACF Commands Compared with Active Directory Definitions


CAS Commands control: RACF Command and AD Definition

CASSTART/CASSTOP/CASFILE/CASSUB/CASOUT Commands control: RACF command

  • CLASS used:

    OPERCMDS Parameters passed to ESM:

  • Entity:

    Command (casstart/casstop/casfile/cassub/casout)

CASSTART/CASSTOP/CASFILE/CASSUB/CASOUT Commands control: Active Directory ldif

dn: CN=OPERCMDS,CN=Enterprise
  Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: top
  objectClass: container
  description: CICS Class for casstart/casstop/casfile....

  dn: CN=casstart,CN=OPERCMDS,CN=Enterprise
  Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: delete

  dn: CN=casstart,CN=OPERCMDS,CN=Enterprise
  Server Resources,CN=Micro Focus,CN=Program Data,DC=local
  changetype: add
  objectClass: microfocus-MFDS-Resource
  microfocus-MFDS-Resource-Class: OPERCMDS
  microfocus-MFDS-Resource-ACE: allow:SAFU:alter
  microfocus-MFDS-Resource-ACE: allow:SYSAD:alter
  microfocus-MFDS-Resource-ACE: allow:SYSADM
  group:alter
  microfocus-MFDS-Resource-ACE: deny:*:execute
  microfocus-MFDS-UID: mfuid
  description: casstart users
Parent topic: Examples of RACF Commands Compared with Active Directory Definitions


Defining a User with LDIF

Command | Description
dn: CN=SEC01,CN=Enterprise Server Users,CN=Micro Focus,CN=Program Data,DC=local | Identifies user SEC01
changetype: delete | Action is set to delete, the current definition for user SEC01 will be deleted
 | You must leave a blank line between actions
dn: CN=SEC01,CN=Enterprise Server Users,CN=Micro Focus,CN=Program Data,DC=local | Identifies user SEC01
changetype: add | Action is set to add
objectClass: microfocus-MFDS-User | Object class, we are defining a User
microfocus-MFDS-UID: no | UID (Unique Identifier). use mfuid as the value
microfocus-MFDS-User-CreateToken: self | User can create a passtoken for himself. (Used for single signon, the user can sign into MFDS and credentials will be passed to ESMAC)
microfocus-MFDS-User-MTO-Priority: 0 | User priority
microfocus-MFDS-User-MTO-Timeout: 0 | User login timeout in minutes, 0 means no timeout. (Inactivity when signed on)
microfocus-MFDS-User-MTO-OperatorClass: 0 | Operator Class
microfocus-MFDS-User-DefaultGroup: PAYROLL | Default group. A user as a default group, but can be part of several groups. The default group is used if the user does not specify a group when login in
microfocus-MFDS-User-AllowLogon: TRUE | TRUE if the user can login to a terminal or ESMAC
microfocus-MFDS-User-Pwd: literal:UserPassword | User password, this can be changed by the user using ESMAC or CESN
microfocus-MFDS-User-UseToken: self | The User can be signed using a passtoken created for himself (Used for single signon)
description: User Description | User description, used for documentation purposes
Parent topic: Examples


Defining a Group with LDIF

Command | Description
dn: cn=PAYROLL,CN=Enterprise Server User Groups,CN=Micro Focus,CN=Program Data,DC=local | Identifies group PAYROLL
changetype: delete | Action is set to delete, the current definition for group PAYROLL will be deleted
 | You must leave a blank line between actions
dn: cn=PAYROLL,CN=Enterprise Server User Groups,CN=Micro Focus,CN=Program Data,DC=local | Identifies group PAYROLL
changetype: add | Action is set to add
adminDisplayName: Payroll group | Display Name
objectClass: microfocus-MFDS-Group | Object class, we are defining a Group
microfocus-MFDS-UID: no | UID (Unique Identifier). use mfuid as the value
description: People who can process Payroll | Description for the group
microfocus-MFDS-Group-Member: SEC01 | User SEC01 is part of the group
microfocus-MFDS-Group-Member: SEC02 | More than one user can be added to the group
microfocus-MFDS-Group-Member: SEC03 |
Parent topic: Examples


Defining CAS Resources with LDIF

Command | Description
dn: CN=OPERCMDS,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies resource OPERCMDS
changetype: add | action set to add, will create the resource
objectClass: top | This is a main class
objectClass: container | will contain entities
description: Class for operator commands used by casstart/casstop/casout/casfile/cassub commands | description
 | You must leave a blank line between actions
dn: CN=casstart,CN=OPERCMDS,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the entity we want to delete
changetype: delete | action set to delete, we remove any existing definition
 | You must leave a blank line between actions
dn: CN=casstart,CN=OPERCMDS,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the entity we want to create
changetype: add | action set to add in order to create the entity
objectClass: microfocus-MFDS-Resource | We are creating a resource
microfocus-MFDS-Resource-Class: OPERCMDS | name of the class that the entity belongs to
microfocus-MFDS-Resource-ACE: allow:SYSADM group:alter | Terminology definition, we allow any one from SYSADM group to start the ES region
microfocus-MFDS-Resource-ACE: deny:*:execute | We deny all the others
microfocus-MFDS-UID: no | UID (Unique Identifier). use mfuid as the value
description: casstart command to start an ES region | description
 | You must leave a blank line between actions
dn: CN=casstop,CN=OPERCMDS,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the entity we want to delete
changetype: delete | action set to delete, we remove any existing definition
 | You must leave a blank line between actions
dn: CN=casstop,CN=OPERCMDS,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the entity we want to create
changetype: add | action set to add in order to create the entity
objectClass: microfocus-MFDS-Resource | We are creating a resource
microfocus-MFDS-Resource-Class: OPERCMDS | name of the class that the entity belongs to
microfocus-MFDS-Resource-ACE: allow:SYSADM group:alter | Terminology definition, we allow any one from SYSADM group to stop the ES region
microfocus-MFDS-Resource-ACE: deny:*:execute | We deny all the others
microfocus-MFDS-UID: no | UID (Unique Identifier). use mfuid as the value
description: casstop command to stop an ES region | description
Parent topic: Examples


Defining Files with LDIF

Command | Description
dn: CN=DATASET,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies resource DATASET
changetype: add | action set to add, will create the resource
objectClass: top | This is a main class
objectClass: container | will contain entities
description: Class for controlling access to datasets | Description
 | You must leave a blank line between actions
dn: CN=**EZACONFG,CN=DATASET,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the entity. CICS will use the physical filename when calling AUTH, if you do not want to specify the path, you can use '**' in front of the file, meaning any characters.
changetype: delete | action set to delete, we remove any existing definition
 | You must leave a blank line between actions
dn: CN=**EZACONFG,CN=DATASET,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the entity we want to create
changetype: add | action set to add in order to create the entity
objectClass: microfocus-MFDS-Resource | We are creating a resource
microfocus-MFDS-Resource-Class: DATASET | name of the class that the entity belongs to
microfocus-MFDS-Resource-ACE: allow:SYSADM group:update | Terminology definition, users or groups that can access the resource and their authorisation. In this case we allow any one from SYSADM group to update the file.
microfocus-MFDS-Resource-ACE: allow:SEC01:update | more than one Terminology definition can be added
microfocus-MFDS-UID: no | UID (Unique Identifier). use mfuid as the value
description: EZASOKET Configuration file | description of the resource
Parent topic: Examples


Defining the SURROGAT Class and Users with LDIF

Command | Description
dn : CN=SURROGAT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the SURROGAT resource
changetype : add | action set to add, will create the resource
objectClass : top | this is a main class
objectClass : container | will contain entities
description: Class for CICS SURROGATE users. JES Class for controlling access to job submission by surrogates. | description
 | You must leave a blank line between actions
dn : CN=PLTPISUR,CN=SURROGAT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the entity we want to delete
changetype : delete | action set to delete, we remove any existing definition
 | You must leave a blank line between actions
dn : CN=PLTPISUR,CN=SURROGAT,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the entity we want to create
changetype : add | action set to add in order to create the entity
objectClass : microfocus-MFDS-Resource | We are creating a resource
microfocus -MFDS-Resource-Class: SURROGAT | name of the class that the entity belongs to
microfocus -MFDS-Resource-ACE: allow:SYSAD:read | Terminology definition, we allow SYSAD to be a surrogat user of PLTPISUR
microfocus -MFDS-Resource-ACE: deny:*:execute | Terminology definition, we deny everyone else
microfocus -MFDS-UID: no | UID (Unique Identifier). use mfuid as the value
description: SAF SURROGAT user for PLTPI. Add all users that can start ES to it | description
Parent topic: Examples


Defining a CICS Transaction with LDIF

Command | Description
dn: CN=TCICSTRN,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the TCICSTRN resource
changetype: add | action set to add, will create the resource
objectClass: top | this is a main class
objectClass: container | will contain entities
description: CICS transactions, normal attach security | description
 | You must leave a blank line between actions
dn: CN=TRN1,CN=TCICSTRN,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the TRN1 entity
changetype: delete | action set to delete, will delete the entity
 | You must leave a blank line between actions
dn: CN=TRN1,CN=TCICSTRN,CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,DC=local | Identifies the TRN1 entity
changetype: add | action set to add, will create the entity
objectClass: microfocus-MFDS-Resource | We are creating a resource
microfocus-MFDS-Resource-Class: TCICSTRN | name of the class that the entity belongs to
microfocus-MFDS-Resource-ACE: allow:ALLUSER group:read | Terminology definition, we grant anyone from group ALLUSER read access
microfocus-MFDS-Resource-ACE: deny:*:execute | Terminology definition, we deny everyone else
microfocus-MFDS-UID: no | UID (Unique Identifier). use mfuid as the value
description: My first Transaction | description
Parent topic: Examples


Managing an LDAP from the Enterprise Server UI

You use the mldap_esm security manager to configure an LDAP for use with your Enterprise Server installation. You can configure a security manager so that you can use it to administer the LDAP information from the MFDS user interface. This applies to Active Directory and other LDAP implementations, for example OpenLDAP.

Note:

Typically:

  • You use your LDAP's administration and management functionality to configure and manage your LDAP.
  • You use the Enterprise Server user interface to make minor changes to LDAP configurations.
  • About Managing an LDAP
  • Changing User Passwords Stored in an LDAP
  • About Users, Groups and Resources
  • Managing User Access
  • Managing Groups
  • Assigning Resource Permissions
  • Security Configuration Screen Help
Parent topic: Securing an Enterprise Server Installation


About Managing an LDAP

You can use the property screens for a security manager definition that uses mldap_esm to add, edit and delete user, group and resource definitions held in the associated LDAP repository, and for specifying resource permissions.

The mldap_esm security manager binds at configuration time only to the LDAP server, using credentials supplied as part of its configuration. All the privileges that it has for that repository are determined by those credentials. Therefore, in order to manage users, groups and resources through these property screens, you will need to ensure that these credentials have sufficient permissions on the LDAP server.

Note:

The MF Directory Server user ID with which you access the property screens is not related in any way to the credentials with which the mldap_esm security manager connects to the LDAP server. For added protection, when you attempt to access the security manager property screens, MF Directory Server will switch to "Restrict administration access" mode, requiring you to enter valid MF Directory Server user credentials.

Note also that when no authorized ID and password is specified in the security manager definition, the mldap_esm security manager uses the user ID, CN=MFReader,CN=ADAM Users,CN=Micro Focus,CN=Program Data,DC=local (though the last two components can be changed by setting the base DN), which is the user object created for this purpose in the sample configuration, and the password "mf_rdr" to connect to the LDAP repository. Of course, as these values are well known, you should not give MFReader write permission to your LDAP repository.

Instead of storing user passwords in the LDAP repository, the Security Facility stores password verifiers, in the form of salted MD5 hashes.

Parent topic: Managing an LDAP from the Enterprise Server UI


Changing User Passwords Stored in an LDAP

There are various ways for Enterprise Server users to change passwords stored in an LDAP. The Security Facility relays these requests to the security managers that are used to verify the user. Whether or not a password change request is honoured by a security manager depends on that manager and the security manager module that is used to connect to it.

When using the mldap_esm security manager, changing a user's password involves changing an attribute of the associated user object in the LDAP repository. This in turn requires that the mldap_esm security manager has write access to the repository. However, the mldap_esm security manager does not connect to the repository with the credentials of the user requesting the password change; it uses the authorized id and password that are specified in the Edit Security Manager screen.

In order to enable the mldap_esm security manager to support the changing of user passwords, you need to modify the security manager definition to specify an authorized user ID and password that has write access to the Enterprise Server user objects within the LDAP repository. The ID and password combination that you supply should, of course, be secret. To do this:

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the definition that you want to edit by clicking the relevant radio button in the Select column.
  4. Click Edit.
  5. In the Authorized ID field, supply the username used to bind to the LDAP server. The format for this is server-dependent, but is usually a Distinguished Name.

    This user should have read access to the Enterprise Server user, group, and resource objects in the LDAP repository, and modify access to user definitions to support letting users change their passwords from ES (for example from the CICS signon screen).

  6. In the Password field specify the password used to bind to the LDAP server.
  7. Click OK.
Note:

When no authorized ID and password is specified in the security manager definition, the MLDAP ESM uses the user ID, CN=MFReader,CN=ADAM Users,CN=Micro Focus,CN=Program Data,DC=local (though the last two components can be changed by setting the base DN), which is the user object created for this purpose in the sample configuration, and the password mf_rdr to connect to the LDAP repository. Of course, as these values are well known, you should not give MFReader write permission to your LDAP repository.

Parent topic: Managing an LDAP from the Enterprise Server UI


About Users, Groups and Resources

Each item (for example, program, file, transaction) to which access is controlled is a called a resource. A resource has a name and a class, which indicates the type of the resource. For example, each enterprise server is a resource, and all enterprise servers belong to the same resource class.

A resource name must be unique within its class. That is, you can define two or more resources with the same name, provided that they belong to different classes.

MSS resources use various class names defined by IBM. Non-MSS resources, such as ES configuration definitions in MF Directory Server, use resource class names defined by Micro Focus (using syntax that's not permitted for MSS resource class names, to avoid collisions). Users can also define their own resource classes for performing explicit access checks in applications.

When a user requests access to a resource the security facility relays the request to the external security manager, specifying the user, the resource and the resource class. The security manager will then look for resource rules that match the resource name. The processing of a request is dependent on the external security manager.

Where your ESM module provides suitable support, as is the case with the mldap_esm module, you can use the Enterprise Server Administration screens to define users, groups, resource classes and resources (referred to as resource entities). In defining a resource entity, you are specifying a rule against which an authorization request can be matched. Depending on your ESM, the resource entity might have a full resource name, or might contain wildcards. This allows you to write a single rule to apply to multiple resources.

With the mldap_esm module, for example, each resource entity has an Access Control List (ACL) that specifies access rights for that resource. Each entry in an ACL is referred to as an Access Control Entry, or ACE. These entries identify a user or group, and what permissions are to be granted or denied to them.

Users can be assigned to many user groups, and depending on your security manager and your security configuration a user may be allowed the permissions of all the groups to which he or she belongs, a particular group specified when the user signed on, or a default group specified as part of the user definition. For more details see Using all groups to which a user belongs.

Note:

For Micro Focus Directory Server access, users always have the permissions of all the groups to which they belong.

Parent topic: Managing an LDAP from the Enterprise Server UI
Related information
Using all groups to which a user belongs
To add a user
To edit a user
To delete a user
To add a group
To edit a group
To delete a group
To assign a user to one or more user groups
To remove a user from one or more user groups
To assign one or more users to a user group
To remove one or more users from a user group
To add a resource class
To edit a resource class
To delete a resource class
To add a resource entity
To edit a resource entity
To delete a resource entity
To assign resource permissions
To view permissions for a user
To view permissions for a group
To assign resource permissions when using MFDS Internal Security
To assign permissions on a specific enterprise server when using MFDS Internal Security


Managing User Access

The property screens for a security manager definition can be used for adding, editing and deleting user, group and resource definitions held in the associated external security manager (ESM), and for specifying resource permissions. This functionality is dependent on the ESM module, with which you connect to the ESM, providing support, and on the ESM honouring the requests submitted through these screens. Where such support is not available, users, groups and resources must be managed through the tools provided with your external security manager. Please check the documentation provided with your ESM module for details.

In addition to the conditions listed above, the security manager definition must be included in the security manager list that is used by MF Directory Server.

  • To Add a User
  • To Edit a User
  • To Delete a User
  • To View Permissions for a User
Parent topic: Managing an LDAP from the Enterprise Server UI


To Add a User

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers, and for the security manager to which the user is to be added, click the radio button in the Select column.
  3. Click Edit .
  4. Click Properties.
  5. Click Users.
  6. Click Add.
  7. Specify the user's details.

    For information about the entry fields, refer to the page help for this screen.

  8. Click Next.
  9. Type a description of the user in Description.
  10. For each user group of which the user is to be a member, select the group from User groups, and click <--Add.
  11. If you change your mind and want to remove the user from any group, select the group from Member of and click Remove-->.
  12. Click Add.
Enter the tasks the user should do after finishing this task (optional).
Parent topic: Managing User Access


To Edit a User

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the user definition that you want to edit by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Users.

    The users screen is divided into tabs. The label of the tab indicates the start character(s) of the user ids that are listed on the tab.

  7. Select the tab containing the user you wish to edit.
  8. Click Edit for the user.
  9. Specify the user's details.

    For information about the entry fields, please refer to the page help for this screen.

  10. Click OK.
Parent topic: Managing User Access


To Delete a User

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the user to be deleted by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Users.

    The users screen is divided into tabs. The label of the tab indicates the start character(s) of the user ids that are listed on the tab.

  7. Select the tab containing the user you wish to delete.
  8. Click Edit for the user that you wish to delete.
  9. Click Delete.
  10. Click OK on the User Delete Confirmation page.
Parent topic: Managing User Access


To View Permissions for a User

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the user definition that you want to view by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Users.

    The users screen is divided into tabs. The label of the tab indicates the start character(s) of the user ids that are listed on the tab.

  7. Select the tab containing the user you wish to edit.
  8. Click Edit for the user.
  9. Click Permissions.

    The screen displays a tree structure. Expanding the top level node displays the various resource classes. Expanding a class displays the resource entities that it contains and the permissions that the user has for those entities. Please note, the permissions displayed are for those Access Control List entries that apply to the user, either by fully specifying the user's ID or by a wildcard match.

Parent topic: Managing User Access


Managing Groups

The property screens for a security manager definition can be used for adding, editing and deleting user, group and resource definitions held in the associated external security manager (ESM), and for specifying resource permissions. This functionality is dependent on the ESM module, with which you connect to the ESM, providing support, and on the ESM honouring the requests submitted through these screens. Where such support is not available, users, groups and resources must be managed through the tools provided with your external security manager. Check the documentation provided with your ESM module for details.

In addition to the conditions listed above, the security manager definition must be included in the security manager list that is used by MF Directory Server

  • To Add a Group
  • To Edit a Group
  • To Delete a Group
  • To View Permissions for a Group
Parent topic: Managing an LDAP from the Enterprise Server UI


To Add a Group

Enter the prerequisites here (optional).
Enter the context of your task here (optional).
  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager to which the group will be added by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Groups.
  7. Click Add.
  8. Specify the details for the group.

    For information about the entry fields, please refer to the page help for the screen.

  9. Click Next.
  10. Under Permissions, check each permission that you want to grant to the group. If you want to grant all permissions under the Directory Server Administration or Servers sections, click the appropriate Allow All button.

    The permissions are displayed in an inverted tree structure. Those on lower branches include the permissions on the branches from which they descend. For example, the permission to restore a repository includes the permission to import a repository. Therefore, restore is shown as a descendant of import.

    When you grant a particular permission, any permissions that it includes are automatically granted. Hence, when you check the Restore Repository permission, the Import Repository permission is automatically checked as well.

    Where a check box for a permission is greyed out, it indicates that the permission is included by other permissions that have been granted to the group. To revoke a permission that is included by others, you must first revoke those other permissions.

  11. Type a description of the user in Description.
  12. For each user group of which the user is to be a member, select the group from User groups, and click <--Add.
  13. If you change your mind and want to remove the user from any group, select the group from Member of and click Remove-->.
  14. Click Add.
Parent topic: Managing Groups


To Edit a Group

In order to perform this, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the group that you want to edit by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Groups.
  7. Click the Edit button adjacent to the group you want to edit.
  8. Specify the details for the group.

    For information about the entry fields, please refer to the page help for the screen.

  9. Click OK.
Parent topic: Managing Groups


To Delete a Group

In order to perform this, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the group that you want to delete by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Groups.
  7. Click the Edit button adjacent to the group you want to delete.
  8. Click Delete.
  9. Click OK on the Delete User Group confirmation page.
Parent topic: Managing Groups


To View Permissions for a Group

In order to use these property screens, your user account must have User Administration permissions.

Note:

Please note that the display and setting of permissions for MFDS Internal Security differs from that for other Security Managers, and is covered separately by To assign resource permissions when using MFDS Internal Security.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the group definition that you want to view by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Groups.
  7. Click Edit for the group.
  8. Click Permissions.

    The screen displays a tree structure. Expanding the top level node displays the various resource classes. Expanding a class displays the resource entities that it contains and the permissions that the group has for those entities. Please note, the permissions displayed are for those Access Control List entries that apply to the group, either by fully specifying the group ID or by a wildcard match.

Parent topic: Managing Groups


Assigning Resource Permissions

The property screens for a security manager definition can be used for adding, editing and deleting user, group and resource definitions held in the associated external security manager (ESM), and for specifying resource permissions. This functionality is dependent on the ESM module, with which you connect to the ESM, providing support, and on the ESM honouring the requests submitted through these screens. Where such support is not available, users, groups and resources must be managed through the tools provided with your external security manager. Please check the documentation provided with your ESM module for details.

In addition to the conditions listed above, the security manager definition must be included in the security manager list that is used by MF Directory Server.

In order to use these property screens, your user account must have User Administration permissions. .

  • About Resource Security
  • To Add a Resource Class
  • To Add a Resource Entity
  • To Assign Resource Permissions
  • To Edit a Resource Class
  • To Edit a Resource Entity
  • To Assign Resource Permissions When Using MFDS Internal Security
  • To Delete a Resource Class
  • To Delete a Resource Entity
Parent topic: Managing an LDAP from the Enterprise Server UI


About Resource Security

You can control access by a transaction to the following types of resource:

  • Files
  • Transient data queues
  • Temporary storage queues
  • Journals
  • Other transactions
  • To Enable Resource Security
Parent topic: Assigning Resource Permissions


To Enable Resource Security

To enable resource security, do the following:

  1. Specify that a transaction is to perform resource security checking, by checking Security: Resource Level Checking on the PCT page in ESMAC for the transaction. (By default, transactions do not perform resource security checking.)
  2. Specify a set of resource keys in the resource table entry (for example, the FCT entry for a file). Each resource key is a number in the range 1 through 24.
  3. Specify a set of resource keys in a user's SNT entry. A user can access a resource if one or more of the resource keys for the resource matches a resource key specified in that user's SNT entry.

The figure below illustrates the process of resource key checking.

Figure 1. Resource key checking
Resource key checking
Parent topic: About Resource Security


To Add a Resource Class

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the resource class definition that you want to edit by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Resources.
  7. Click Add.
  8. Specify the details for the resource class.

    For information about the entry fields, please refer to the page help for the screen.

  9. Click Add.
Parent topic: Assigning Resource Permissions


To Add a Resource Entity

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager to which the resource will be added by clicking the relevant radio button in the Select column.
  4. Click Edit.
  5. Click Properties .
  6. Click Resources.

    This displays a list of available resource classes.

  7. Click the Edit button adjacent to the resource class to which the new resource will belong.
  8. Click Add.
  9. Specify the details for the resource.

    For information about the entry fields, please refer to the page help for the screen.

  10. Click Add.
Parent topic: Assigning Resource Permissions


To Assign Resource Permissions

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the resource by clicking the relevant radio button in the Select column.
  4. Click Edit.
  5. Click Properties.
  6. Click Resources.

    This displays a list of available resource classes.

  7. Click the Edit button adjacent to the resource class to which the resource belongs.

    This displays a list of available resources.

  8. Click the Edit button adjacent to the resource.
  9. Specify the Access Control List(ACL) string for the resource.

    The ACL specifies the access rights for the resource entity. Each entry in an ACL is referred to as an Access Control Entry, or ACE. These entries are separated by semi-colons.

    Each ACE specifies an actor, which is a user, a wildcard pattern for users, or a group, and one or more permissions that are granted (allow) or denied (deny) to that actor. The format for the ACE is as follows:

    setting:actor:action-1,...,action-n

    Where:

    • setting is allow or deny
    • actor is the name of a user, a pattern with one or more wildcards (see Wildcards) string that will be matched against the user's name, or a group name or wildcard pattern followed by a space and the word group (eg "ADMIN group")
    • action-1 through action-n are permission tokens:
      • none
      • execute
      • read
      • update
      • add
      • delete
      • control
      • alter
      • all

    For example, the following ACL string:

    allow:Test group:Execute,Read,Update,Add,Delete;allow:Operator group:Read

    assigns the Test group execute, read, update, add and delete permissions for the resource, and assigns the Operator group read permission.

  10. Click OK.
Parent topic: Assigning Resource Permissions


To Edit a Resource Class

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the resource class definition that you want to edit by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Resources.

    This displays a list of available resource classes.

  7. Click the Edit button adjacent to the resource class you want to update.
  8. Specify the details for the class.

    For information about the entry fields, please refer to the page help for the screen.

  9. Click Apply.
Parent topic: Assigning Resource Permissions


To Edit a Resource Entity

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the resource by clicking the relevant radio button in the Select column.
  4. Click Edit.
  5. Click Properties .
  6. Click Resources.

    This displays a list of available resource classes.

  7. Click the Edit button adjacent to the resource class to which the resource belongs.

    This displays a list of available resources.

  8. Click the Edit button adjacent to the resource.
  9. Specify the details for the resource.

    For information about the entry fields, please refer to the page help for the screen.

  10. Click OK.
Parent topic: Assigning Resource Permissions


To Assign Resource Permissions When Using MFDS Internal Security

The display and setting of permissions when using MFDS Internal Security differs from that of other security managers. In its model, you cannot create resource entities, or define Access Control Lists for them. Instead there is a predefined set of permissions, which you view and set through the permissions tab when editing user groups. Users inherit their permissions from the groups to which they belong.

The instructions below are for setting permissions for a group. For instructions on adding users to groups, see To assign one or more users to a user group and To assign a user to one or more user groups.

Note:

The permissions that you grant to a group for starting, stopping, adding, deleting and modifying enterprise servers can also be overridden for individual enterprise servers. For details, see To assign permissions on a specific enterprise server when using MFDS Internal Security.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the MFDS Internal Security Manager by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Groups.
  7. Click the Edit button adjacent to the group you want to assign permissions to.
  8. Under Permissions, check each permission that you want to grant to the group. If you want to grant all permissions under the Directory Server Administration or Servers sections, click the appropriate Allow All button.

    The permissions are displayed in an inverted tree structure. Those on lower branches include the permissions on the branches from which they descend. For example, the permission to restore a repository includes the permission to import a repository. Therefore, restore is shown as a descendant of import.

    When you grant a particular permission, any permissions that it includes are automatically granted. Hence, when you check the Restore Repository permission, the Import Repository permission is automatically checked as well.

    Where a check box for a permission is greyed out, it indicates that the permission is included by other permissions that have been granted to the group. To revoke a permission that is included by others, you must first revoke those other permissions.

Parent topic: Assigning Resource Permissions


To Delete a Resource Class

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the resource class definition that you want to delete by clicking the relevant radio button in the Select column.
  4. Click Edit .
  5. Click Properties .
  6. Click Resources.

    This displays a list of available resource classes.

  7. Click the Edit button adjacent to the resource class you want to delete.
  8. Click Delete.
  9. Click OK on the Delete Confirmation page.
  10. Note:

    You cannot delete a class which contains resources.

Parent topic: Assigning Resource Permissions


To Delete a Resource Entity

In order to use these property screens, your user account must have User Administration permissions.

  1. Click Security under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  2. Click Security Managers.
  3. Select the security manager containing the resource by clicking the relevant radio button in the Select column.
  4. Click Edit.
  5. Click Properties .
  6. Click Resources.

    This displays a list of available resource classes.

  7. Click the Edit button adjacent to the resource class to which the resource belongs.

    This displays a list of available resources.

  8. Click the Edit button adjacent to the resource.
  9. Click the Delete.
  10. Click OK on the Delete Confirmation page.
Parent topic: Assigning Resource Permissions


Migrating from Enterprise Server Early Versions

For Enterprise Server releases after release 5.0 Websync 2, the Enterprise Server security architecture changed significantly. The topics in this section cover issues relating to migrating your security configurations from earlier releases.

  • Integrating Security from Early Releases: casesm
  • Exporting MFDS Internal Security Definitions
  • ADAM Migration Tasks
  • Importing Existing ES/MSS Users into Active Directory
Parent topic: Securing an Enterprise Server Installation


Integrating Security from Early Releases: casesm

The CAS ESM Module (casesm) uses the Enterprise Server legacy security definitions (stored in the CICS resource tables).

Parent topic: Migrating from Enterprise Server Early Versions


Exporting MFDS Internal Security Definitions

The topics in this section describe the process you use to export the configurations defined in the MFDS Internal Security module so that you can use them to configure an Active Directory.

  • To Export Micro Focus LDAP Schema Extensions
  • To Export Users and Groups to an LDIF File
  • To Store the Directory Server Repository in an LDAP Server
Parent topic: Migrating from Enterprise Server Early Versions


To Export Micro Focus LDAP Schema Extensions

Before you can use an LDAP repository to hold information for Micro Focus applications, its schema must be extended to support the Micro Focus objects. To do this, you create an LDIF (Lightweight Directory Interchange Format) file containing the extensions.

Use the mfds -L command line options to do this.

Syntax:

mfds -L [schema partition Distinguished Name] option ldif-filename [schema-version-1] [schema-version-2]

Parameters:

schema partition Distinguished Name | Specifies the DN of the partition in the Directory Information Tree where the schema definition is held. The schema partition holds, amongst other things, attributeSchema and classSchema objectclass instances.
option | Specifies the target directory server type: 0 = Microsoft Active Directory Application Mode (ADAM), 1 = Active Directory (Default), 2 = OpenLDAP, 3 = Sun Directory. Note: If you specify the ldif-filename, you must also specify a value for this parameter.
ldif-filename | Specifies the name of the destination file. Default: mfds_schema_[ mfds version ].ldf (e.g. mfds_schema_1.05.09.ldf)
schema-version-1 | Specifies the version of the schema extensions to be generated: 0 = current schema version (Default). Numbers greater than 0 specify older schema versions.
schema-version-2 | This option is used for upgrading from a previous schema. If schema-version-2 is specified and is less the schema-version-1, the output file is a delta between the schema-version-1 and schema-version-2. If schema-version-2 is greater than or equal to schema-version-1, this option is ignored.

Example:

To create a LDIF file called mfds-schema.ldf specifically for an Active Directory using the this_machine.mycom.com AD server, issue:

mfds -L DC=mycom,DC=com 1 c:\mfds-schema.ldf

However, in practice, rather than using a specific schema partition DN value, administrators may want to have a portable LDIF file where the root DN can be specified externally. If the Windows LDFIDE tool is used to extend the repository schema, the generated LDF file could use DC=X as the schema partition name. This can then be replaced at import time. For example,

mfds -L DC=X 1

should be sufficient for most installations.

Parent topic: Exporting MFDS Internal Security Definitions


To Export Users and Groups to an LDIF File

  1. To export existing Directory Server users and groups from the MF Directory Server repository to an LDIF file, use the mfds -e command. The syntax is as follows:

    mfds -e root DNuser partition DNgroup partition DNresource partition DNschema formatldif-filenamesec-path

    root DN | The application partition to which all of the exported entries will be assigned.
    user partition DN | The name of the container within the application partition to which the exprted users will be assigned.
    group partition DN | The container within the application partition to which the exported groups will be assigned.
    resource partition DN | The container within the application partition to which the exported resource definitions will be assigned.
    schema format | Values: 1 = Active Directory (Default), 2 = OpenLDAP.
    sec-path | The location of the MF Directory Server repository.

    For example, the following command exports MF Directory Server users, groups and resources to an Active Directory compatible LDIF file.

    mfds -e "CN=Micro Focus,CN=Program Data,DC=local" "CN=Enterprise Server Users"
"CN=Enterprise Server Groups" "CN=Enterprise Server Resources" 1 mfdsusers.ldf
    CN=Micro Focus,CN=Program Data,DC=local | specifies the application partition to which all exported entries will be assigned
    CN=Enterprise Server Users | specifies the container within the application partition to which the exported users will be assigned
    CN=Enterprise Server Groups | specifies the container within the application partition to which the exported groups will be assigned
    CN=Enterprise Server Resources | specifies the container within the application partition to which the exported resource definitions will be assigned
Parent topic: Exporting MFDS Internal Security Definitions


To Store the Directory Server Repository in an LDAP Server

  1. Update the schema of the target LDAP server to support the Enterprise Server configuration objects. How you do this will vary slightly depending on the particular LDAP server that you are using. In all cases, you will use the MFDS -L command to create an LDIF file containing the necessary extensions and then use the relevant import command for your LDAP server.

    For more information see, To export Micro Focus LDAP schema extensions and To extend an ADAM repository to support Enterprise Server configuration objects.

  2. Click Options under Configure on the menu on the left-hand side of an Enterprise Server Administration Web page.
  3. From the drop-down list under Repository location select ldap:// .
  4. Specify the LDAP server, connection information and the LDAP credentials required to write to the server.
Parent topic: Exporting MFDS Internal Security Definitions
Related information
To export Micro Focus LDAP schema extensions
To extend an ADAM repository to support Enterprise Server configuration objects
Configuring Active Directory for Enterprise Server Security
Configuring Active Directory Users as Enterprise Server Administrators
Initial Setup of Enterprise Server Security with Microsoft Active Directory (Windows only)
Manual steps for installing Micro Focus schema extensions and application containers under OpenLDAP
To export MF Directory Server users and groups to an LDIF file
To update a previously extended ADAM repository to support changes to Enterprise Server configuration objects
To migrate Directory Server users to an ADAM repository
To migrate Enterprise Server users to an ADAM repository
To configure the Security Facility to use the MLDAP ESM
Implementing Enterprise Server Security with Active Directory


ADAM Migration Tasks

This section details the tasks required to migrate your security configuration used by Enterprise Server configured using the previous Enterprise Server security infrastructure, that is up to and including release 5.1 Websync 2..

  • To Extend an ADAM Repository to Support Enterprise Server Configuration Objects
  • To Update a Previously Extended ADAM Repository to Support Changes to Enterprise Server Configuration Objects
  • To Migrate Directory Server Users to an ADAM Repository
  • To Migrate Enterprise Server Users to an ADAM Repository
  • To Configure the Security Facility to Use the MLDAP ESM
  • Implementing Enterprise Server Security with Active Directory
Parent topic: Migrating from Enterprise Server Early Versions


To Extend an ADAM Repository to Support Enterprise Server Configuration Objects

  1. Create an LDIF file file containing the required schema extensions by using the mfds -L command. For example, at the command line, enter:
    mfds -L DC=X 1 mfds_schema.ldf

    This creates an LDIF file mfds_schema.ldf. The DC=X specifies distinguished name for the schema partition string assigned to each entry in the LDIF file. You could specify the actual destination here, but typically you will want to create a portable file. In this example, we use DC=X and replace it with the appropriate value when we import.

  2. Use the LDIFDE command to import the generated LDF file into ADAM. For example,
    ldifde -I -v -k -c "DC=X" CN=Schema,CN=Configuration,
DC=customer_dom,DC=com -f mfds_schema.ldf

    The -c option replaces the schema partition string specified when creating the LDIF file with the schema partition into which the objects are to be imported. In this example, the container is CN=Schema,CN=Configuration, DC=customer_dom,DC=com but it will vary depending on your particular circumstances. If using ADAM, the schema partition root can be extracted using the schemaNamingContext RootDSE attribute value e.g.

    ldifde -i -f mfds-schema.ldf -s -k -v -j . -c "DC=X" #schemaNamingContext
Note:

You must have sufficient rights to modify the LDAP schema and the schema must be writable.

Parent topic: ADAM Migration Tasks
Related information
Configuring Active Directory for Enterprise Server Security
Configuring Active Directory Users as Enterprise Server Administrators
Initial Setup of Enterprise Server Security with Microsoft Active Directory (Windows only)
Manual steps for installing Micro Focus schema extensions and application containers under OpenLDAP
To export MF Directory Server users and groups to an LDIF file
To export Micro Focus LDAP schema extensions
To store the Directory Server repository in an LDAP server
To update a previously extended ADAM repository to support changes to Enterprise Server configuration objects
To migrate Directory Server users to an ADAM repository
To migrate Enterprise Server users to an ADAM repository
To configure the Security Facility to use the MLDAP ESM
Implementing Enterprise Server Security with Active Directory


To Update a Previously Extended ADAM Repository to Support Changes to Enterprise Server Configuration Objects

If you have extended an ADAM repository to support Net Express WS02 configuration objects, you will need to update the schema to include later changes. The steps involved are described below. If you have not previously extended the repository, simply follow the instructions in

  1. Create a delta LDIF file file containing the latest schema extensions by using the mfds -L command. For example, at the command line, enter:
    mfds -l DC=X 1 AD_MF_schema_delta.ldf 0 1

    This creates an LDIF file mfds_schema.ldf. The DC=X specifies distinguished name for the schema partition string assigned to each entry in the LDIF file. You could specify the actual destination here, but typically you will want to create a portable file. In this example, we use DC=X and replace it with the appropriate value when we import.

    The 1 following DC=X indicates that the generated file is to be in Active Directory/ADAM format. The 0 following the file name indicates that a delta containing the most recent definitions should be generated. The 1 at the end of the command indicates that the delta is to include definitions since version 1 of the schema (version 1 was released with Net Express WS02).

  2. Use the LDIFDE command to import the generated LDF file into ADAM. For example,
    ldifde -i -v -k -c "DC=X" CN=Schema,CN=Configuration,
DC=customer_dom,DC=com -f mfds_deleta.ldf

    The -c option replaces the schema partition string specified when creating the LDIF file with the schema partition into which the objects are to be imported. In this example, the container is CN=Schema,CN=Configuration, DC=customer_dom,DC=com but it will vary depending on your particular circumstances. If using ADAM, the schema partition root can be extracted using the schemaNamingContext RootDSE attribute value e.g.

    ldifde -i -f mfds-delta.ldf -s -k -v -j . -c "DC=X" #schemaNamingContext
Note:

You must have sufficient rights to modify the LDAP schema and the schema must be writable.

Parent topic: ADAM Migration Tasks
Related reference
To export Micro Focus LDAP schema extensions
Related information
Configuring Active Directory for Enterprise Server Security
Configuring Active Directory Users as Enterprise Server Administrators
Initial Setup of Enterprise Server Security with Microsoft Active Directory (Windows only)
Manual steps for installing Micro Focus schema extensions and application containers under OpenLDAP
To export MF Directory Server users and groups to an LDIF file
To store the Directory Server repository in an LDAP server
To extend an ADAM repository to support Enterprise Server configuration objects
To migrate Directory Server users to an ADAM repository
To migrate Enterprise Server users to an ADAM repository
To configure the Security Facility to use the MLDAP ESM
Implementing Enterprise Server Security with Active Directory


To Migrate Directory Server Users to an ADAM Repository

Before you can do this, the target repository must be extended to support the Enterprise Server configuration objects. How you do this will vary slightly depending on the particular LDAP server that you are using. In all cases, you will create use the MFDS -L command to create an LDIF file containing the necessary extensions and then use the relevant import command for your LDAP server.

For more information see, To update an ADAM repository to support Enterprise Server configuration objects.

  1. Create an LDIF file file containing the user and group definitions by using the mfds -e command. For example, at the command line, enter:
    mfds -e "CN=Micro Focus,CN=Program Data,DC=local" "CN=Enterprise Server Users"
"CN=Enterprise Server Groups" "CN=Enterprise Server Resources" 1 mfds_users.ldf

    In this example:

    "CN=Micro Focus,CN=Program Data,DC=local" | specifies the application partition to which all exported entries will be assigned
    "CN=Enterprise Server Users" | specifies the container within the application partition to which the exported users will be assigned
    "CN=Enterprise Server Groups" | specifies the container within the application partition to which the exported groups will be assigned
    "CN=Enterprise Server Resources" | specifies the container within the application partition to which the exported resource definitions will be assigned

    This creates an LDIF file mfds_users.ldf.

  2. Use the LDIFDE command to import the generated LDF file into ADAM. For example,
    ldifde -i -f fds_users.ldf -s localhost:389 -k -v -j
Note:

You must have sufficient rights to modify the ADAM container and the container must be writable.

Parent topic: ADAM Migration Tasks
Related information
To migrate Directory Server users to an ADAM repository
Configuring Active Directory for Enterprise Server Security
Configuring Active Directory Users as Enterprise Server Administrators
Initial Setup of Enterprise Server Security with Microsoft Active Directory (Windows only)
Manual steps for installing Micro Focus schema extensions and application containers under OpenLDAP
To export MF Directory Server users and groups to an LDIF file
To export Micro Focus LDAP schema extensions
To store the Directory Server repository in an LDAP server
To extend an ADAM repository to support Enterprise Server configuration objects
To update a previously extended ADAM repository to support changes to Enterprise Server configuration objects
To migrate Enterprise Server users to an ADAM repository
To configure the Security Facility to use the MLDAP ESM
Implementing Enterprise Server Security with Active Directory


To Migrate Enterprise Server Users to an ADAM Repository

Before you can migrate your users, the target repository must be extended to support the Enterprise Server configuration objects. How you do this will vary slightly depending on the particular LDAP server that you are using. In all cases, you will create use the MFDS -L command to create an LDIF file containing the necessary extensions and then use the relevant import command for your LDAP server.

For more information see, To update an Adam repository to support Enterprise Server configuration objects .

The Monitor and Control users are defined in Sign On Table (SNT) entries. These are stored in a file called dfhdrdat . By default this is stored in your installdir \Base\FILES\SYS directory. This has an associated index file dfhdrdat.idx . Both files must be in the same location.

  1. Use the cas-to-ad.exe utility to do migrate the users. The utility has a number of options for specifying your LDAP directory credentials, target container, server details, path to the dfhdrdat file, password encoding and the information to be displayed.

    Examples:

    cas-to-ad
    cas-to-ad -u myuser -p password -r . -l localhost:389

    This will extract user definitions from dfhdrdat and attempt to import them into your LDAP Directory.

Parent topic: ADAM Migration Tasks
Related information
To migrate Directory Server users to an ADAM repository
Configuring Active Directory for Enterprise Server Security
Configuring Active Directory Users as Enterprise Server Administrators
Initial Setup of Enterprise Server Security with Microsoft Active Directory (Windows only)
Manual steps for installing Micro Focus schema extensions and application containers under OpenLDAP
To export MF Directory Server users and groups to an LDIF file
To export Micro Focus LDAP schema extensions
To store the Directory Server repository in an LDAP server
To extend an ADAM repository to support Enterprise Server configuration objects
To update a previously extended ADAM repository to support changes to Enterprise Server configuration objects
To configure the Security Facility to use the MLDAP ESM
Implementing Enterprise Server Security with Active Directory


To Configure the Security Facility to Use the MLDAP ESM

The Enterprise Server External Security Facility connects to external LDAP servers through the MLDAP ESM module. To configure this:

  1. Add a security manager to the security manager pool as described by To add a security manager to the pool and specify the following details:
    • Name - This is the name (for example, you might call it MLDAP) that you will use to refer to the security manager when adding it to particular security manager lists.
    • Module - Enter mldap_esm.
    • Connection Path - Enter the address for your LDAP server (e.g. localhost:389).
    • Authorized ID and Password - These refer to the credentials that the MLDAP ESM module will use to connect to and, if you are using the MF Directory Server screens for managing users and resources, write any necessary information to the LDAP server.

    Make sure that the Enabled option is checked. If it is not, the security manager will not be used by any security manager list to which it is added.

  2. Add the security manager to the security manager list for the relevant servers. See To add a security manager to an enterprise server's security manager list, To add a security manager to the Directory server's security manager list and To add a Security Manager to the Default ES Security Manager List.
Parent topic: ADAM Migration Tasks
Related concepts
Configuring Microsoft Users
Related tasks
To Configure a Security Manager's Environment
Related information
To add a security manager to the pool
Configuring Active Directory for Enterprise Server Security
Configuring Active Directory Users as Enterprise Server Administrators
Initial Setup of Enterprise Server Security with Microsoft Active Directory (Windows only)
Manual steps for installing Micro Focus schema extensions and application containers under OpenLDAP
To export MF Directory Server users and groups to an LDIF file
To export Micro Focus LDAP schema extensions
To store the Directory Server repository in an LDAP server
To extend an ADAM repository to support Enterprise Server configuration objects
To update a previously extended ADAM repository to support changes to Enterprise Server configuration objects
To migrate Directory Server users to an ADAM repository
To migrate Enterprise Server users to an ADAM repository
Implementing Enterprise Server Security with Active Directory


Implementing Enterprise Server Security with Active Directory

If you enable external security in Enterprise Server, then you need to understand the implications and how security is checked upon an action. This document describes the relationship between a user and the different classes used to implement security.

In order to use External Security with Enterprise Server, you need first to create users and groups in Active Directory. These users and groups will have different properties, these properties will be used to verify that the user can access a resource.

Parent topic: ADAM Migration Tasks


Importing Existing ES/MSS Users into Active Directory

You can import existing ES/MSS users from a CAS RDO (Resource Definition Online) file into Active Directory.

To import those users, use the Micro Focus cas-to-ad utility. This program reads a CAS RDO file, adding each user it finds to AD. (It will also try to add the CAS system users such as CICSUSER, but they were already added in the previous step.) The basic command is:

cas-to-ad -u - -d "domain-DN" -c "user-container" -l servername -U userclass

Be sure to enter the options just as shown above - they are case-sensitive. Ignore any warning messages about users that already exist.

The user-container parameter will typically be either "CN=Enterprise Server Users,CN=Micro Focus,CN=Program Data" if you are using microfocus-MFDS-User, or "CN=Users" if you are using Windows users (the Microsoft user class).

The servername parameter can also be specified as a URL, as in "-l ldap://servername". If your LDAP server uses a non-default port, you can specify that as well.

You can also use LDAP-over-SSL by using an "ldaps" URL: "ldaps://servername". (Requires cas-to-ad 1.4.0 or later.) This will only work if your server supports LDAP-over-SSL (this is usually true with Active Directory running on newer Windows domain controllers). Also, the LDAP client library will have to verify the Active Directory server's certificate, which may fail if your server uses a certificate signed by an unusual Certification Authority. If you want to use LDAP-over-SSL but cas-to-ad fails to connect to AD, contact your AD administrator for a copy of the signing certificate and instructions for installing it in your client system's trusted root certificate store.

cas-to-ad will look for the RDO file (dfhdrdat) in the directory specified by the environment variable TXRDTP. If that environment variable is not set, cas-to-ad looks in the current directory, then in Base\files\sys under the Net Express installation directory. To specify a different location, add "-r path" to the command line.

If cas-to-ad complains that it can't open your RDO file, it may be in use. Copy dfhdrdat.* to a temporary directory and use the -r path option to tell cas-to-ad to use the copy.

The "-u -" option binds (logs on) to AD as the current Windows user. If you are not logged in as a user with the necessary authority, or if you are running cas-to-ad remotely from a system in a different domain, you will need to specify a different user ID. You will also be prompted for a password, unless you specify it on the command line with the -p option. For example:

cas-to-ad -u domain\Administrator

or

cas-to-ad -u "CN=Administrator,CN=Users,domain-DN"

or to avoid having to enter the password when prompted:

cas-to-ad -u domain\Administrator -p password

Run "cas-to-ad -h" for a usage message to see other options.

Note that in some cases AD may not let you set passwords on unencrypted connections, so this command may fail if you use the -u option. This should be fixed in a future release; for now, if you encounter this problem, run cas-to-ad on a system in the same domain as the AD server. You can also get an encrypted connection by using LDAP-over-SSL, as described above.

  • Create MFDS Objects LDIF File
  • Set MFDS User Passwords
  • Import the MFDS Objects
Parent topic: Migrating from Enterprise Server Early Versions


Create MFDS Objects LDIF File

Extract MFDS users, groups, and resources from your existing MFDS configuration:

mfds -e "domain-DN" "user-container" "CN=Enterprise Server User Groups,CN=Micro Focus,CN=Program Data" "CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data" 1 mfds_users.ldf userclass

Set domain-DN, user-container, and userclass as in previous commands. Be careful not to confuse user-container (CN=...) and userclass (microfocus-MFDS-User or user), which is easy to do.

(If you are using ADAM rather than AD, you can specify "0" instead of "1" before mfds_users.ldf. This will produce a slightly different .ldf file that will tell ADAM that the passwords for the MFDS users do not expire.)

This command will create mfds_users.ldf.

Parent topic: Importing Existing ES/MSS Users into Active Directory


Set MFDS User Passwords

If you are using the microfocus-MFDS-User object class for your users, MFDS will set their password attribute (microfocus-MFDS-User-Pwd) in mfds_users.ldf using the password hashes it has for those users. This means MFDS users will continue to have the same passwords.

If you are using the user object class for your users, currently MFDS does not set user password attributes, which means the newly-imported MFDS users have no passwords. Until this is fixed, you will either need to edit the mfds_users.ldf file before importing it and add the appropriate password attributes, or you will have to set the passwords manually after the users are imported:

  • To set a password in the LDIF file, add this attribute to the user: userPassword: password (AD will automatically encrypt this password.)
  • To set a password manually, you can use the Microsoft ADSIEdit utility (%WINDIR%\ADAM\ADAM-ADSIedit.msc): right-click on a user and choose "Reset Password".
  • You can also use normal Windows system administration mechanisms to set user passwords, since the user class uses standard Windows passwords.

At a minimum, you will need at least one MFDS administrative user with a password (such as schemaadmin), so you can log on to MFDS. Typically, you will also want at least one user with "modify" authority for use by ES and MFCS; this will usually be an MSS user as well, since it will need MSS authority to start and stop the region (if security is configured for the ES server). The SYSAD user is usually used for this purpose, at least during initial installation and verification. (You can delete these users later.)

If you want to continue using unsecured ES regions, you will need to set the passwords for the mf_cs and mf_mdsa predefined users.

By default, the passwords for MFDS predefined users are the same as their usernames.

Once you have successfully configured ES LDAP-based security for MFDS, you may also be able to use MFDS to set passwords, depending on details of your configuration.

Parent topic: Importing Existing ES/MSS Users into Active Directory


Import the MFDS Objects

ldifde -i -f mfds_users.ldf -s servername -k -j .

Note that since you specified your domain-DN when creating mfds_users.ldf, you do not need a -c option for this command.

Parent topic: Importing Existing ES/MSS Users into Active Directory


Security Reference Information

This section contains security-related reference information.

  • Environment Variables used in Enterprise Server Security
  • Resource Classes used by Enterprise Server
  • Solutions, Restrictions, and Changes in Behavior
Parent topic: Securing an Enterprise Server Installation


Environment Variables used in Enterprise Server Security

The following topics are concerned with the environment variables that you are likely to use in the context of Enterprise Server security.

  • Enterprise Server Default Users and Associated Enviroment Variables
  • Variables for Configuring MSS Security Behaviour
  • Environment Variables for CICS Resource Classes
Parent topic: Security Reference Information


Enterprise Server Default Users and Associated Enviroment Variables

Enterprise Server has a set of default users that are used when no user is logged on for CICS, JES, IMS or ESMAC authentication. These users and the associated environment variables are:

Environment | User | Associated Environment Variable
ESMAC | mfuser | ES_USR_DFLT_ESMAC
CICS | CICSUSER | ES_USR_DFLT_CICS
JES | JESUSER | ES_USR_DFLT_JES
IMS | IMSUSER | ES_USR_DFLT_IMS

Using the environment variables, the default users can be overwritten by the users of your choice. For instance we could overwrite the ESMAC default user using in the region configuration.

configuration:
[ES-Environment]
ES_USR_DFLT_ESMAC=ESMACUSR
Parent topic: Environment Variables used in Enterprise Server Security


Variables for Configuring MSS Security Behaviour

The variables below are used to control CICS and IMS security processing. They correspond to CICS and IMS intialization parameters for the mainframe, with a prefix of ES_ESM.

  • ES_ESM_CMDSEC
  • ES_ESM_PLTPISEC
  • ES_CESN_NO_OS390
  • ES_ESM_PLTPIUSR
  • ES_ESM_RCF
  • ES_ESM_RESSEC
  • ES_ESM_SECPRFX
  • ES_ESM_XUSER
  • ES_OLD_SEC_TSTD
  • ES_SURROGATE_JOB_USER
Parent topic: Environment Variables used in Enterprise Server Security


ES_ESM_CMDSEC

Use this variable to determine whether CICS processing should honor the CMDSEC option specified on a transaction's PLT definition.
Setting | Result
ASIS | The CMDSEC option of a transaction's resource definition will be honored. That is, command security checking is performed only when CMDSEC is set to YES on the transaction resource definition.
ALWAYS | CICS processing always performs command security checking irrespective of the CMDSEC setting on the transaction definition.
Parent topic: Variables for Configuring MSS Security Behaviour


ES_ESM_PLTPISEC

Use this variable to choose the desired level of security checking for PLTPI processing.
Setting | Result
NONE | No security will be performed for PLTPI processing
ALL | Resource security check and Command security check will be performed
RESSEC | Only Resource security check will be performed
CMDSEC | Only Command security check will be performed
Parent topic: Variables for Configuring MSS Security Behaviour


ES_CESN_NO_OS390

Use this variable to override the default behaviour CESN transaction response for invalid user credentials. Default behaviour reports "Your userid is invalid" or "Your password is invalid". Setting this variable to any value will cause CESN to produce an invalid credential message instead.

Example:

ES_CESN_NO_OS390=secured
Parent topic: Variables for Configuring MSS Security Behaviour


ES_ESM_PLTPIUSR

Use this to specify the userid under the authority of which PLT programs will run during CICS initialization. The userid must have appropriate authorization (as determined by the PLTPISEC parameter) to access all the resources used by the programs. Enterprise Server will check that the CICS region has authority to act as a surrogate for the userid specified.

If you do not specify PLTPIUSR, the user specified when starting the enterprise server/CICS region is used. Where this is the case, this user must have appropriate authorization on the resources used by the PLT programs.

Parent topic: Variables for Configuring MSS Security Behaviour


ES_ESM_RCF

Use this variable if RACF is to be used for command authorization.
Setting | Result
A | Includes options T, C, and S.
C | Specifies that RACF is to be used for ETO terminal command authorization.
N | Specifies that no sign-on, transaction, or command authorization is to be performed by RACF.
S | Specifies that RACF is to be used for static and ETO terminal command authorization. Includes option C.
T | Specifies that RACF is to be used for sign-on and transaction authorization.
Y | Includes options T and C.
Parent topic: Variables for Configuring MSS Security Behaviour


ES_ESM_RESSEC

Use this parameter to determine whether CICS processing should honor the RESSEC option specified on a transaction's PLT definition.
Setting | Result
ASIS | The RESSEC option of a transaction's resource definition will be honored. That is, resource security checking is performed only when RESSEC is set to yes on the PLT definition.
ALWAYS | CICS processing always performs resource security checking irrespective of the RLS security setting on the transaction definition.
Parent topic: Variables for Configuring MSS Security Behaviour


ES_ESM_SECPRFX

Use this to determine whether or not CICS processing should prefix the resource names when making security queries.
Setting | Result
NO | No prefixes are used
YES | Resource names are prefixed with the CICS region user ID.
prefix | This string will be used as the prefix for resource names. It can be 1 to 8 upper case alphanumeric characters and it must start with an alphabetic character.
Parent topic: Variables for Configuring MSS Security Behaviour


ES_ESM_XUSER

Use this to determine whether or not CICS processing will perform surrogate user checks.
Setting | Result
NO | No surrogate user checking is performed.
YES | Perform surrogate user checking wherever such checks are permitted.
Parent topic: Variables for Configuring MSS Security Behaviour


ES_OLD_SEC_TSTD

Use this to prevent security being enforced for TS or TD queues that are not defined in your security repository.
Setting | Result
Any value | Security will not be enforced for TS and TD queues that are not defined as entities within the security repository.
Important: If you do not set this variable, and you enable security for your enterprise server, you must declare each TS or TD that your transactions will access in your security repository.
Parent topic: Variables for Configuring MSS Security Behaviour


ES_SURROGATE_JOB_USER

Use this to associate a user ID with a job when submitting for processing through the internal reader from CICS.
Setting | Result
Any value | The user ID that started the ES region is used in the job submission.
No value | The CICS default user CICSUSER, or as specified by ES_USR_DFLT_CICS, is used in the job submission.
Parent topic: Variables for Configuring MSS Security Behaviour


Environment Variables for CICS Resource Classes

The variables listed below can be used to override the default CICS resource classes.

Environment variable | Default class | Possible values | Prefix letter if a name is specified + 7 letters of the name
ES_CLASS_XPCT | ACICSPCT | YES/NO/NAME | A
ES_CLASS_XCMD | CCICSCMD | YES/NO/NAME | C
ES_CLASS_XDCT | DCICSDCT | YES/NO/NAME | D
ES_CLASS_XFCT | FCICSFCT | YES/NO/NAME | F
ES_CLASS_XJCT | JCICSJCT | YES/NO/NAME | J
ES_CLASS_XPPT | MCICSPPT | YES/NO/NAME | M
ES_CLASS_XPSB | PCICSPSB | YES/NO/NAME | P
ES_CLASS_XRES | RCICSRES | YES/NO/NAME | R
ES_CLASS_XTST | SCICSTST | YES/NO/NAME | S
ES_CLASS_XTRAN | TCICSTRN | YES/NO/NAME | T

For instance if you set ES_CLASS_XTRAN to the value MYTRANS then CICS will look for TMYTRANS as the class.

Parent topic: Environment Variables used in Enterprise Server Security


Resource Classes used by Enterprise Server

Each item (e.g. program, file, transaction) to which access is controlled is a called a resource. A resource has a name and a class, which indicates the type of the resource. For example, each enterprise server is a resource, and all enterprise servers belong to the same resource class.

A resource name must be unique within its class. That is, you can define two or more resources with the same name, provided that they belong to different classes.

MSS resources use various class names defined by IBM. Non-MSS resources, such as ES configuration definitions in MFDirectory Server, use resource class names defined by Micro Focus (using syntax that's not permitted for MSS resource class names, to avoid collisions). Users can also define their own resource classes for performing explicit access checks in applications.

When a user requests access to a resource the security facility relays the request to the external security manager, specifying the user, the resource and the resource class. The security manager will then look for resource rules that match the resource name. The processing of a request is dependent on the external security manager.

When Enterprise Server executes application programs in the various MSS processing regimes, it makes the appropriate security queries. This behaviour is intended to emulate, as far as is feasible, that found on IBM mainframe platforms. The entities and classes used are specified in the tables listed below.

  • Resource Classes for CICS Security
  • Resource Classes for JES Security
  • Resource Classes for IMS Security
  • Resource Classes for ESMAC and Operator Command Security
  • Resource Classes for MF Directory Server
  • Resource Classes for MQSeries
  • CICS Resource and Command Checks
Parent topic: Security Reference Information


Resource Classes for CICS Security

The table below defines the name of each default resource class used in Enterprise Server for CICS security, its meaning, the type of resource entities it contains, and the minimum permission that a user requires on the entities.

Note:

The CICS class names can be configured using environment variables (see Environment Variables for CICS Resource Classes). CICS will only use the first 7 characters of the value specified in the environment variable, it will then prefix the value with 1 character depending on the request.

CICS Class name | CICS corresponding | Entities | ACCESS LEVEL
ACICSPCT | CICS Program control table | Started Transactions | READ
CCICSCMD | Used by CICS/ESA 3.1, or later, to verify that a user is permitted to use CICS system programmer commands such as INQUIRE, SET, PERFORM, and COLLECT | CICS Command Functions | See resource and cross reference table
DATASET | Dataset Names or Physical Filename used by CICS at startup | Files | READ or UPDATE
DCICSDCT | CICS Transient data queues | Transient Data Destination | UPDATE
FCICSFCT | CICS File control table | Files | READ or UPDATE
JCICSJCT | CICS Journal control table | Journal Number | READ or UPDATE
MCICSPPT | CICS Processing program table (LINK/XCTL) | Programs | READ
PCICSPSB | CICS Program specification blocks (PSBs) | Program Status Block | N/A
SCICSTST | CICS temporary storage queues | Temporary Storage Queues | READ or UPDATE
TCICSTRN | CICS Transactions | Transactions | READ
SURROGAT | Class for CICS SURROGATE users (EXEC CICS START USERID). | Users | READ
Note:

In previous releases, security was not enforced for TS or TD queues that were not declared in the security repository. Now, by default, you must declare each TS or TD that your transactions will access. To revert to the previous behaviour, use the ES_OLD_SEC_TSTD environment variable.

Parent topic: Resource Classes used by Enterprise Server


Resource Classes for JES Security

The table below defines the name of each default resource class used in Enterprise Server for JES security, its meaning, the type of resource entities it contains, and the minimum permission that a user requires on the entities.

JES Class name

JES relation

Entities

ACCESS LEVEL

DATASET

Dataset Names

Files

None, Read, Update, Alter

JESINPUT

Conditional access support for commands or jobs entered into the system through a JES input device. INTRDR = Jobs submitted via Internal Reader as a result of executing JCL. STCINRDR=Jobs submitted via Internal Reader as a result of the execution of a CICS or IMS transaction. TSUINRDR = Jobs submitted via the ESMAC JES "Control" page and/or the cassub command line interface.

INTRDR, STCINRDR, TSUINRDR

None, Read

JESJOBS

Controlling the submission and cancellation of jobs by job name.

CANCEL.nodename.userid.jobname (for job cancellation authority)

SUBMIT.nodename.jobname.userid (for job submissions)

where nodename is the name of the enterprise server.

Note:

These rules are not typically used, but they do provide granularity of control for those environments with special requirements.

NONE

Allows no access.

READ

Allows user to submit jobs

UPDATE

Equivalent to READ.

CONTROL

Equivalent to UPDATE.

ALTER

Allows jobs to be cancelled

JESSPOOL

Controlling access to job data sets on the JES spool (Joblog, SYSOUT and Messages.

localnodeid.userid.jobname.jobid.dsnumber.name

where

  • localnodeid is the name of the enterprise server
  • dsnumber is the relative dataset number for the job e.g. 001
  • name is the dd name
Note:

These rules are not typically used, but they do provide granularity of control for those environments with special requirements.

NONE

Allows no access.

READ

Allows user to view the spool data set, but not change its attributes. For example, this does not allow the following keywords on the OUTPUT command: NOKEEP, NOHOLD, DELETE, NEWCLASS, and DEST.

UPDATE

Allows to update a spool data set.

CONTROL

Equivalent to UPDATE.

ALTER

Allows any operand specified on the TSO OUTPUT command, including deleting and printing. Also, when specified for a discrete profile, allows the user to change the profile itself.

PHYSFILE

Controls access to the physical file when changes to the dataset are made.

See the usage notes at the end of this table.

Physical files

None, Alter

SURROGAT

JES Class for controlling access to job submission by surrogates. If UserA wants to submit a job to run as UserB then he must have "Read" access to the SURROGAT class for entity UserB.SUBMIT

execution-userid .SUBMIT

For example, if USERA as USERB's surrogate, Enterprise Server will check that USERA has read access for the entity, USERB.SUBMIT in the SURROGAT class.

None, Read

PHYSFILE usage notes

When a user with alter access to a DATASET class make changes, before the changes are applied to the physical file, the PHYSFILE class is checked for access rights. Changes are made only if the user has access rights to PHYSFILE.

For example, in ESMAC, user access to PHYSFILE is verified when a user creates a new file, and when the physical file name is changed. Changes are allowed only when the user has access rights to PHYSFILE.

If the PHYSFILE class does not exist, access rights are not verified before the changes to the physical file are made.

Below is an example LDIF definition for PHYSFILE.

#########################
# RACF Class = PHYSFILE #
#########################
dn:CN=PHYSFILE,CN=Enterprise Server Resources,CN=MicroFocus,CN=RPIS,DC=mftesting,DC=com
changetype: add
objectClass: top
objectClass: container
description: JES Class for controlling access to physical files

#########################
# physical file MYFILE #
#########################
dn:CN=D\3A\\RPIS\\DATA\\MYFILE.DAT,CN=PHYSFILE,CN=Enterprise ServerResources,CN=Micro Focus,CN=RPIS,DC=mftesting,DC=com changetype: add
objectClass: microfocus-MFDS-Resource
microfocus-MFDS-Resource-Class:PHYSFILE
microfocus-MFDS-Resource-ACE: allow:ALLUSER group:update
microfocus-MFDS-Resource-ACE: deny:*:execute
microfocus-MFDS-UID: mfuid
Parent topic: Resource Classes used by Enterprise Server


Resource Classes for IMS Security

The table below defines the name of each default resource class used in Enterprise Server for IMS security, its meaning, the type of resource entities it contains, and the minimum permission that a user requires on the entities.

IMS Class name | IMS relation | Entities | ACCESS LEVEL
TIMS | IMS transactions security class | Transactions | Read
CIMS | IMS Commands security class | IMS Commands | Read
FIMS | IMS Field-level sensitivity class | IMS Segments Fields | Update
IIMS | IMS PSB security class | IMS PSB access | Update
LIMS | IMS LTERM security class | IMS Logical terminals | Read
PIMS | IMS Database security class | IMS DBD access | Update
SIMS | IMS Segment-level security class | IMS Segments access | Update
OIMS | IMS Other items security class | IMS User defined security | Update
Parent topic: Resource Classes used by Enterprise Server


Resource Classes for ESMAC and Operator Command Security

The list below defines the name of each default resource class used in Enterprise Server for ESMAC and operator command security, its meaning, the type of resource entities it contains, and the minimum permission that a user requires on the entities.
OPERCMDS
Relation
Class for operator commands used by casstart/casstop/casfile/cassub/casout... commands
Entities
ES Commands
Access Level
Alter
MFESMAC
Relation
MAC Class for controlling access to ESMAC Resources

An attempt has been made to match the Entities listed below with the individual flags that are available for each user as defined in the old CICS Resource definition. For each "flag" there are three states: None, Read, Update.

Entities
Entity | Description
TABLE | This is the equivalent of the "Master" flag within the CICS RDT file. If your user has "Update" access to this resource then they will have the ability to interact with the majority of ESMAC function. Primary items controlled by this setting are the appearance of the buttons for controlling the SEPS (Tracing, Stopping), Stopping the Server, Accessing the console.log, trace data, dump data, and the list of currently active ACEEs. If a user has "None" then they will not be shown any buttons other than the Server Status Button and the Monitoring button in addition to the Chg User button which allows them to sign-on. The basic effect of no access to this resource is that they are treated in the same way as an unauthenticated user. If they have "Read" access they will be shown the options but will be unable to perform any updates. If they have "Update" access or greater than they have full control of these functions.
GRP | This resource controls access to the buttons under the Resources drop down when the By Group selection is utilized. If the user has "Update" access to this resource then they will be able to access all the buttons that appear under the Resources pulldown when the By Group selection is made.
IMS | This controls access to the buttons under the Resources drop down when the IMS selection is utilized. See notes on GRP for details on the access rights.
JCL | This controls access to the buttons under the Resources drop down when the JES selection is utilized. See notes on GRP for details on the access rights.
DCT, DOC, FCT, ICE, JCT, MPR, PCT, PLT, PPT, SYS6, SYSC, TCP, TCT, TERM, TST, TTYPE, URI, XAT, XLT This controls the access a user has to the various resources (e.g. DCT, PCT, FCT) when selected via the By Type or Active menus under the Resources pulldown. "None" indicates that they can do nothing with this resource type, "Read" indicates that they can see the current settings, and "Update" indicates that they can modify the entries of this type.

For example, if a user has READ access to PCT*, he or she will have the ability to view any PCTs defined to the system, but will not be able to update the entries. If the user has "Update" access then he or she can change and even install new ones. (assuming appropriate CINS authority)

The resources listed above also control access to specific pages. If for instance a page is primarily the DCT details for a DCT entry then attempting to access this page with no authority will result in your being driven to a "Sign-on" screen.

Access Level
None, Read, Update
Parent topic: Resource Classes used by Enterprise Server


Resource Classes for MF Directory Server

This topic describes the resource classes and entities that are used to control access to the functionality of Enterprise Server Administration.

Note: The management of permissions for MFDS Internal Security differs from that for other Security Managers, and is covered separately by Legacy Directory Server Security Model.
  • Class - Enterprise Server Administration
  • Class - Servers
Parent topic: Resource Classes used by Enterprise Server


Class - Enterprise Server Administration

This class contains a set of predefined entities that correspond to the screens and functions used to manage the configuration of MF Directory Server and to access the user, group and resource property screens for security managers. The entities, the functions that they control, and the permissions that a user requires are as follows:
Entity | Controls | Permission required
Repository Access | Saving a copy of the repository to a file system directory. | Read
 | Importing data from a file system directory. | Add
 | Restoring a repository from a file system directory. The process of restoring overwrites all of the information in the current repository. | Add, Delete
 | Deletion of the entire Directory Server repository including all enterprise servers. | Add, Delete
Options | Changing of Directory Server options. | Update
Object Permissions | Allocation of permissions on individual enterprise servers. | Update
Directory Discovery | Viewing of a list of the Directory Servers that your Directory Server can detect on the network. | Execute
Execution Control | Shutting down of the Directory Server. | Execute
User Administration | Management of user accounts and user groups, and the setting of permissions. | Update, Add, Delete
Parent topic: Resource Classes for MF Directory Server


Class - Servers

The entities contained in this class correspond to, and control the configuration of, Enterprise Servers.

Entity | Controls | Permission required
Server Name | Viewing of enterprise server configuration information. | Read
 | Starting and stopping of enterprise servers. | Execute
 | Modification of configuration information for an enterprise server. | Update
 | Adding of listeners, services and packages to an enterprise server. When set as a default permission for the group, it also permits the adding of enterprise servers. | Add
 | Deletion of enterprise servers, and of listeners, services and packages from an enterprise server. | Delete
Parent topic: Resource Classes for MF Directory Server


Resource Classes for MQSeries

The table below defines the name and meaning of each default resource class used in Enterprise Server MQSeries security.

MQSeries Class Name | MQSeries relation
MQADMIN Used mainly for holding profiles for administration-type functions. For example:
  • Profiles for MQSeries security switches
  • Profiles for alternate user security
  • The context security profile
MQCONN | Profiles used for connection security.
MQQUEUE | Profiles used for queue security.
MQPROC | Profiles used in process resource security
  • MQSeries Switch Profiles
  • Switches and Classes
  • How Switches Work
  • Profiles to Control Subsystem Security
  • Profiles to Control Queue Manager Level Security
  • Valid Combinations of Switches
  • Resource Level Checks
  • Profiles for Connection Security
  • Connection Security Profiles for the Batch/TSO adapter
  • Connection Security Profiles for the CICS Adapter
  • Connection Security Profiles for the IMS Adapter
  • Profiles for Queue Security
  • Process Profiles
  • Profiles for Alternate User Security
  • Profiles for Context Security
Parent topic: Resource Classes used by Enterprise Server


MQSeries Switch Profiles

To control the security checking performed by MQSeries, you must define switch profiles. A switch profile is a normal security profile that has a special meaning to MQSeries. The access list in switch profiles is not used by MQSeries.

When you set a security switch on, the security checks associated with the switch are performed. When you set a security switch off, the security checks associated with the switch are bypassed. The default is that all security switches are set on.

Parent topic: Resource Classes for MQSeries


Switches and Classes

When an Enterprise Server region is started, the first access to MQSeries checks the status of Security and the MQADMIN class. The subsystem security switch is set to off if one of these conditions are discovered:

  • Security is inactive
  • The MQADMIN class is not defined
  • The MQADMIN class has not been activated

If both Security and the MQADMIN class are active, MQSeries checks the MQADMIN class to see whether any of the switch profiles have been defined. It first checks the profiles described in Profiles to control subsystem security. If subsystem security is not required, MQSeries sets the internal subsystem security switch off, and performs no further checks.

The profiles determine whether the corresponding MQSeries switch is set off and that the type of security is deactivated. If any MQSeries switch is set on, MQSeries checks the status of the Security class associated with the type of security corresponding to the MQSeries switch. If the class is not installed or not active, the MQSeries switch is set off. For example, process security checks are not carried out if the MQPROC class has not been activated. A non active class is equivalent to defining NO.PROCESS.CHECKS profile for every queue manager that uses the Security database.

Parent topic: Resource Classes for MQSeries


How Switches Work

To set a security switch off, you need to define a NO.* switch profile. The existence of a NO.* profile means that security checks are not performed for that type of resource.

Each NO.* switch profile that MQSeries detects turns off the checking for that type of resource. Switch profiles are activated during startup of the queue manager. If you change the switch profiles while any affected Enterprise Server Regions are running, you will need to restart the region for the new values to take effect.

The switch profiles must always be defined in the MQADMIN class.

Parent topic: Resource Classes for MQSeries


Profiles to Control Subsystem Security

The first security check made by MQSeries is used to determine whether security checks are required for the whole MQSeries subsystem. If you specify that you do not want subsystem security, no further checks are made.

The following table shows the switch profiles that are checked to determine whether subsystem security is required.

Switch profile name | Type of resource or checking that is controlled
qmgr-name.NO.SUBSYS.SECURITY | Subsystem security for this queue manager. If not found, then security is on.
qmgr-name.YES.SUBSYS.SECURITY | Subsystem security for this queue manager (Default).
Parent topic: Resource Classes for MQSeries


Profiles to Control Queue Manager Level Security

When MQSeries has established that security checking is required, it then determines whether checking is required at queue manager level.

The following table shows the switch profiles are checked to determine the level required.

Switch profile name | Type of resource or checking that is controlled
qmgr-name.NO.QMGR.CHECKS | No queue manager level checks for this queue manager.
qmgr-name.YES.QMGR.CHECKS | Queue manager level checks override for this queue manager.
Parent topic: Resource Classes for MQSeries


Valid Combinations of Switches

The following table shows the combinations of switch settings that are valid.

Security level | Switch settings
Queue manager level security | qmgr-name.NO.QMGR.CHECKS
 | qmgr-name.YES.QMGR.CHECKS
Parent topic: Resource Classes for MQSeries


Resource Level Checks

The following table shows the switch profiles used to control access to MQSeries resources.

Type of resource checking that is controlled | Switch profile name
Alternate user security | qmgr-name.YES.ALTERNATE.USER.CHECKS
Connection security | qmgr-name.YES.CONNECT.CHECKS
Context security | qmgr-name.YES.CONTEXT.CHECKS
Process security | qmgr-name.YES.PROCESS.CHECKS
Queue security | qmgr-name.YES.QUEUE.CHECKS

For example, if you wanted to perform process security checks on queue manager QM_nwb_magd820, you would define the following switch profile:

QM_nwb_magd820.YES.PROCESS.CHECKS

If you wanted to perform queue security checks on QM_nwb_magd820, you would define the following switch profile:

QM_nwb_magd820.YES.QUEUE.CHECKS
Note:

Generic switch profiles such as qmgr-name.YES.** are ignored by Enterprise Server

Note:

If the switch is not found, security checks will be performed by default, and messages will appear on the console.log as:

CASKC0033I MQSeries !QM_nwb_magd820 SUBSYSTEM security switch set ON, profile 'QM_NWB_MAGD820.NO.SUBSYS.SECURITY' not found
CASKC0034I MQSeries !QM_nwb_magd820 CONNECTION security switch set ON, profile 'QM_NWB_MAGD820.NO.CONNECT.CHECKS' not found
CASKC0034I MQSeries !QM_nwb_magd820 PROCESS security switch set ON, profile 'QM_NWB_MAGD820.NO.PROCESS.CHECKS' not found
CASKC0034I MQSeries !QM_nwb_magd820 CONTEXT security switch set ON, profile 'QM_NWB_MAGD820.NO.CONTEXT.CHECKS' not found
CASKC0034I MQSeries !QM_nwb_magd820 QUEUE security switch set ON, profile 'QM_NWB_MAGD820.NO.QUEUE.CHECKS' not found
CASKC0034I MQSeries !QM_nwb_magd820 ALTERNATE security switch set ON, profile 'QM_NWB_MAGD820NO.ALTERNATE.USER.CHECKS' not found
Parent topic: Resource Classes for MQSeries


Profiles for Connection Security

If connection security is active, you must define profiles in the MQCONN class and permit the necessary groups or user IDs access to those profiles, so that they can connect to MQSeries subsystems.

To enable a connection to be made, you must grant users READ access to the appropriate profile.

A connection profile qualified with a queue manager name controls access to a specific queue manager and users given access to this profile can connect to that queue manager.

For example, a user with access to QM_nwb_magd820.BATCH can Batch connect to queue manager QM_nwb_magd820.

Parent topic: Resource Classes for MQSeries


Connection Security Profiles for the Batch/TSO adapter

Profiles for checking connections from Batch or TSO take the form:

qmgr-name.BATCH

where qmgr-name is the queue manager name. If it fails to find the profile, the connection request fails.

For connection requests through Batch or TSO, you must permit the job or TSO user ID to access the connection profile. For example, the following security definition allows Batch and TSO users in the ALLUSER group to connect to the queue manager QM_nwb_magd820:

#####################################
# MQCONN QM_nwb_magd820.BATCH auths #
#####################################
dn: CN=QM_nwb_magd820.BATCH,CN=MQCONN,CN=Enterprise Server Resources,CN=Micro Focus,DC=local
changetype: delete

dn: CN=QM_nwb_magd820.BATCH,CN=MQCONN,CN=Enterprise Server Resources,CN=Micro Focus,DC=local
changetype: add
objectClass: microfocus-MFDS-Resource
microfocus-MFDS-Resource-Class: MQCONN
microfocus-MFDS-Resource-ACE: allow:ALLUSER group:read
microfocus-MFDS-Resource-ACE: deny:*:execute
microfocus-MFDS-UID: mfuid
description: Enable security on MQCONN subsystem BATCH for QMGR QM_nwb_magd820
Parent topic: Resource Classes for MQSeries


Connection Security Profiles for the CICS Adapter

Profiles for checking connections from CICS take the form:

qmgr-name.CICS

where qmgr-name is the queue manager name. If it fails to find the profile, the connection request fails.

For connection requests by CICS, you need only permit the CICS address space user ID access to the connection profile.

For example, the following Security definitions allow the CICS address space user ID SYSAD to connect to the queue manager QM_nwb_magd820

#####################################
# MQCONN QM_nwb_magd820.CICS auths  #
#####################################
dn: CN=QM_nwb_magd820.CICS,CN=MQCONN,CN=Enterprise Server Resources,CN=Micro Focus,DC=local
changetype: delete

dn: CN=QM_nwb_magd820.CICS,CN=MQCONN,CN=Enterprise Server Resources,CN=Micro Focus,DC=local
changetype: add
objectClass: microfocus-MFDS-Resource
microfocus-MFDS-Resource-Class: MQCONN
microfocus-MFDS-Resource-ACE: allow:SYSAD:read
microfocus-MFDS-Resource-ACE: deny:*:execute
microfocus-MFDS-UID: mfuid
description: Enable security on MQCONN subsystem CICS for QMGR QM_nwb_magd820
Parent topic: Resource Classes for MQSeries


Connection Security Profiles for the IMS Adapter

Profiles for checking connections from IMS take the form:

qmgr-name.IMS

where qmgr-name is the queue manager name. If it fails to find the profile, the connection request fails.

Parent topic: Resource Classes for MQSeries


Profiles for Queue Security

If queue security is active, you must define profiles in the MQQUEUE class and permit the necessary groups or user IDs access to these profiles, so they can issue MQSeries API requests that use queues.

Profiles for queue security take the form:

qmgr-name.queuename

where qmgr-name (queue manager name) and queuename is the name of the queue being opened, as specified in the object descriptor on the MQOPEN or MQPUT1 call.

A profile prefixed by the queue manager name controls access to a single queue on that queue manager.

The RACF access required to open a queue depends on the MQOPEN or MQPUT1 options specified. If more than one of the MQOO_* and MQPMO_* options are coded, the queue security check is performed for the highest RACF authority required.

TMQOPEN or MQPUT1 option | RACF access level required to access qmgr-name.queuename
MQOO_BIND_* | UPDATE
MQOO_BROWSE | READ
MQOO_INPUT_* | UPDATE
MQOO_INQUIRE | READ
MQOO_OUTPUT or MQPUT1 | UPDATE
MQOO_PASS_ALL_CONTEXT | UPDATE
MQOO_PASS_IDENTITY_CONTEXT | UPDATE
MQOO_SAVE_ALL_CONTEXT | UPDATE
MQOO_SET | ALTER
MQOO_SET_ALL_CONTEXT | UPDATE
MQOO_SET_IDENTITY_CONTEXT | UPDATE
MQPMO_PASS_ALL_CONTEXT | UPDATE
MQPMO_PASS_IDENTITY_CONTEXT | UPDATE
MQPMO_SET_ALL_CONTEXT | UPDATE
MQPMO_SET_IDENTITY_CONTEXT | UPDATE
Parent topic: Resource Classes for MQSeries


Process Profiles

If process security is active, you must define profiles in the MQPROC class, and permit access to the necessary groups or user IDs so they can use MQI requests that use processes. Profiles for processes take the form:

qmgr-name.processname

where qmgr-name (queue manager name) and processname is the name of the process being opened.

A profile prefixed by the queue manager name controls access to a single process definition on that queue manager.

The following table shows the access required for opening a process.

MQOPEN option | RACF access level required to qmgr-name.processname
MQOO_INQUIRE | READ
Parent topic: Resource Classes for MQSeries


Profiles for Alternate User Security

If alternate user security is active, you must define profiles in the MQADMIN class and permit the necessary groups or user IDs access to these profiles, so that they can use the ALTERNATE_USER_AUTHORITY options when the object is opened.

Profiles for alternate user security can be specified at subsystem level and take the following form:

qmgr-name.ALTERNATE.USER.alternateuserid

where qmgr-name (queue manager name) and alternateuserid is the value of the AlternateUserId field in the object descriptor.

A profile prefixed by the queue manager name controls use of an alternate user ID on that queue manager.

The following table shows the access when specifying an alternate user option.

MQOPEN or MQPUT1 option | RACF access level required
MQOO_ALTERNATE_USER_AUTHORITY MQPMO_ALTERNATE_USER_AUTHORITY | UPDATE

In addition to alternate user security checks, other security checks for queue, process, and context security can also be made. The alternate user ID, if provided, is only used for security checks on queue and process definition. For alternate user and context security checks, the user ID requesting the check is used.

Parent topic: Resource Classes for MQSeries


Profiles for Context Security

If context security is active, you must define a profile in the MQADMIN class called:

qmgr-name.CONTEXT

where qmgr-name (queue manager name).

A profile prefixed by the queue manager name allows control for context security on that queue manager.

You must give the necessary groups or user IDs access to this profile. The following table shows the access level required, depending on the specification of the context options, when the queue is opened.

MQOPEN or MQPUT1 option | RACF access level required to qmgr-name.CONTEXT
MQOO_OUTPUT or MQPUT1 (USAGE(XMITQ)) | CONTROL
MQOO_PASS_ALL_CONTEXT | READ
MQOO_PASS_IDENTITY_CONTEXT | READ
MQOO_SAVE_ALL_CONTEXT | No context security check
MQOO_SET_ALL_CONTEXT | CONTROL
MQOO_SET_IDENTITY_CONTEXT | UPDATE
MQPMO_DEFAULT_CONTEXT | No context security check
MQPMO_NO_CONTEXT | No context security check
MQPMO_PASS_ALL_CONTEXT | READ
MQPMO_PASS_IDENTITY_CONTEXT | READ
MQPMO_SET_ALL_CONTEXT | CONTROL
MQPMO_SET_IDENTITY_CONTEXT | UPDATE
Parent topic: Resource Classes for MQSeries


CICS Resource and Command Checks

Note: Not all of the commands listed here are currently supported by Enterprise Server.
EXEC CICS COMMAND | Details of resource checking |  |  |  | Command security checking (default class CCICSCMD - governed by environment variable ES_CLASS_XCMD)
 | Default resource class name | Environment variable governing resource class | Resource | Type of access required | Resource | Type of access required
ACQUIRE |  |  |  |  | TERMINAL | UPDATE
ACQUIRE for BTS | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
CANCEL | ACICSPCT | ES_CLASS_XPCT | transid | READ |  |
CANCEL for BTS | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
COLLECT STATISTICS |  |  |  |  | STATISTICS | READ
COLLECT STATISTICS FILE | FCICSFCT | ES_CLASS_XFCT | file | READ | STATISTICS | READ
COLLECT STATISTICS JOURNALNAME | JCICSJCT | ES_CLASS_XJCT | journal | READ | STATISTICS | READ
COLLECT STATISTICS JOURNALNUM | JCICSJCT | ES_CLASS_XJCT | journal | READ | STATISTICS | READ
COLLECT STATISTICS PROGRAM | MCICSPPT | ES_CLASS_XPPT | program | READ | STATISTICS | READ
COLLECT STATISTICS TDQUEUE | ACICSPCT | ES_CLASS_XPCT | tdqueue | READ | STATISTICS | READ
COLLECT TRANSACTION | DCICSDCT | ES_CLASS_XDCT | transid | READ | STATISTICS | READ
CREATE CONNECTION |  |  |  |  | CONNECTION | ALTER
CREATE CORBASERVER |  |  |  |  | CORBASERVER | ALTER
CREATE DJAR |  |  |  |  | DJAR | ALTER
CREATE DOCTEMPLATE | RCICSRES | ES_CLASS_XRES |  | ALTER | DOCTEMPLATE | ALTER
CREATE ENQMODEL |  |  |  |  | ENQMODEL | ALTER
CREATE FILE | FCICSFCT | ES_CLASS_XFCT | file | ALTER | FILE | ALTER
CREATE JOURNALMODEL |  |  |  |  | JOURNALMODEL | ALTER
CREATE LSRPOOL |  |  |  |  | LSRPOOL | ALTER
CREATE MAPSET | MCICSPPT | ES_CLASS_XPPT | mapset | ALTER | MAPSET | ALTER
CREATE PARTITIONSET | MCICSPPT | ES_CLASS_XPPT | partitionset | ALTER | PARTITIONSET | ALTER
CREATE PIPELINE |  |  |  |  | PIPELINE | ALTER
CREATE PARTNER |  |  |  |  | PARTNER | ALTER
CREATE PROCESSTYPE |  |  |  |  | PROCESSTYPE | ALTER
CREATE PROFILE |  |  |  |  | PROFILE | ALTER
CREATE PROGRAM | MCICSPPT | ES_CLASS_XPPT | program | ALTER | PROGRAM | ALTER
CREATE REQUESTMODEL |  |  |  |  | REQUESTMODEL | ALTER
CREATE SESSIONS |  |  |  |  | SESSIONS | ALTER
CREATE TCPIPSERVICE |  |  |  |  | TCPIPSERVICE | ALTER
CREATE TDQUEUE | DCICSDCT | ES_CLASS_XDCT | tdqueue | ALTER | TDQUEUE | ALTER
CREATE TERMINAL |  |  |  |  | TERMINAL | ALTER
CREATE TRANCLASS |  |  |  |  | TCLASS | ALTER
CREATE TRANSACTION | ACICSPCT | ES_CLASS_XPCT | transid | ALTER | TRANSACTION | ALTER
CREATE TSMODEL |  |  |  |  | TSMODEL | ALTER
CREATE TYPETERM |  |  |  |  | TYPETERM | ALTER
CREATE URIMAP |  |  |  |  | URIMAP | ALTER
CREATE WEBSERVICE |  |  |  |  | WEBSERVICE | ALTER
DEFINE ACTIVITY | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
DEFINE PROCESS | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
DELETE | FCICSFCT | ES_CLASS_XFCT | file | UPDATE |  |
DELETE ACTIVITY | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
DELETEQ TD | DCICSDCT | ES_CLASS_XDCT | tdqueue | UPDATE |  |
DELETEQ TS | SCICSTST | ES_CLASS_XTST | tsqueue | UPDATE |  |
DISABLE PROGRAM | MCICSPPT | ES_CLASS_XPPT | program | UPDATE | EXITPROGRAM | UPDATE
DISCARD AUTINSTMODEL |  |  |  |  | AUTINSTMODEL | ALTER
DISCARD CORBASERVER |  |  |  |  | CORBASERVER | ALTER
DISCARD DJAR |  |  |  |  | DJAR | ALTER
DISCARD DOCTEMPLATE | RCICSRES | ES_CLASS_XRES |  | ALTER | DOCTEMPLATE | ALTER
DISCARD ENQMODEL |  |  |  |  | ENQMODEL | ALTER
DISCARD FILE | FCICSFCT | ES_CLASS_XFCT | file | ALTER | FILE | ALTER
DISCARD JOURNALMODEL |  |  |  |  | JOURNALMODEL | ALTER
DISCARD JOURNALNAME | JCICSJCT | ES_CLASS_XJCT | journal | ALTER | JOURNALNAME | ALTER
DISCARD PARTNER |  |  |  |  | PARTNER | ALTER
DISCARD PIPELINE |  |  |  |  | PIPELINE | ALTER
DISCARD PROCESSTYPE |  |  |  |  | PROCESSTYPE | ALTER
DISCARD PROFILE |  |  |  |  | PROFILE | ALTER
DISCARD PROGRAM | MCICSPPT | ES_CLASS_XPPT | program | ALTER | PROGRAM | ALTER
DISCARD REQUESTMODEL |  |  |  |  | REQUESTMODEL | ALTER
DISCARD TCPIPSERVICE |  |  |  |  | TCPIPSERVICE | ALTER
DISCARD TDQUEUE | DCICSDCT | ES_CLASS_XDCT | tdqueue | ALTER | TDQUEUE | ALTER
DISCARD TERMINAL |  |  |  |  | TERMINAL | ALTER
DISCARD TRANCLASS |  |  |  |  | TCLASS | ALTER
DISCARD TRANSACTION | ACICSPCT | ES_CLASS_XPCT | transid | ALTER | TRANSACTION | ALTER
DISCARD TSMODEL |  |  |  |  | TSMODEL | ALTER
DISCARD URIMAP |  |  |  |  | URIMAP | ALTER
DISCARD WEBSERVICE |  |  |  |  | WEBSERVICE | ALTER
DOCUMENT |  |  |  |  | DOCUMENT |
ENABLE PROGRAM | MCICSPPT | ES_CLASS_XPPT | program | UPDATE | EXITPROGRAM | UPDATE
EXTRACT EXIT | MCICSPPT | ES_CLASS_XPPT | program | READ | EXITPROGRAM | UPDATE
EXTRACT STATISTICS |  |  |  |  | STATISTICS | READ
FEPI |  |  |  |  | FEPI |
HANDLE ABEND PROGRAM | MCICSPPT | ES_CLASS_XPPT | program | READ |  |
INQUIRE ACTIVITYID | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
INQUIRE AUTINSTMODEL |  |  |  |  | AUTINSTMODEL | READ
INQUIRE AUTOINSTALL |  |  |  |  | AUTOINSTALL | READ
INQUIRE BEAN |  |  |  |  | BEAN | READ
INQUIRE BRFACILITY |  |  |  |  | BRFACILITY | READ
INQUIRE CFDTPOOL |  |  |  |  | CFDTPOOL | READ
INQUIRE CLASSCACHE |  |  |  |  | CLASSCACHE | READ
INQUIRE CONNECTION |  |  |  |  | CONNECTION | READ
INQUIRE CORBASERVER |  |  |  |  | CORBASERVER | READ
INQUIRE CONTAINER | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
INQUIRE DELETSHIPPED |  |  |  |  | DELETSHIPPED | READ
INQUIRE DJAR |  |  |  |  | DJAR | READ
INQUIRE DOCTEMPLATE | RCICSRES | ES_CLASS_XRES |  | READ | DOCTEMPLATE | READ
INQUIRE DSNAME |  |  |  |  | DSNAME | READ
INQUIRE DUMPDS |  |  |  |  | DUMPDS | READ
INQUIRE ENQMODEL |  |  |  |  | ENQMODEL | READ
INQUIRE EXCI |  |  |  |  | EXCI | READ
INQUIRE EVENT | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
INQUIRE EXITPROGRAM | MCICSPPT | ES_CLASS_XPPT | program | READ | EXITPROGRAM | READ
INQUIRE FILE | FCICSFCT | ES_CLASS_XFCT | file | READ | FILE | READ
INQUIRE HOST |  |  |  |  | HOST | READ
INQUIRE IRC |  |  |  |  | IRC | READ
INQUIRE JOURNALMODEL |  |  |  |  | JOURNALMODEL | READ
INQUIRE JOURNALNAME | JCICSJCT | ES_CLASS_XJCT | journal | READ | JOURNAL | READ
INQUIRE JVM |  |  |  |  | JVM | READ
INQUIRE JVMPOOL |  |  |  |  | JVMPOOL | READ
INQUIRE JVMPROFILE |  |  |  |  | JVMPROFILE | READ
INQUIRE MODENAME |  |  |  |  | MODENAME | READ
INQUIRE MONITOR |  |  |  |  | MONITOR | READ
INQUIRE MVSTCB |  |  |  |  | MVSTCB | READ
INQUIRE NETNAME |  |  |  |  | TERMINAL | READ
INQUIRE PARTNER |  |  |  |  | PARTNER | READ
INQUIRE PIPELINE |  |  |  |  | PIPELINE | READ
INQUIRE PROCESS | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
INQUIRE PROCESSTYPE |  |  |  |  | PROCESSTYPE | READ
INQUIRE PROFILE |  |  |  |  | PROFILE | READ
INQUIRE PROGRAM | MCICSPPT | ES_CLASS_XPPT | program | READ | PROGRAM | READ
INQUIRE REQID | ACICSPCT | ES_CLASS_XPCT | transid | READ | REQID | READ
INQUIRE REQUESTMODEL |  |  |  |  | REQUESTMODEL | READ
INQUIRE RRMS |  |  |  |  | RRMS | READ
INQUIRE STATISTICS |  |  |  |  | STATISTICS | READ
INQUIRE STORAGE |  |  |  |  | STORAGE | READ
INQUIRE STREAMNAME |  |  |  |  | STREAMNAME | READ
INQUIRE SUBPOOL |  |  |  |  | SUBPOOL | READ
INQUIRE SYSDUMPCODE |  |  |  |  | SYSDUMPCODE | READ
INQUIRE SYSTEM |  |  |  |  | SYSTEM | READ
INQUIRE TASK |  |  |  |  | TASK | READ
INQUIRE TCLASS |  |  |  |  | TCLASS | READ
INQUIRE TCPIP |  |  |  |  | TCPIP | READ
INQUIRE TCPIPSERVICE |  |  |  |  | TCPIPSERVICE | READ
INQUIRE TDQUEUE | DCICSDCT | ES_CLASS_XDCT | tdqueue | READ | TDQUEUE | READ
INQUIRE TERMINAL |  |  |  |  | TERMINAL | READ
INQUIRE TIMER | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
INQUIRE TRACEDEST |  |  |  |  | TRACEDEST | READ
INQUIRE TRACEFLAG |  |  |  |  | TRACEFLAG | READ
INQUIRE TRACETYPE |  |  |  |  | TRACETYPE | READ
INQUIRE TRANCLASS |  |  |  |  | TCLASS | READ
INQUIRE TRANDUMPCODE |  |  |  |  | TRANDUMPCODE | READ
INQUIRE TRANSACTION | ACICSPCT | ES_CLASS_XPCT | program | READ | TRANSACTION | READ
INQUIRE TSMODEL |  |  |  |  | TSMODEL | READ
INQUIRE TSPOOL |  |  |  |  | TSPOOL | READ
INQUIRE TSQUEUE | SCICSTST | ES_CLASS_XTST | tsqueue | READ | TSQUEUE | READ
INQUIRE TSQNAME | SCICSTST | ES_CLASS_XTST | tsqname | READ | TSQUEUE | READ
INQUIRE UOW |  |  |  |  | UOW | READ
INQUIRE UOWDSNFAIL |  |  |  |  | UOWDSNFAIL | READ
INQUIRE UOWENQ |  |  |  |  | UOWENQ | READ
INQUIRE UOWLINK |  |  |  |  | UOWLINK | READ
INQUIRE URIMAP |  |  |  |  | URIMAP | READ
INQUIRE VTAM |  |  |  |  | VTAM | READ
INQUIRE WEB |  |  |  |  | WEB | READ
INQUIRE WEBSERVICE |  |  |  |  | WEBSERVICE | READ
INQUIRE WORKREQUEST |  |  |  |  | WORKREQUEST | READ
LINK | MCICSPPT | ES_CLASS_XPPT | program | READ |  |
LINK ACQPROCESS | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
LINK ACTIVITY / ACQACTIVITY | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
LOAD | MCICSPPT | ES_CLASS_XPPT | program | READ |  |
PERFORM CLASSCACHE |  |  |  |  | CLASSCACHE | UPDATE
PERFORM CORBASERVER |  |  |  |  | CORBASERVER | UPDATE
PERFORM DELETSHIPPED |  |  |  |  | DELETSHIPPED | UPDATE
PERFORM DJAR |  |  |  |  | DJAR | UPDATE
PERFORM DUMP |  |  |  |  | DUMP | UPDATE
PERFORM PIPELINE |  |  |  |  | PIPELINE | UPDATE
PERFORM RESETTIME |  |  |  |  | RESETTIME | UPDATE
PERFORM SECURITY |  |  |  |  | SECURITY | UPDATE
PERFORM SHUTDOWN |  |  |  |  | SHUTDOWN | UPDATE
PERFORM STATISTICS |  |  |  |  | STATISTICS | UPDATE
READ | FCICSFCT | ES_CLASS_XFCT | file | READ |  |
READQ TD | DCICSDCT | ES_CLASS_XDCT | tdqueue | UPDATE |  |
READQ TS | SCICSTST | ES_CLASS_XTST | tsqueue | READ |  |
RELEASE | MCICSPPT | ES_CLASS_XPPT | program | READ |  |
RESET ACTIVITY | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
RESET ACQPROCESS | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
RESYNC ENTRYNAME |  |  |  |  | EXITPROGRAM | UPDATE
RETURN / RETURN ENDACTIVITY | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
REWRITE | FCICSFCT | ES_CLASS_XFCT | file | UPDATE |  |
RUN | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
RUN / ASYNCH SYNC | FCICSFCT | ES_CLASS_XFCT | DFHLRQ file | UPDATE |  |
SET AUTOINSTALL |  |  |  |  | AUTOINSTALL | UPDATE
SET BRFACILITY |  |  |  |  | BRFACILITY | UPDATE
SET CLASSCACHE |  |  |  |  | CLASSCACHE | UPDATE
SET CONNECTION |  |  |  |  | CONNECTION | UPDATE
SET CORBASERVER |  |  |  |  | CORBASERVER | UPDATE
SET DELETSHIPPED |  |  |  |  | DELETSHIPPED | UPDATE
SET DOCTEMPLATE | RCICSRES | ES_CLASS_XRES |  | UPDATE | DOCTEMPLATE | UPDATE
SET DSNAME |  |  |  |  | DSNAME | UPDATE
SET DUMPDS |  |  |  |  | DUMPDS | UPDATE
SET ENQMODEL |  |  |  |  | ENQMODEL | UPDATE
SET FILE | FCICSFCT | ES_CLASS_XFCT | file | UPDATE | FILE | UPDATE
SET HOST |  |  |  |  | HOST | UPDATE
SET IRC |  |  |  |  | IRC | UPDATE
SET JOURNALNAME | JCICSJCT | ES_CLASS_XJCT | journal | UPDATE | JOURNAL | UPDATE
SET JVMPOOL |  |  |  |  | JVMPOOL | UPDATE
SET MODENAME |  |  |  |  | MODENAME | UPDATE
SET MONITOR |  |  |  |  | MONITOR | UPDATE
SET NETNAME |  |  |  |  | TERMINAL | UPDATE
SET PIPELINE |  |  |  |  | PIPELINE | UPDATE
SET PROGRAM | MCICSPPT | ES_CLASS_XPPT | program | UPDATE | PROGRAM | UPDATE
SET REQUESTMODEL |  |  |  |  | REQUESTMODEL | UPDATE
SET STATISTICS |  |  |  |  | STATISTICS | UPDATE
SET SYSDUMPCODE |  |  |  |  | SYSDUMPCODE | UPDATE
SET SYSTEM |  |  |  |  | SYSTEM | UPDATE
SET TASK |  |  |  |  | TASK | UPDATE
SET TCLASS |  |  |  |  | TCLASS | UPDATE
SET TCPIP |  |  |  |  | TCPIP | UPDATE
SET TCPIPSERVICE |  |  |  |  | TCPIPSERVICE | UPDATE
SET TDQUEUE | DCICSDCT | ES_CLASS_XDCT | tdqueue | UPDATE | TDQUEUE | UPDATE
SET TERMINAL |  |  |  |  | TERMINAL | UPDATE
SET TRACEDEST |  |  |  |  | TRACEDEST | UPDATE
SET TRACEFLAG |  |  |  |  | TRACEFLAG | UPDATE
SET TRACETYPE |  |  |  |  | TRACETYPE | UPDATE
SET TRANCLASS |  |  |  |  | TCLASS | UPDATE
SET TRANDUMPCODE |  |  |  |  | TRANDUMPCODE | UPDATE
SET TRANSACTION | ACICSPCT | ES_CLASS_XPCT | transid | UPDATE | TRANSACTION | UPDATE
SET TSMODEL |  |  |  |  | TSMODEL | UPDATE
SET TSQNAME | SCICSTST | ES_CLASS_XTST | tsqueue | UPDATE | TSQUEUE | UPDATE
SET TSQUEUE | SCICSTST | ES_CLASS_XTST | tsqname | UPDATE | TSQUEUE | UPDATE
SET UOW |  |  |  |  | UOW | UPDATE
SET UOWLINK |  |  |  |  | UOWLINK | UPDATE
SET URIMAP |  |  |  |  | URIMAP | UPDATE
SET VTAM |  |  |  |  | VTAM | UPDATE
SET WEB |  |  |  |  | WEB | UPDATE
SET WEBSERVICE |  |  |  |  | WEBSERVICE | UPDATE
SET WORKREQUEST |  |  |  |  | WORKREQUEST | UPDATE
START | ACICSPCT | ES_CLASS_XPCT | transid | READ |  |
STARTBR | FCICSFCT | ES_CLASS_XFCT | file | READ |  |
STARTBROWSE ACTIVITY | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
STARTBROWSE CONTAINER (BTS) | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
STARTBROWSE EVENT | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
STARTBROWSE PROCESS | FCICSFCT | ES_CLASS_XFCT | BTS repository file | READ |  |
SUSPEND | FCICSFCT | ES_CLASS_XFCT | BTS repository file | UPDATE |  |
WAIT JOURNALNAME | JCICSJCT | ES_CLASS_XJCT | journal | READ |  |
WAIT JOURNALNUM | JCICSJCT | ES_CLASS_XJCT | journal | READ |  |
WRITE | FCICSFCT | ES_CLASS_XFCT | file | UPDATE |  |
WRITE JOURNALNAME | JCICSJCT | ES_CLASS_XJCT | journal | UPDATE |  |
WRITE JOURNALNUM | JCICSJCT | ES_CLASS_XJCT | DFHJnn | UPDATE |  |
WRITEQ TD | DCICSDCT | ES_CLASS_XDCT | tdqueue | UPDATE |  |
WRITEQ TS | SCICSTST | ES_CLASS_XTST | tsqueue or tsqname | UPDATE |  |
XCTL | MCICSPPT | ES_CLASS_XPPT | program | READ |  |
Parent topic: Resource Classes used by Enterprise Server


Solutions, Restrictions, and Changes in Behavior

  • Service Deployment and Security
  • Restrictions on Usernames
  • Configuring Credentials for Starting and Stopping Enterprise Servers
  • Timeouts for Terminal Users
  • Sign-on Disabled for Default Users
  • Configuring Sun Java System Directory as a Security Manager
Parent topic: Security Reference Information


Service Deployment and Security

Enterprise Server provides a deployment feature to let developers package COBOL programs as Web Services or EJBs and deploy them to an Enterprise Server instance. The deployment process uploads the packaged service (in the form of a COBOL Archive or "CAR" file) to ES, then invokes an installer (mfdepinst) that extracts the contents from the archive, creates package and service objects in the Micro Focus Directory Server repository, and notifies ES of the new service.

Service deployment is initiated by a deployment client, running under the control of a developer or administrator. Deployment clients include the Net Express IDE's Interface Mapping tool, the Interface Mapping Toolkit GUI (cobimtk) included with Server Express, or the imtkmake command-line tool. All of these are documented elsewhere

Deployment and Security

Creating service and package objects in the MFDS repository requires update access, which may not be granted to all users. mfdepinst has to present credentials (a username and a password) to MFDS when it tries to create those objects. In a secured installation, deployment requests from users may fail to create service and package objects because of insufficient permissions.

The default configuration installed with Enterprise Server lets mfdepinst create objects in the MFDS repository, but when security options are changed it's easy to cause deployment requests to fail. (This is actually the appropriate behavior; when an installation is secured, it should prevent unauthorized access.) This is particularly true when external security is enabled.

How Deployment Credentials are Verified and Authorized

In early releases of Enterprise Server, the credentials sent to MFDS by mfdepinst were verified against entries in the file cciusers.dat. In more recent releases, MFDS keeps its own database of user information as part of the repository.

External security, which is enabled by specifying an external security manager (ESM) for MFDS security, lets MFDS use an outside facility, such as an LDAP server, to verify user credentials.

How MFDS is configured determines how the username and password sent by mfdepinst will be verified, and what determines their level of access. If you are using internal security, you'll have to ensure that the username and password sent by mfdepinst are configured in MFDS, and that the user account used by mfdepinst has "add" access for the MFDS repository. Similarly, if you're using external security, your ESM will have to accept the username and password sent by mfdepinst and grant it access to add objects to MFDS.

The ES Administration Guide discusses these topics in more detail.

How Deployment Credentials are Set

WithNet Express version 5.0, Websync 2 or later you can specify a username and password when deploying a service interface to a secure server either through the Net Express IDE or when using imtkmake from the command line.

Parent topic: Solutions, Restrictions, and Changes in Behavior


Restrictions on Usernames

  • Usernames longer than 8 characters cannot be used for MSS. This includes using them to start an enterprise server. As a consequence, if an MF Directory Server administrator signs on with a username that is longer than 8 characters, he or she will have to supply a different username when starting an enterprise server from the Enterprise Server Administration screens.

    This restriction also applies to JES and JCL support. Any name referenced in JCL must be uppercase (e.g. USER=XXX), as you cannot use a lowercase or mixed-case username in JCL. You can however use a user with a lower- or mixed-case name to submit jobs.

Parent topic: Solutions, Restrictions, and Changes in Behavior


Configuring Credentials for Starting and Stopping Enterprise Servers

When you start or stop an enterprise server from MF Directory Server, you are given the option of supplying two sets of credentials. The first is the operating system credentials under which the processes are to run (this is labelled Start/Stop processes as). The second, labelled Use Enterprise Server credentials of: is checked by the security features of MF Directory Server and Enterprise Server. The requirements of this second set of credentials are described below.

When an enterprise server starts, it connects to MF Directory Server to obtain its configuration details and to update its status information. To do this, it requires suitable Directory Server user credentials (that is, credentials that Directory Server will verify and authorize through the External Security Facility). You can specify that it should connect using a built-in default user or using the credentials with which you are currently logged on to Enterprise Server Administration. Alternatively, you can specify a different Directory Server username and password.

If you choose to use the built-in default user, the process is as follows:

  1. The enterprise server is started by the casstart command.
  2. It connects to MF Directory Server to obtain its configuration settings via the default user, mf_mdsa.
  3. The enterprise server subsequently spawns its communications server(s), referred to as MFCS.
  4. MFCS connects to MF Directory Server using the default user, mf_cs. This user requires permissions to do things like reading and writing data to the MF Directory Server repository. For example, it can read what configuration the server has, and write changes to the status field.
  5. The enterprise server will then use another default user, mfuser, as the identity for operations.
  • mf_cs and mf_mdsa must exist in the security context of MF Directory Server. That is, depending on the security configuration, they must exist in one of the security repositories used by MF Directory Server. The users must also have suitable permissions. At this point in time, the users must be members of a group called "#System" and this group must have modify permission on the resource entity in the Servers class that corresponds to the enterprise server. For more on the resource classes and entities controlling access to MF Directory Server resources, see Resource Classes for MF Directory Server.
  • mfuser must exist within the security context of the enterprise server and must have appropriate permissions on the casstart entity in the OPERCMDS class. For more about OPERCMDS, see Resource Classes for ESMAC and Operator Command Security.

If you choose to use the credentials with which you are currently logged on to Enterprise Server Administration, or if you specify alternative credentials, the enterprise server and MFCS will use those credentials when connecting to MF Directory Server. The enterprise server will also use the credentials internally.

Therefore, the user that you specify must exist within the security domain of both the MF Directory Server and the enterprise server. In addition:

  • To read and update information in MF Directory Server

    In the MF Directory Server domain, it must be a member of the #System group, and this group must have modify permission on the resource entity in the Servers class that corresponds to the enterprise server

  • To run the start command in Enterprise Server

    In the context of the enterprise server, it must have alter permission on the casstart entity within the OPERCMDS resource class

To stop an enterprise server, the requirements are the same, except that the user requires alter permission on the casstop entity with the OPERCMDS resource class.

Note:

Where an external security manager is configured for the enterprise server, a userid and password must be supplied when stopping it through any external method, such as casstop.

Parent topic: Solutions, Restrictions, and Changes in Behavior


Timeouts for Terminal Users

If a user is connected to a tn3270 terminal, and an ID timeout is specified either at the user level or at the system level (that is, the value specified in the SIT or overridden on the ESMAC Control page), then when the timeout is reached the user will be automatically signed-off and the default transaction specified in the SIT will be started.

Values are specified in minutes. If the value specified for the user is 0, the system timeout value is used. If the value specified for the user is -62, the user is never timed-out, irrespective of the system value. If any other value is specified for the user, that value is used in preference to the system value.

Note:

Note that Terminal timeouts (SIT parameter or user ID parameter) must be less than 16 hours.

Parent topic: Solutions, Restrictions, and Changes in Behavior


Sign-on Disabled for Default Users

When security is enabled, the default users can no longer sign-on to the system from a terminal.

Parent topic: Solutions, Restrictions, and Changes in Behavior


Configuring Sun Java System Directory as a Security Manager

This section describes the steps you need to perform in order to configure Sun Java System Directory to use it as an Enterprise Server security manager and configuration repository. Micro Focus has developed and tested under Sun Java System Directory Server Enterprise Edition 6.1. Later revisions of Sun Java System Directory should be compatible with Micro Focus Enterprise Server Security Manager and Configuration Repository but this is not guaranteed. Micro Focus will review any issues found in later releases of Sun Java System Directory but cannot guarantee compatibility.

Note:

The commands in this section make the following assumptions:

  • You have downloaded and installed Sun Java System Directory Server Enterprise Edition 6.1 as described on the Sun web site.
  • You have installed into /usr/local/dsee.
  • You are using port 3880. This is an arbitrarily-chosen port. Check with your system administrator to find out what ports are available on your system.
  • You are using the dsadm command-line tool instead of the Sun Java Web Console GUI Directory Service Control Centre.
  • You are using the scratch directory /usr/local/dsee/var/example.

You will need to change the commands if your installation uses settings other than these.

When configuring an external Security Manager connection on Solaris, it is possible to specify the use of the Sun-provided LDAP client module for LDAP communications with the external Security Manager. The following configuration text is required in the Security Manager Configuration Information area:

[LDAP]
provider=/usr/lib/libldap.so
Note: A Security Manager connection configured on Solaris is not limited to using Sun Java Directory Server. It can communicate with other LDAP-based external Security Managers such as Microsoft Active Directory or Open LDAP.
  1. To set up the Sun Directory Server configuration and database directories:
    1. Enter the following command:
      dsadm create -p 3880 /usr/local/dsee/var/example

      The following information is displayed: Choose the Directory Manager password:

    2. Specify the Directory Manager password.

      The following information is displayed: Confirm the Directory Manager Password

    3. Confirm the password.

      The following information is displayed: Use 'dsadm start '/usr/local/dsee/var/example'' to start the instance.

  2. To start the instance and confirm that it is running:
    1. Enter the following command:
      dsadm start /usr/local/dsee/var/example

      The following information is displayed: Server started: pid=24879

    2. Enter the following command:
      dsadm info /usr/local/dsee/var/example
      The following information is displayed:
      Instance Path | /usr/local/dsee/var/example
      Owner | hub(staff)
      Non-secure port | 3880
      Secure port | 1636
      Bit format | 64-bit
      State | Running
      Server PID | 24879
      DSCC url -
      SMF application name -
      Instance version | D-A00
    3. Use an LDAP browser to connect to the instance at machine-address:3880 using id DN: "cn=Directory Manager" and password "password" to confirm it is running. Currently only the RootDSE data is displayed.
  3. To extend the schema, create a text file called 99container.ldif in /usr/local/dsee/var/example/config/schema. The file should contain the following:
    dn:cn=schema
objectClasses:(1.2.840.113556.1.3.23 NAME 'container' SUP top STRUCTURAL MUST (cn))
  4. To generate the Micro Focus Schema Extension file, enter the following command:
    mfds -l DC=X 3	/usr/local/dsee/var/example/config/schema/99microfocus.ldif
  5. To ensure the Directory Server instance picks up the new schema files, enter the following command:
    dsadm restart /usr/local/dsee/var/example
  6. To confirm the Micro Focus schema has been installed, enter the following command:
    /usr/local/dsee/dsrk6/bin/ldapsearch -b cn=schema -v -h 127.0.0.1 -p 3880 -D "cn=Directory Manager" -w password "objectclass=*" > schema.txt

    This command dumps the active schema to a file called schema.txt . You can search this file to confirm that it includes the expected "container" and "microfocus" attributeTypes and objectClasses.

  7. To create a default suffix for an example DIT:
    1. Enter the following command:
      dsconf create-suffix -p 3880 dc=example,dc=com

      The following information is displayed: Enter "cn=Directory Manager" password:

    2. Specify the password.
  8. To confirm that the new suffix exists:
    1. Enter the following command:
      dsconf list-suffixes -p 3880

      The following information is displayed: Enter "cn=Directory Manager" password:

    2. Specify the password.

      The following information is displayed: dc=example,dc=com

  9. To import the standard shipped example LDIF file.
    1. Enter the following command:
      dsconf import -p 3880 /usr/local/dsee/ds6/ldif/Example.ldif dc=example,dc=com

      The following information is displayed: Enter "cn=Directory Manager" password:

    2. Specify the password.

      The following information is displayed:

      New data will override existing data of the suffix "dc=example,dc=com".

      Initialization will have to be performed on replicated suffixes.

      Do you want to continue [y/n] ?

    3. Press 'Y'

      The following information is displayed:

      ## Index buffering enabled with bucket size 40
      ## Beginning import job...
      ## Processing file "/usr/local/dsee/ds6/ldif/Example.ldif"
      ## Finished scanning file "/usr/local/dsee/ds6/ldif/Example.ldif" (160 entries)
      ## Workers finished; cleaning up...
      ## Workers cleaned up.
      ## Cleaning up producer thread...
      ## Indexing complete.
      ## Starting numsubordinates attribute generation. This may take a while, please wait for further activity reports.
      ## Numsubordinates attribute generation complete. Flushing caches...
      ## Closing files...
      ## Import complete. Processed 160 entries in 4 seconds. (40.00 entries/sec)
      Task completed (slapd exit code: 0).
  10. Refresh the LDAP browser to ensure that you can see the new DIT contents. There should be a new "example" DC, containing organizational units for groups and people.
  11. Add the standard Micro Focus containers:create a file /home/hub/staff/example/mf-containers-sun.ldif containing the following:
    dn: cn=Micro Focus,dc=example,dc=com
cn: Micro Focus
objectClass: container

dn: cn=Micro Focus,dc=example,dc=com
cn: Micro Focus
objectClass: container

dn: cn=Enterprise Server Users,cn=Micro Focus,dc=example,dc=com
cn: Enterprise Server Users
objectClass: container

dn: cn=Enterprise Server User Groups,cn=Micro Focus,dc=example,dc=com
cn: Enterprise Server User Groups
objectClass: container

dn: cn=MFDS Repository,cn=Micro Focus,dc=example,dc=com
cn: MFDS Repository
objectClass: container
  12. Add containers to the DIT:
    1. Enter the following command:
      /usr/local/dsee/dsrk6/bin/ldapmodify -a -v -h 127.0.0.1 -p 3880 -D "cn=Directory Manager" -w password -f /home/hub/staff/example/mf-containers-sun.ldif

      The following information is displayed:

      bin_ldapmodify: started Wed Sep 19 16:31:26 2007
      ldap_init( 127.0.0.1, 3880 )
      add cn:
      Micro Focus
      add objectClass:
      container
      adding new entry cn=Micro Focus,dc=example,dc=com
      modify complete
      add cn:
      Enterprise Server Resources
      add objectClass:
      container
      adding new entry cn=Enterprise Server Resources,cn=Micro Focus,dc=example,dc=com
      modify complete
      add cn:
      Enterprise Server Users
      add objectClass:
      container
      adding new entry cn=Enterprise Server Users,cn=Micro Focus,dc=example,dc=com
      modify complete
      add cn:
      Enterprise Server User Groups
      add objectClass:
      container
      adding new entry cn=Enterprise Server User Groups,cn=Micro Focus,dc=example,dc=com
      modify complete
      add cn:
      MFDS Repository
      add objectClass:
      container
      adding new entry cn=MFDS Repository,cn=Micro Focus,dc=example,dc=com
      modify complete
  13. Refresh the LDAP browser to ensure that you can see the new DIT contents. There should be a new "Micro Focus " container with the user "Enterprise Server" subcontainers.
  14. Add the Directory Server resources and users.
    1. Enter the following command:
      mfds -e "cn=Micro Focus,dc=example,dc=com" "cn=Enterprise Server Users" "cn=Enterprise Server User Groups" "cn=Enterprise Server Resources" 2 "/home/hub/staff/example/mfds-users-sun.ldif"
      Note:

      There is no difference between the OpenLDAP and Sun syntax for the generated LDIF file, so no Directory Server changes have been required.

  15. Import the generated mfds_users_sun.ldif file.
    1. Enter the following command:
      /usr/local/dsee/dsrk6/bin/ldapmodify -a -v -h 127.0.0.1 -p 3880 -D "cn=Directory Manager" -w password -f /home/hub/staff/example/mf-users-sun.ldif
  16. Refresh the LDAP browser to ensure that you can see the new DIT contents. The "Enterprise Server" subcontainers now contain the "Enterprise Server Administration", "schemaadmin" and "#"-prefixed Directory Server default user groups.
  17. In Directory Server, configure a new external security manager as follows:
    Name | Sun Directory 6.1 machine-address:3880
    Module | mldap_esm
    Connection Path | machine-address:3880
    Authorized ID | cn=Directory Manager
    Description | Test Sun Directory ESM
    Configuration Information | [LDAP]
    Base=cn=Micro Focus,DC=example,dc=com
    user container=CN=Enterprise Server Users
    group container=CN=Enterprise Server User Groups
    resource container=CN=Enterprise Server Resources
  18. Change the MF Server Directory Security Manager List to use this external security manager and turn on administrative security.
Parent topic: Solutions, Restrictions, and Changes in Behavior


Glossary

  • ACE
  • ACEE
  • ACL
  • ADAM
  • ADSI Edit
  • Auditing
  • CA-ACF2
  • CA-TopSecret
  • CLASS
  • CSD
  • ESF
  • ESM
  • LDAP
  • LDIF
  • mldap_esm
  • RACF
  • Resource
  • SAF
  • schema
  • security manager
  • SNMP
Parent topic: Securing an Enterprise Server Installation


ACE

Access Control Entry: an entry in an Access Control List (ACL). It specifies an actor (e.g. a user or group) and the kinds of access that the actor has to a particular resource.
Parent topic: Glossary


ACEE

Access Control Environment Element: on the mainframe, a data structure that contains access control information for a task; in MF Server, a data structure that holds security information for a user (or potentially other actor).
Parent topic: Glossary


ACL

Access Control List: a rule specifying what actors (typically users and groups) are allowed what kinds of access (e.g. read, update) to a resource (file, transaction, configuration object, etc). (Some ESMs may not implement ACLs as such, but they provide an equivalent scheme.)
Parent topic: Glossary


ADAM

Active Directory Application Mode (ADAM) is a part of Microsoft’s fully integrated directory services available with Windows Server 2003, and is built specifically to address directory-enabled application scenarios.
Parent topic: Glossary


ADSI Edit

Lightweight Directory Access Protocol (LDAP) editor that you can use to manage objects and attributes in Active Directory.
Parent topic: Glossary


Auditing

Auditing refers to collecting information on security-related events and preserving it in for later review.
Parent topic: Glossary


CA-ACF2

An alternative to RACF.
Parent topic: Glossary


CA-TopSecret

An alternative to RACF.
Parent topic: Glossary


CLASS

In Micro Focus security terms, a CLASS is used to identify a collection of ENTITIES.
Parent topic: Glossary


CSD

CICS System Definiton (definition stored in Enterprise Server in DFHDRDAT / DFHDRDAT.IDX)
Parent topic: Glossary


ESF

The Micro Focus External Security Facility, which relays security queries to external security managers. This facility can run within both Enterprise Server and MF Directory Server.
Parent topic: Glossary


ESM

External Security Manager, another name for Security manager: any system outside MF Server that can respond to security queries. It might be the OS itself, or an LDAP server, or some other facility.
Parent topic: Glossary


LDAP

Lightweight Directory Access Protocol: a standard for configuration-data directories, particularly user directories. Microsoft Active Directory is an LDAP implementation.
Parent topic: Glossary


LDIF

LDAP Directory Interchange Format: a standard for transporting LDAP data and schema definitions between LDAP servers.
Parent topic: Glossary


mldap_esm

The security manager that the External Security Facility uses to connect to LDAP servers.
Parent topic: Glossary


RACF

Resource Access Facility, IBM's proprietorial security mechanism. Also known as z/OS Security Server
Parent topic: Glossary


Resource

Any item to which access is controlled. A resource has a name and a class. A resource name is unique within its class.
Parent topic: Glossary


SAF

System Authoriization Facility API, a call interface to z/OS software security functions. The API is a generic interface to the security functions that are typically provided by IBM’s Resource Access Facility (RACF) product. With Enterprise Server, this is typically user verification and resource access authorization.
Parent topic: Glossary


schema

In LDAP, the organization of information in the directory. The schema defines the types of configuration objects, their attributes, and their relationships.
Parent topic: Glossary


security manager

The module and associated configuration information that the External Security Facility connects to.
Parent topic: Glossary


SNMP

Simple Network Monitoring Protocol: a standard protocol for communicating system status and administration information. SNMP clients (usually called "agents") send information about changes in system status ("alerts") to an SNMP server ("monitor" or "manager"). They also respond to the monitor's queries for current status, and may be written to accept some administrative commands from the manager as well. The current version of SNMP is SNMPv3, which includes security provisions.
Parent topic: Glossary


Using the Security Audit Manager

The Audit Manager logs the records of auditable events that take place during Enterprise Server operation. You can use these records for things such as checking for security breaches or unauthorized access, or for monitoring usage.

  • About the Audit Manager
  • Audit Manager Architecture
  • Getting Started with Auditing
  • Starting and Stopping the Audit Process
  • Configuring the AUDITFILE Emitter
  • Configuring the SNMP Emitter
  • Accessing Audit Data
  • Dumping Audit Files
  • Using the Audit Manager as a Windows Service
  • Configuring a User Exit
  • Audit Manager APIs
Parent topic: Enterprise Server Security


About the Audit Manager

The Audit Manager can collect audit events generated by MFDS and by the SEPs running in an Enterprise Server installation. It can either write the information to a set of secure files, or output the information as SNMP events.

  • In a Windows environment, the default installation configures and starts the Micro Focus Audit Manager service.
    • If it's not already running, you can start this service from the Windows Services dialog box, or with the command:
      net start mfauditmgr
    • For flexibility, you can also run the Audit Manager directly, by running the mfauditmgr program installed in the installation directory's base\bin folder.
  • In a UNIX environment, you can run the Audit Manager service as a daemon.

You can configure Audit Manager behaviour using a configuration file. You specify this configuration file with the -c <filename> option.

You can log auditable events to file, or as SNMP events. With SMMP, you can use SNMP management software to analyze the events.

The Audit Manager provides a utility, and APIs, that you can use to generate reports from the audit files that the system generates. The Audit Manager also provides APIs with which you can perform operations such as customizing logging destinations, and configuring your applications to generate audit events.

Parent topic: Using the Security Audit Manager
Related concepts
Audit Setup Configuration File
Related reference
To Start the Audit Manager
To stop the Audit Manager


Audit Manager Architecture

Audit event information is generated by SEPs, and by Micro Focus Directory Server (MFDS).

  • On a SEP, an Audit Manager process collects the audit events.
  • A Micro Focus Directory Server (MFDS) generates audit events and forwards these to the the system's Inter-Process Communications (IPC).

The IPC sends the audit events to the Audit Manager.

The Audit Manager's event consolidator process combines these events, and the Audit event emitter or emitters output them, either to a secure file, or as SNMP events.

This process is illustrated by the figure below:

  • About Audit Emitters
  • Audit Setup Configuration File
  • Default Audit Configuration
Parent topic: Using the Security Audit Manager


About Audit Emitters

The Audit Manager uses audit emitters to output the audit data.

There are two emitters that you can configure:

  • The AUDITFILE emitter writes audit data to a file. You use the Audit Facility Administration utility to access this data.

    The AUDITFILE emitter writes records to a collection of secure audit files. You configure the number and the size of the audit files in the collection when you set up the emitter definition.

    To access the audit details, you use a command to produce reports from the audit files. Once you have accessed the data, you can dump the file, and it becomes available for re-use by the audit process.

  • The SNMP emitter generates audit data as SNMP events.

    You can use an SNMP management tool to access this data.

Note: If there are no emitters configured, audit events are discarded.
Parent topic: Audit Manager Architecture


Audit Setup Configuration File

You can use a configuration file to configure audit setup. You specifiy the configuration file with the the auditmgr command's -c option when you start auditing. In the Windows environment, you can use the Micro Focus Audit Manager service Start Parameter to specify the configuration file.

An example configuration file is below:
mfaudit.dest=AUDITFILE
# Sets the output type to secure file.
mfaudit.emitter.auditfile#collectionsize=3
# Sets that the audit process uses three files only.
mfaudit.emitter.auditfile#location=C:\MFAudit\logs
# Sets the location where the files are to be created.
mfaudit.emitter.auditfile#file= audit.aud_$(GEN)
# Sets the auditing file names. The $(GEN) parameter
# sets that the filenames are numbered sequentially.
mfaudit.emitter.auditfile#maxfilesize=200
# Sets that audit files are closed when they reach
# a size of 200 KB
Parent topic: Audit Manager Architecture
Related concepts
About the Audit Manager
Related reference
To Start the Audit Manager
To stop the Audit Manager


Default Audit Configuration

If you start auditing without using a configuration file, the following defaults are used:

  • Shared memory is used as the IPC mechanism.
  • The Secure file emitter only is enabled, with the following characteristics:
    • Audit file collection size of 5.
    • 20 Mb maximum size of each audit file in the collection.
  • Location in which the audit files are created: The value set in the environment variable: MFAUDIT_LOGS
  • In the Windows environment, if the MFAUDIT_LOGS environment variable is not set, the audit logs are created in the location set by the following registry key:

    \HKEY_LOCAL_MACHINE\SOFTWARE\Micro Focus\NetExpress\<version>\MFAUDIT\<version>\Install

Parent topic: Audit Manager Architecture


Getting Started with Auditing

The sections in this topic provide an example of how to configure secure file auditing in a Windows environment. You can use a similar process to configure auditing in a UNIX environment.

Note: In the Windows environment, auditing runs as a Windows service. You can also run auditing from a command line, as a separate process. To do this, you use the mfauditmgr command.

1. Create a configuration file

In this section, you create the configuration file that the audit process is to use. The configuration file controls the audit process: sets up the location, number, and maximum size of the files that the Audit Manager creates.

The lines beginning with the # character are comments only.

  1. Create a folder to hold your configuration file and auditing logs, for example: C:\MFAudit
  2. In the directory you created, use a text editor to create the audit.cfg file, and add the following content. The lines starting with # are comments only:
    mfaudit.dest=AUDITFILE
# Sets the output type to secure file.
mfaudit.emitter.auditfile#collectionsize=3
# Sets that the audit process uses three files only.
mfaudit.emitter.auditfile#location=C:\MFAudit\logs
# Sets the location where the files are to be created.
mfaudit.emitter.auditfile#file= audit.aud_$(GEN)
# Sets the auditing file names. The $(GEN) parameter
# sets that the filenames are numbered sequentially.
mfaudit.emitter.auditfile#maxfilesize=200
# Sets that audit files are closed when they reach
# a size of 200 KB

2. Start the auditing service

In this section, you re-start the auditing service so that it uses the configuration file.

  1. In Windows Services, locate the Micro Focus Audit Manager service, and if it is started, stop it.
  2. Right-click the service, and select Properties.
  3. Select the General tab, and in the Start parameters field at the bottom of the dialog box, enter the following:
    -c C:\MFAudit\audit.cfg
  4. On the dialog box, click Start and check that the service starts without errors.
  5. In Windows Explorer, check that the log files have been created ready for use.

3. Configure an External Security Manager (ESM)

In this section, you configure the Operating System ESM so that it is available for use.

  1. Start an Enterprise Server Administration session, and in the left hand pane under Configure, select Security.

    The Security Options screen appears.

  2. Select the Security Managers tab, and click Add to display the Add Security Manager screen.
  3. In the Name field, enter a name, for example Windows ESM, and in the Module field, enter osesm to specify the security manager. Ensure that the Enabled checkbox is checked, and click Add to add the security manager.

4. Generate MFDS auditing events

In this section, you configure the Operating System External Security Manager (ESM) to generate auditing events for Micro Focus Directory Server.

  1. In the left hand pane, select Security.
  2. Select the MF Directory Server tab and at the bottom of the screen, and click the Change button.
  3. Select the radio button next to the Windows ESM item you created, and click Add. You are prompted for a login with MF directory server administration permissions.
  4. Enter a valid Enterprise Server Administration user ID, for example the default SYSAD, password SYSAD, and click OK. You are prompted for a user ID and password with Administer Users permissions. Enter your system login and click OK.
  5. Under the MF Directory Server tab, in the Security Facility Configuration area, select the Create audit events checkbox, and at the bottom of the screen, click Apply.

MFDS operations that are performed are now logged to the audit files.

5. Generate Enterprise Server audit events

In this stage, you configure the Audit Manager to collect records of events generated by Enterprise Servers that are running.

  1. In the left hand pane, select Security.
  2. Select the Default ES Security tab and under Default ES Security Manager List, click Add.
  3. Select the radio button next to the Windows ESM entry, and click Add.

6. Perform secure operations

In this section, you generate audit events to be logged.

  1. Log off the directory server and log back on again.
  2. Perform some enterprise server processes, for example starting and stopping regions.
  3. Repeat the process to generate some audit events that you can check.

7. View the audit logs

In this section, you make the audit records accessible for viewing, and generate a report.

  1. In Windows Explorer, check the audit files and verify by the file size and datestamp that the first audit file has logged the audit data.

  2. Open a command prompt, and navigate to the C:\MFAudit\logs folder.
  3. Use the following command to make the first audit file available for dumping:
    mfauditadm -p -f audit.aud_1
  4. Use the following command to generate an audit report from the dumped file:
    mfauditadm -r -o audreport.txt -f audit.aud_1
    The above command creates a file named audreport.txt, that contains the audit information.
Parent topic: Using the Security Audit Manager


Starting and Stopping the Audit Process

You control auditing by starting or stopping the Audit Manager.

To capture audit events generated by audit-enabled products, you must configure and start the Audit Manager. You can start the process from the command line.

  • In the Windows environment, by default the Audit Manager runs as a service. You can control auditing by starting or stopping the Micro Focus Audit Manager service.
  • Under Unix and Linux you can configure the Audit Manager consolidator to run as a background process.

The Audit Manager consolidator obtains its configuration information from a file specified with a command line option.

  • To Start the Audit Manager
  • To stop the Audit Manager
Parent topic: Using the Security Audit Manager


To Start the Audit Manager

Syntax:

Use this command to start the Audit Manager.

mfauditmgr [-c cfg-file] [-n name]

Parameters:

cfg-file Specifies the name of the configuration file that is to be used for defining which emitters are to be enabled etc.

If no configuration file is specified, the audit event consolidator instance is configured as follows:

  • Shared memory is used as the IPC mechanism.
  • The Secure file emitter only is enabled, with the following characteristics:
    • Audit file collection size of 5.
    • 20 Mb maximum size of each audit file in the collection.
  • Location in which the audit files are created: The value set in the environment variable: MFAUDIT_LOGS
  • In the Windows environment, if the MFAUDIT_LOGS environment variable is not set, the audit logs are created in the location set by the following registry key:

    \HKEY_LOCAL_MACHINE\SOFTWARE\Micro Focus\NetExpress\6.0\MFAUDIT\6.0\Install

name Specifies the name of the audit event consolidator instance. This is the name that applications will use to communicate with this audit event consolidator instance.

If this option is not specified, the machine name is used.

Parent topic: Starting and Stopping the Audit Process
Related concepts
About the Audit Manager
Audit Setup Configuration File
Related reference
To stop the Audit Manager


To stop the Audit Manager

Syntax:

This command stops the Audit Manager.

mfauditmgr -x [-n name]

Parameters:

-x | Stop the audit event consolidator instance
name | Specifies the name of the audit event consolidator instance. This is the name that applications will use to communicate with this audit event consolidator instance. If this option is not specified, the machine name will be used.

Comments:

You will only be allowed to stop an audit event consolidator instance if you are the owner (that is, the user that started it), or are a Windows Administrator. In Windows environments, you can use this command to stop the instance even if the instance has been started as a service.

Parent topic: Starting and Stopping the Audit Process
Related concepts
About the Audit Manager
Audit Setup Configuration File
Related reference
To Start the Audit Manager


Configuring the AUDITFILE Emitter

The AUDITFILE emitter writes audit records to a collection of files. These files hold the records in a binary format, and can be processed using the audit file APIs or the Audit Manager Administration Utility.

When the current file in the collection has reached its maximum size, the emitter writes to the next file in the collection. When all files in the collection have reached their maximum file, the emitter attempts to re-use the first file in the collection. This fails if the contents of the audit file have not yet been dumped.

When the last available file in the collection becomes half full, the emitter writes a warning event to the Windows event log, or to the Unix syslog. When the last available file in the collection becomes full, the emitter writes an error event to the Windows event log, or to the Unix syslog.

When no files are available, the emitter attempts to cache audit events in memory until a file becomes available. When there is no memory available, the emitter removes events from the cache to allow it to cache the most recent events. When an audit file becomes available, the emitter generates an audit event that details how many audit events were lost, and writes this as the first event in the file.

An audit file cannot be dumped until it has reached its maximum size, or has been set by an administrator as available for dumping. Marking an active files as available for dumping causes the file to be closed immediately, and the next file in the collection becomes the active file.

  • Setting AUDITFILE Emitter Properties
  • Setting the Audit Output Type
  • Specifying a User-defined Emitter
Parent topic: Using the Security Audit Manager
Related reference
Setting AUDITFILE Emitter Properties
AUDITFILE User Exit
To Make the Active Audit File Available for Dumping
To Dump an Audit File
To Generate a Report for an Audit File
To Generate a Report for All Audit Files in a Collection


Setting AUDITFILE Emitter Properties

Syntax:

In the the Audit Manager Configuration file, you use the following line to specifiy the AUDITFILE emitter output properties.

mfaudit.emitter.emitter-name#property=property-value

Parameters:

emitter-name | The name of the audit emitter for which the property is to be set.
property-name | The name of the emitter property to set.
property-value | The value of the emitter property to be set. Emitter names and property names are case-insensitive. See the table below for details.
property-value | Description
AuditfileExit | The name of a DLL(Windows) or shared object (Unix/Linux) that is to be invoked by the AUDITFILE emitter to report on emitter status changes (see AUDITFILE User Exit). The name of the exit specified should reside in a directory on PATH (Windows) or LIBPATH / LD_LIBRARY_PATH / SHLIB_PATH on Unix/Linux.
CollectionSize The number of audit files that will be created in a collection.

Used in conjunction with MaxFileSize.

Default: 5. Maximum 10.
File The name of the audit file to be written.

The following pseudo-variables may be used for the construction of the audit file name:

  • $(AUDITID) - the name of the audit event consolidator that invoked this emitter.
  • $(GEN) - the generation of the file starting from 1.
Default: mfaudit.$(AUDITID).aud_$(GEN)

For example, the second file in the audit file collection created by this emitter when invoked by the audit event consolidator named nwb-cpjdell would be: mfaudit.nwb-cpjdell.aud_2

Note: If the $(GEN) pseudo-variable is not included in the file specification, this emitter appends it.
Location The directory where the audit files are to be written.

Default: the location specified by the MFAUDIT_LOGS environment variable or the current directory if MFAUDIT_LOGS is not set. The emitter will write an error event to the to the Unix syslog, if it is unable to create audit files in the specified directory.

Note: The Audit Manager attempts to create the output audit file location if it does not already exist. If the creation of the directory specified by the Location property fails, it will use the default location. If the creation of the directory specified by the MFAUDIT_LOGS environment variable fails, the current directory will be used.

The Net Express command prompt implicitly sets MFAUDIT_LOGS to NX-install-dir\base\MFAUDIT\logs.

If the MFAUDIT_LOGS environment variable is not set when running as a Windows Service, the Audit Manager will output the audit files to the directory specified by the \HKEY_LOCAL_MACHINE\SOFTWARE\Micro Focus\NetExpress\<version>\MFAUDIT\<version>\Install registry key ).

MaxFileSize The directory where the audit files are to be written.

The maximum size of an audit file in KB that will be written before the file is closed, and the next audit file in the collection is opened.

A file in the collection is identified by the $(GEN) pseudo-variable (see File property above). The first audit file in a collection will result in the $(GEN) pseudo-variable being set to 1, the second in the sequence will result in it being set to 2, and so on until CollectionSize is exceeded. Once the CollectionSize number of files has been reached, the sequence number will revert back to 1.

Default: 0x00005000, indicating 20 MB max file size

Comments:

mfaudit.emitter.emitter-name#property is used to set a property with the a name and value for the given emitter. Any property name and value can be set, irrespective as to whether the emitter will actually make use of it. The CBL_AUDIT_EMITTER_PROPERTY_GET API can be used by an emitter to retrieve property values as strings or numeric values.

Multiple mfaudit.emitter.emitter-name#property entries can occur in the configuration file, but for duplicates, the last-most entry is used.

Property names are case insensitive.

When any of the following common case-insensitive property values are used, they are held in two forms: the string as given, and a corresponding numeric value. An emitter can then use the CBL_AUDIT_EMITTER_PROPERTY_GET API to retrieve the numeric value of the property directly without needing to perform its own string conversion.

String Value | Numeric Value
ON | 1
OFF | 0
YES | 1
Y | 1
NO | 0
N | 0
TRUE | 1
FALSE | 0
ENABLED | 1
DISABLED | 0
numeric-string | n

Examples:

Set the audit file name, the number of files in the audit file collection, and the maximum size of each audit file in the backup set for the AUDITFILE emitter.

...
mfaudit.emitter.auditfile#collectionsize=3
mfaudit.emitter.auditfile#location=e:\audit
mfaudit.emitter.auditfile#file= myaudit.aud_$(GEN)
mfaudit.emitter.auditfile#maxfilesize=200
...

Audit files myaudit.aud_1, myaudit.aud_2, and myaudit.aud_3 are created in the directory e:\audit. Each of these files has a maximum size of 200kb.

Parent topic: Configuring the AUDITFILE Emitter
Related reference
AUDITFILE User Exit
Related information
Configuring the AUDITFILE Emitter


Setting the Audit Output Type

Syntax:

In the the Audit Manager Configuration file, you use the mfaudit.dest parameter to specify audit event output types or emitter destinations to use: to file or as SNMP events, or both.

mfaudit.dest=audit-emitter-list

Parameters:

audit-emitter-list
A list of comma or space separated audit emitter names. Emitter names are case-insensitive. The supplied emitter names are:
  • AUDITFILE

    Trace events are written to an audit file in a binary format. The resulting file can be processed using the audit file APIs or the Audit Manager Administration Utility.

  • SNMP

    Trace events are generated as SNMP events.

The default is: mfaudit.dest=AUDITFILE

Comments:

mfaudit.dest is used to specify the audit event output types that are to be used by the audit event consolidator instance . You can configure multiple types.

Examples:

The following entry specifies that tracing events are to be output to an audit file.

...
mfaudit.dest=AUDITFILE
...

The following entry specifies that tracing events are to be output using both the audit file and SNMP emitters.

...
mfaudit.dest=AUDITFILE,SNMP
...
OR
...
mfaudit.dest=AUDITFILE
mfaudit.dest=SNMP
...
Parent topic: Configuring the AUDITFILE Emitter


Specifying a User-defined Emitter

Syntax:

In the the Audit Manager Configuration file, you use the following line to define an audit emitter that you have created. That is, it assigns an emitter name to your emitter program. Once you use this command, you can then use this emitter with the mfaudit.dest configuration.

mfaudit.emitter.emitter-name=program-name

Parameters:

emitter-name | The name of the emitter being defined. This name can be specified in mfaudit.dest entries elsewhere in the configuration file. Emitter names are case-insensitive.
program-name | The name of the program that implements the emitter interface and that will be invoked by the audit facility when outputting events to the destination named by emitter-name.

Default:

Not applicable.

Comments:

mfaudit.emitter is used to define a user-specific emitter. Where there are multiple mfaudit.emitter for the same emiter, the last-most is used.

Note: We recommend that custom emitters that you use should be written in C. They should not be written in COBOL due to potential recursion issues during CTF tracing.

Examples:

1) Define a user-specific emitter named MYAUDIT and make it a default audit emitter.

...
mfaudit.emitter.MYAUDIT=myauditemitter.dll
mfaudit.dest=MYAUDIT
...

2) Replace the well-known AUDITFILE emitter.

...
mfaudit.emitter.AUDITFILE=myauditfileemitter.so
...
Parent topic: Configuring the AUDITFILE Emitter


Configuring the SNMP Emitter

SNMP installations are split into two parts: an SNMP Agent runs on the systems being managed, whilst a central Management Console or other Management Tool runs elsewhere to monitor and maintain the systems that are running the Agents. There may be more than one Agent on a given system, provided that they are all configured to avoid using the same UDP and/or TCP ports, and that the Management Tool is told which ports to use to contact the Agents.

Various specifications of SNMP exist. v1 is not widely used today. v2, and specifically v2c, is most common. Whilst v3 can be thought of as being v2c using encrypted data flows.

There are many Agent systems. These may be software used on various operating systems, or firmware operating within hardware devices such as network routers. Micro Focus does not supply any Agent software.

The SNMP Emitter for the Micro Focus Audit Manager supports multiple logical interfaces which in turn interface with specific Agent services. The following SNMP Agent interfaces are provided for use with Net Express.

Agent interface module | Supplied with | Supported SNMP version | Description
mf_audit_win_snmp.dll | All installations of Net Express and Server | v2 and v2c | This module supports installations of Microsoft's WinSNMP embedded SNMP service, which works with SNMP v2 and v2c.
mf_audit_net_snmp.dll | All installations of Net Express and Server | v2, v2c and v3 (with no authentication or encryption of data) | This module supports installations of Net-SNMP v5.4 and upwards.
mf_audit_net_snmp.dll | The optional Security Pack for Net Express and Server | v2, v2c and v3 (with authentication and encryption of data) | This module supports installations of Net-SNMP v5.4 and upwards.

To use any of these modules, make the appropriate entries in the configuration file used by the Micro Focus Audit Consolidator Process. For details of the configuration file, see The Audit Consolidator Process Configuration File. For details on starting the consolidator process and specifying the location of the configuration file, see To start an audit event consolidator.

For each of these modules, a sample configuration file is shipped. The files are mf_audit_net_snmp.cfg and mf_audit_win_snmp.cfg. These contain elements specific to each of the variants of Windows SNMP support, but they are not complete mfauditmgr configuration files. The contents of the relevant sample file, or files, must first be merged with the existing Audit Manager configuration file, and then the Audit Manager system service must be re-started before the changes will take effect.

Many configuration options are common to both agent installations, but there are some entries that are specifically for use with Net-SNMP: the WinSNMP agent only supports SNMP v1 and SNMP v2 Trap generation, whilst the Net-SNMP agent also supports SNMP v3. However, the only configuration element that changes between WinSNMP and Net-SNMP when using SNMP v2 Traps is the agent name item.

It is perfectly acceptable to switch between Agents by using a single configuration file and alternating the agent used between mf_audit_win_snmp and mf_audit_net_snmp then re-starting the mfauditmgr service. Any extra SNMP v3 parameters that may have been supplied for Net-SNMP will simply be ignored by the WinSNMP emitter. A v2 Trap will always be issued when WinSNMP is in use, regardless of the SNMP version configured.

However, to use v3 authentication you must have the mf_audit_net_snmp module supplied with the Security Pack. If you configure the use of authentication when using the mf_audit_net_snmp module with the base Net Express or Server product, the emitter will log an error message.

Here's an example of a configuration file which will trace Audit events to both SNMP and the standard AUDITFILE emitter. This configuration uses WinSNMP to send the SNMP Trap messages.

mfaudit.emitter.snmp                = snmpaudit
mfaudit.dest                             = auditfile,snmp

mfaudit.emitter.auditfile#collectionsize = 5
mfaudit.emitter.auditfile#location       = c:\logs
mfaudit.emitter.auditfile#maxfilesize    = 1

mfaudit.emitter.snmp#agent      = mf_audit_win_snmp
# location of the Trap receiver, the Management Console that will view the audit events
mfaudit.emitter.snmp#agent.host  = <target host name or IP address>
# use port 162, the IANA default port for UDP and TCP traps
mfaudit.emitter.snmp#agent.port  = 162
# default is to exclude the events 0,2,3,4,5,6, the example below excludes
# events with a category >9
mfaudit.emitter.snmp#agent.exclude.events=>9

# Mode of transport, either UDP or TCP
# The default is UDP. Although an option for v2 installations
# TCP is normally only used for SNMP v3
# and is still only optional for v3
mfaudit.emitter.snmp#agent.transport = UDP

# the SNMP community of installations in which this system exists
# community default is "public"
mfaudit.emitter.snmp#agent.community = public

# snmp_version can be either "2" or "3". If v3, extra parameters
# are also required, see below.
# The default is "2"
mfaudit.emitter.snmp#agent.snmp_version = 2

The only change required to re-configure this audit manager installation to emit Audit events to SNMP using Net-SNMP instead of WinSNMP is shown below.

mfaudit.emitter.snmp#agent       = mf_audit_net_snmp

There are several extra parameters that are required in order to configure an SNMP v3 environment for the sending of encrypted audit messages. These are covered in Working with SNMP v3.

  • Using the SNMP Audit Emitter
  • Using the SNMP Emitter with a Net-SNMP Agent
  • Working with SNMP v3
Parent topic: Using the Security Audit Manager


Using the SNMP Audit Emitter

To use the SNMP Emitter, you must:

  1. Configure the SNMP Agent to emit Trap messages to a monitoring Management Tool location. To do this:
    1. Configure the SNMP Emitter to tell the Agent the location of the Management Tools that should receive the emitter Audit Events.
    2. If you are using the Net SNMP Agent, install the Micro Focus MIB file (see below) into the Net SNMP MIB database.
  2. Configure the Management Tool that is to monitor the trap output.
    1. Import the Micro Focus MIB file (see below) into the Management Tool's MIB database so that it can recognise the message content that it is going to receive from the Agent.
    2. Tell the Management Tool to accept SNMP Trap events from the location (and the port number if the Agent is not using default ports) of the originating Agent.

The Micro Focus MIB file, mf_audit_snmp.mib, is located in the base\bin directory of your Net Express installation.

Note: Some MIB import tools require specific file extensions such as .mib or .mb, or just .txt. Ensure that you rename this file to match the requirements of your software before attempting to install the Micro Focus MIB extension.
Note: With the Microsoft WinSNMP Agent, the WinSNMP emitter will work without any further configuration beyond that contained in the audit configuration file.
Parent topic: Configuring the SNMP Emitter


Using the SNMP Emitter with a Net-SNMP Agent

Windows systems always have WinSNMP installed unless it has been specifically removed or disabled - although, without a little configuration it is quiescent. This is not the case with Net-SNMP, which you must install by hand.

The installation and configuration of Net-SNMP is beyond the scope of this document. Please refer to the Net-SNMP documentation for details. The main project, along with binary distributions, can be found at www.net-snmp.org (binaries are at www.net-snmp.org/download.html).

Once you have installed Net-SNMP, you must add the Micro Focus MIB definitions to the Net-SNMP MIB database before it will accept any actions from the audit emitter. You do this by running mf_audit_net_snmp_deploy.bat, which is supplied in the base/bin directory of your Micro Focus Net Express installation.

The default installation drive for Net-SNMP is c:\usr. However, this location is used is at the discretion of the installer. Therefore, the mf_audit_net_snmp_deploy.bat file has an optional location parameter for specifying the location in which it will attempt to install the MIB. This parameter takes long and spacey names, provided that they are delimited with quote characters. If no parameter is found, the file will attempt to install the MIB into a Net-SNMP installation located in c:\usr.

When you have installed and configured the Agent software, you can configure the audit emitter (see below).

  • Configuring the emitter
  • Specifying the location of management tools
  • Configuring logging for problem diagnosis
Parent topic: Configuring the SNMP Emitter


Configuring the emitter

The configuration of each emitter can be viewed as two separate sections: where do you want the Trap messages to be received, and how do you want to send them. This breaks down into a series of location and format options.

The location information is always the same collection of:
  • Local agent (WinSNMP or Net-SNMP)
  • Destination location
  • Destination port
  • Transmission method
  • Events to be audited
  • SNMP version to be used
  • SNMP community identity

The format options vary widely depending upon the version of SNMP to be used.

Parent topic: Using the SNMP Emitter with a Net-SNMP Agent


Specifying the location of management tools

Specifying the location of management tools that will receive events

In the configuration file for the SNMP emitter, the agent.host and agent.port entries configure the snmp emitter to tell the Agent which of its configured management tools should receive the emitted Audit Events. For example:

mfaudit.emitter.snmp#agent.host = 127.0.0.1

WinSNMP cannot handle DNS (text) names and will only accept dotted decimal notation IP addresses like the one shown in the example above.

Net-SNMP can handle DNS or Dotted Decimal notation for the host location.

The Internet Assigned Names Authority (IANA) defines the standard ports to be used for SNMP traffic. Although it is entirely possible that specific installations may choose to use other ports, the following are the defined standard group of ports:

  • snmp 161/tcp SNMP
  • snmp 161/udp SNMP
  • snmptrap 162/tcp SNMPTRAP
  • snmptrap 162/udp SNMPTRAP

The SNMP Audit Emitter only uses the SNMPTRAP ports. If any installations require an override of the port definitions, follow the guidance below for configuring the SNMP agents on your installation, and modify the mfaudit.emitter.snmp#agent.port line in the configuration file. Failure to do both sets of configuration will lead to indeterminate results.

mfaudit.emitter.snmp#agent.port = 162

The transmission method is either UDP or TCP. UDP is widely used as it is fast and has few system overheads. UDP was also the only transmission method available in the early days of SNMP. TCP is slower but it can be used to transmit more than a single IP packet of information, and if audited events are being truncated the user should switch to using TCP. When changing a working system, remember that both the receiver and sender must share a similar configuration, so the changes must be made at both ends of the link.

To select UDP, set transport = UDP. For TCP, set transport = TCP. The default is to use UDP.

mfaudit.emitter.snmp#agent.transport = UDP

The SNMP Trap versions are set using the "snmp_version" configuration option. Acceptable values are either "2" or "3". The default snmpv value is "2".

If SNMP v3 is selected and you wish to use the authentication and privacy features, several extra parameters are also required and you must have the Net SNMP emitter module that is supplied with the Security Pack. See Working with SNMP v3 for more details.

mfaudit.emitter.snmp#agent.snmp_version= 2

The actual range of events that will be audited through this emitter can be masked using the agent.exclude.events option. For more details of this option, see the general Audit Manager documentation. The default behaviour is to exclude events below those at category 9.

mfaudit.emitter.snmp#agent.exclude.events=>9

All SNMP v2 and v3 installations operate within logical communities of installations. If no community name is specified all SNMP installations will use the default community name "public".

To specify the community of your local installations and, in particular, that of the receiver of the SNMP audit events, you will need to add a community option to your configuration file. This name must not be spacey in form.

mfaudit.emitter.snmp#agent.community = community_name

Parent topic: Using the SNMP Emitter with a Net-SNMP Agent


Configuring logging for problem diagnosis

Because audit emitters cannot use the Micro Focus Consolidated Tracing Facility (CTF) to produce diagnostic information, the SNMP emitter supports an alternative logging mechanism. This enables you to send log information to a file and optionally to the screen.

To use the logging mechanism, you use the agent.log_emitter, agent.log_to_screen and agent.logfilename entries in the configuration file. The sample below, illustrates the use of these entries. The comment lines (those preceded with #) document the allowable values.

# Emitters cannot use Micro Focus CTF trace facilities, so
# a basic alternative logging method has been provided.
#
# Logging can go to file and screen, or just to file.
#
# mfaudit.emitter.snmp#agent.log_emitter options
#
# on                  - enable all logging options
# off                 - do not log anything
# errors              - log only errors
# flow                - log module process flow
# content             - log audit message (partial) content
# errors_flow         - log errors and logic flow
# errors_flow_content - log errors and logic flow and content
mfaudit.emitter.snmp#agent.log_emitter = errors

# mfaudit.emitter.snmp#agent.log_to_screen options
# on                   - log to console screen
# off                  - do not log to screen, log to file
mfaudit.emitter.snmp#agent.log_to_screen = on

# mfaudit.emitter.snmp#agent.logfilename options
# if screen logging is disabled log to file name given here
mfaudit.emitter.snmp#agent.logfilename = c:\snmpemitter.log
Parent topic: Using the SNMP Emitter with a Net-SNMP Agent


Working with SNMP v3

SNMP v3 adds two optional levels of security to SNMP v2c Traps: Authentication and Privacy (Content Encryption).

To enable generated Audit events be sent using SNMP v3 flows, we rely upon software produced by the OpenSource Net-SNMP project. The main project along with binary distributions can be found at www.net-snmp.org. (Binaries are at www.net-snmp.org/download.html). This release of Micro Focus SNMP Audit Emitter was created to use Net-SNMP v5.4. It does not require a 3rd party OpenSSL installation, nor does it require an OpenSSL compliant Net-SNMP installation.

Note:
  • In order to use SNMP v3 with privacy and authentication, you must have the mf_audit_net_snmp.dll that is provided with the optional Micro Focus Security Pack, not the version that is supplied with the base product.
  • Microsoft Windows SNMP services do not include native SNMP v3 support, so the WinSNMP option will not provide SNMP v3.
  • The SNMP V3 Specific Configuration Options
  • Configuring the Micro Focus Audit Emitter for SNMP V3
Parent topic: Configuring the SNMP Emitter


The SNMP V3 Specific Configuration Options

The use of SNMP v3 with authentication and privacy introduces the need to configure several basic options before the SNMP v3 Traps can be generated and sent. If you are not using authentication and privacy, you can ignore these options. They are as follows:

  • Security Engine ID
  • Username
  • Hash method (MD5 or SHA1)
  • Authentication password
  • Cipher (DES or AES128)
  • Cipher password

There are two further options which will only be used in a limited number of installations:

  • Context EngineID
  • ContextName

Depending upon the transmission privilege settings all of the options may be used. In most installations, all of the options are going to be required to enable correct authentication and cryptographically protected transmissions that can be received correctly at the management console where the trap messages are monitored.

The SNMP Audit Emitter can only send SNMP v3 traps under a single user identity. In order for the traps to be deciphered correctly, this identity must also be configured with exactly the same content at the receiver of the trap messages.

Parent topic: Working with SNMP v3


Configuring the Micro Focus Audit Emitter for SNMP V3

The first change to a standard V2 installation is to enable V3 operations.

mfaudit.emitter.snmp#agent.snmp_version = 3

Now we must select the level of security privilege that we require on our transmissions.

Whilst Authentication can be enabled or disabled at will, Privacy can only be enabled when Authentication is already enabled. So the three transmission privilege permutations are:

NoAuth No authentication or encryption of data

AuthPriv Authenticate and use private (encrypted) data

AuthNoPriv Authenticate user with no encryption of data

When configuring the SNMP Audit Emitter, this choice is held in the "privilege" setting. The following example enables both Authorisation and Privacy.

mfaudit.emitter.snmp#agent.privilege = AuthPriv

When either Privacy or Authentication and Privacy are disabled, the relevant sections of the configuration are ignored.

To provided Authorisation, a user identity is configured at the monitoring trap receiver and the issuing Emitter. Five options define a user, and a further option defines the Security EngineID that groups the user within a logical group of users.

We shall now take a look at the User options in detail.

The Username

The username is a single text string with a simple name. This name cannot contain spaces.

mfaudit.emitter.snmp#agent.security_username = fred_jones

The Hash Method

The Hash Method and Authentication Pass Phrase (the Shared Secret in cryptographic terms) are combined to form a cryptic value. This value which will be compared with the receiver's similarly configured pairing which has a matching Username and Security EngineID. A mismatch will cause the authentication attempt to be rejected.

Most installations support the MD5 hash method, and later installations may also support SHA1. If configuring a new V3 user, you should choose to use the latest hash method installed at the monitoring location that will receive the traps. The original MD5 method is the default hash method as it will currently be pre-configured in more installations than SHA1.

mfaudit.emitter.snmp#agent.hmac = MD5

The chosen hash method is applied to a configured pass phrase. The pass phrase must be at least 8 characters in length and may be spacey if the phrase is contained within a single pair of quote characters. Non-spacey passwords may omit the quote characters.

mfaudit.emitter.snmp#agent.auth_passphrase = "auth password"

The Encryption Cipher

The Privacy cipher can be either DES or AES128. Like the SHA1 hash above, AES is a recent addition to SNMP V3 and may not be in place in all installations. As a result, the default setup is to use the DES cipher. As with choosing a hash method, if you are configuring a new v3 user you should choose to use the latest cipher method that is installed at the monitoring location that will receive the traps. This should ideally be AES, however the default setting is DES as this will match the majority of installations in the field today.

The three options are DES, AES and AES128. The latter two are equivalent. It is anticipated that additions to the SNMP V3 standard will add AES192 and AES256 support in the future. When this happens AES will refer to AES128.

mfaudit.emitter.snmp#agent.cipher = DES

Exactly the same rules apply to Privacy (Cipher) pass phrases and Authentication pass phrases.

mfaudit.emitter.snmp#agent.cipher_passphrase = "crypt password"

The Security Engine ID

Several copies of a given username can exist within an SNMP installation, however only one copy can exist within the scope of any one Security Engine. So the group of five options shown above are always paired with a Security Engine ID. This is a numerical string represented in hex format. There are many long and varied methods for determining what value to use for a security engine ID and there is as yet no formal consensus. This document is not the place to examine the arguments, however in the setup you will need to choose a value to use as the Security Engine ID. This must match the receiver's Engine ID and Username's config grouping of options.

The following example would work as an initial test value, however it lacks meaning in a wider SNMP context and your network management team should assign a security Engine ID for the Audit Emitter monitoring, or advise the user of an existing Engine ID that should be used.

mfaudit.emitter.snmp#agent.security_engineID = 0x0102030405

Putting this group together we have a collection that describes the user, the user's Security Engine in which it will work, and the methods of both proving the user's identity and encrypting the audit event's data content. Taken together this is the complete configuration describing a single user.

mfaudit.emitter.snmp#agent.privilege = AuthPriv
mfaudit.emitter.snmp#agent.security_engineID = 0x0102030405
mfaudit.emitter.snmp#agent.security_username = fred_jones
mfaudit.emitter.snmp#agent.hmac = MD5
mfaudit.emitter.snmp#agent.auth_passphrase = "auth password"
mfaudit.emitter.snmp#agent.cipher = DES
mfaudit.emitter.snmp#agent.cipher_passphrase = "crypt password"

The ContextID and ContextName

The final configuration items not mentioned so far are the Security Context ID and ContextName. These are paired together in much the same fashion as the SecurityEngineID and UserName to form a restricted connection entity.

Contexts can be useful in installations where several applications will be receiving SNMP data and the users do not wish all the applications to receive all the incoming data.

By giving different applications the same SecurityEngineID and UserName configuration, but different ContextEngine and ContextName configurations, data destined for specific locations can be sent to those locations without the need to configure extra Users in the SecurityEngine domain in order to distinguish the destinations and sources.

Again, in a similar fashion to the SecurityEngineID and UserName configuration items, the ContextEngineID is expected to be a hex string, and the ContextName a character string which usually has human readable content.

mfaudit.emitter.snmp#agent.context_engineID = 0x0102030405
mfaudit.emitter.snmp#agent.context_name = primary_audit_monitor
Parent topic: Working with SNMP v3


Accessing Audit Data

Audit data is either written to files, or output as SNMP events. You use the mfauditadm command to access the audit output data.

Before you can access data from the active file, you must make it available for dumping.

  • To Generate a Report for an Audit File
  • To Generate a Report for All Audit Files in a Collection
  • To Dump and Generate a Report for an Audit File
  • To Dump and Generate Reports for All Audit Files in a Collection
  • To Make the Active Audit File Available for Dumping
Parent topic: Using the Security Audit Manager


To Generate a Report for an Audit File

Syntax:

You use the Audit Manager Administration command line utility to do this. To dump or generate a report for the active audit file, you must first make it available for dumping.

mfauditadm -r -o report-file-name] -f audit-file-name

Parameters:

-r | Generate a report
-f audit-file-name | The audit file from which the report is to be generated.
-o report-file-name | Name of the report file to be created. If this option is not specified, the report file will be derived from the audit-file-name, where the extension will be replaced by .txt. For example, if the audit-file-name was specified as mfaudit.DOCTEST.aud_3, the report file created would be named mfaudit.DOCTEST.txt

Example:

mfauditadm -r -o auditdata.txt -f mfaudit.DOCTEST.aud_5
Note:

Once an audit file has been dumped, you cannot generate a report for it, nor can you dump it again, until it has been reused by the audit consolidator process.

Parent topic: Accessing Audit Data
Related information
Dumping Audit Files
Configuring the AUDITFILE Emitter


To Generate a Report for All Audit Files in a Collection

Syntax:

You use the Audit Facility Administration command line utility to do this.

mfauditadm -r -c [-o report-file-name] -f audit-file-name

Parameters:

-f audit-file-name | An audit file in the collection for which reports are to be generated.
-c | Generate a report for each available file in the collection.
-r | Generate a report.
-o report-file-name | Name of the report file to be created. If this option is not specified, the report file will be derived from the audit-file-name, where the extension will be replaced by .txt. For example, if the audit-file-name was specified as mfaudit.DOCTEST.aud_3, the report file created would be named mfaudit.DOCTEST.txt

Example:

mfauditadm -r -c -o auditdata.txt -f mfaudit.DOCTEST.aud_5
Note:

To dump or generate a report for the active audit file, you must first make it available for dumping. Once an audit file has been dumped, you cannot generate a report for it, nor can you dump it again, until it has been reused by the audit consolidator process.

Parent topic: Accessing Audit Data
Related information
Dumping Audit Files
Configuring the AUDITFILE Emitter


To Dump and Generate a Report for an Audit File

Syntax:

You use the Audit Manager Administration command line utility to do this.

mfauditadm -r [-date date] [-time time] -d [-o report-file-name] -f audit-file-name

Parameters:

-f audit-file-name | The audit file to be dumped and for which a report is to be generated.
-d | Mark the file as dumped.
-r | Generate a report.
-o report-file-name | Name of the report file to be created. If this option is not specified, the report file will be derived from the audit-file-name, where the extension will be replaced by .txt. For example, if the audit-file-name was specified as mfaudit.DOCTEST.aud_3, the report file created would be named mfaudit.DOCTEST.txt

Example:

mfauditadm -r -d -o auditdata.txt -f mfaudit.DOCTEST.aud_5
Note:

To dump or generate a report for the active audit file, you must first make it available for dumping. Once an audit file has been dumped, you cannot generate a report for it, nor can you dump it again, until it has been reused by the audit consolidator process.

Parent topic: Accessing Audit Data


To Dump and Generate Reports for All Audit Files in a Collection

Syntax:

You use the Audit Manager Administration command line utility to do this.

mfauditadm -r -c -d [-o report-file-name] -f audit-file-name

Parameters:

-f audit-file-name | An audit file in the collection to be dumped and for which a report is to be generated.
-c | Include each available file in the collection.
-r | Generate a report for each file available for dumping.
-d | Mark the files as dumped
-o report-file-name | Name of the report file to be created. If this option is not specified, the report file will be derived from the audit-file-name, where the extension will be replaced by .txt. For example, if the audit-file-name was specified as mfaudit.DOCTEST.aud_3, the report file created would be named mfaudit.DOCTEST.txt

Example:

mfauditadm -r -c -d -o auditdata.txt -f mfaudit.DOCTEST.aud_5
Note:

To dump or generate a report for the active audit file, you must first make it available for dumping. Once an audit file has been dumped, you cannot generate a report for it, nor can you dump it again, until it has been reused by the audit consolidator process.

Parent topic: Accessing Audit Data


To Make the Active Audit File Available for Dumping

Syntax:

In order to access the active file's audit data, you need to make it available for dumping. You use the Audit Manager Administration command line utility to do this. After you perform this, it is no longer the active file, and you can access the data it contains.
Note: You can specify the audit file by either giving its name or the name of the audit event consolidator that uses it. If neither are specified, the command uses the current active file.
mfauditadm -p [-n instance-name]
mfauditadm -p [-f audit-file-name]

Parameters:

-p | Make the active audit file available for dumping
-n instance-name | Specifies the name of the audit event consolidator instance. This is the name that applications will use to communicate with this audit event consolidator instance. This option cannot be used with the -f option. If neither this option nor the -f option is not specified, the machine name will be used.
-f audit-file-name | Specifiies the name of the audit file to be made available for dumping. This option cannot be used with the -n option. An error will be reported if the named file is not an active audit file.

Example:

mfauditadm -p -f mfaudit.DOCTEST.aud_5
Parent topic: Accessing Audit Data
Related information
Dumping Audit Files
Configuring the AUDITFILE Emitter


Dumping Audit Files

Audit files created by the AUDITFILE Emitter cannot be reused until they have been dumped. Dumping involves the creation of backup files or reports using the audit file APIs. Once an audit file has been dumped it is marked as being available for reuse.

An audit file cannot be dumped until:

  • It has reached its maximum size.

    or

  • It is marked as available for dumping using the Audit Manager Administration Utility.
  • To Dump an Audit File
  • To Dump All Audit Files in a Collection
Parent topic: Using the Security Audit Manager
Related reference
To Make the Active Audit File Available for Dumping
To Dump an Audit File
To Generate a Report for an Audit File
To Generate a Report for All Audit Files in a Collection


To Dump an Audit File

Syntax:

You use the Audit Manager Administration command line utility to do this.

mfauditadm -d -f audit-file-name

Parameters:

-f | The audit file to be dumped.
-d | Mark the file as dumped.

Example:

mfauditadm -d -f mfaudit.DOCTEST.aud_5
Note:

To dump or generate a report for the active audit file, you must first make it available for dumping. Once an audit file has been dumped, you cannot generate a report for it, nor can you dump it again, until it has been reused by the audit consolidator process.

Parent topic: Dumping Audit Files
Related information
Dumping Audit Files
Configuring the AUDITFILE Emitter


To Dump All Audit Files in a Collection

Syntax:

You use the Audit Manager Administration command line utility to do this.

mfauditadm -d -c -f audit-file-name

Parameters:

-f audit-file-name | An audit file in the collection to be dumped.
-c | Dump each available file in the collection containing audit-file-name.
-d | Mark the files as dumped.

Example:

mfauditadm -d -c -f mfaudit.DOCTEST.aud_5
Note:

To dump or generate a report for the active audit file, you must first make it available for dumping. Once an audit file has been dumped, you cannot generate a report for it, nor can you dump it again, until it has been reused by the audit consolidator process.

Parent topic: Dumping Audit Files


Using the Audit Manager as a Windows Service

If you have configured the consolidator to use the AUDITFILE Emitter to log audit information, you will need to manage the files that it creates.

To create your own audit emitters to log information, see Audit Emitter Interface.

Note:

The default installation installs the Audit Manager as a service.

  • To Install the Audit Event Consolidator as a Service (Windows only)
  • To Uninstall the Audit Event Consolidator as a Service (Windows only)
Parent topic: Using the Security Audit Manager


To Install the Audit Event Consolidator as a Service (Windows only)

You use the mfauditmgr command line utility to perform this.

Note:

The default installation installs the Audit Manager as a service.

Syntax:

mfauditmgr -i [-n name] [-c cfg-file]

Parameters:

-n name | The name of the audit event consolidator instance. This is the name that applications will use to communicate with the audit event consolidator instance. If this option is not specified, the machine name will be used.
-i | Install the audit event consolidator as a service.
-c cfg-file Specifies the name of the configuration file that is to be used for defining which emitters are to be enabled etc.

If no configuration file is specified, the audit event consolidator instance will be configured as follows:

  • The AUDITFILE emitter will be the only emitter enabled, and its properties will be set to their default values. For details, see AUDITFILE Emitter Properties.
.

Comments:

When starting the service, the -n and -c options may also be specified in the service's Start Parameters entry field (right-click on the Micro Focus Audit Manager service in the Services Window, and select Properties to bring up the properties dialog. Enter the command-line options in the Start Parameters field and click on the Start button.

Parent topic: Using the Audit Manager as a Windows Service


To Uninstall the Audit Event Consolidator as a Service (Windows only)

Syntax:

You use the mfauditmgr command line utility to perform this.

mfauditmgr -u [-n name]

Parameters:

-n name | The name of the audit event consolidator instance. This is the name that applications will use to communicate with the audit event consolidator instance. If this option is not specified, the machine name will be used.
-u | Uninstall the audit event consolidator as a service.
Parent topic: Using the Audit Manager as a Windows Service


Configuring a User Exit

You can invoke the AUDITFILE emitter user exit to report on emitter status changes. It is enabled by specifying its name to the AUDITFILE emitter using the configuration file's mfaudit.emitter.emitter-name#property entry.

  • AUDITFILE User Exit
Parent topic: Using the Security Audit Manager


AUDITFILE User Exit

The interface to the AUDITFILE_EMITTER_EXIT entry point is as follows:

  • AUDITFILE emitter initialising: The exit may change the emitter's properties during its invocation.
  • AUDITFILE emitter deinitialising: The exit would typically release any resources it has acquired during its previous invocations.
  • The name of the audit file being made active.
  • The name of the audit file that is now full.
  • No audit files are available for outputting events to.

The AUDITFILE emitter loads the DLL or shared object named by the AuditfileExit property and invokes the AUDITFILE_EMITTER_EXIT entry point within it whenever an emitter status change occurs.

Syntax:

typedef cobrtncode_t (*PFI_AUDITFILE_EMITTER_EXIT)(cobuns32_t function,
                                                   cobuns8_t *emitter_name,
                                                   ...);

On Entry:

function
AUDITFILE emitter status change:
0 | AUDITFILE emitter initialising. The exit may change the emitter's properties during its invocation
1 | AUDITFILE emitter deinitialising. The exit would typically release any resources it has acquired during its previous invocations
2 | A new audit file is being made active
3 | The active audit file is now full
4 | There are no audit files available for outputting events into
emitter name
The name of the emitter invoking the exit
...
A variable number of parameters depending on the value of function. When:
function=0 | no additional parameters
function=1 | no additional parameters
function=2 | 1 additional parameter: a null-terminated filename
function=3 | 1 additional parameter: a null-terminated filename
function=4 | no additional parameters

On Exit:

Nothing

Return Codes:

Dependent upon the exit function. At present this should always be 0.

Comments:

Please note that the user exit should not be written in COBOL.

See auditfile_exit.c for an example.

Parent topic: Configuring a User Exit
Related reference
Setting AUDITFILE Emitter Properties
Related information
Configuring the AUDITFILE Emitter


Audit Manager APIs

The Audit Manager provides APIs that you can use to audit-enable your applications, create your own audit emitters and process audit files.

  • API Return Codes
  • Audit Events
  • Audit Configuration APIs
  • Audit Event Generation APIs
  • Audit Event Consolidator APIs
  • Audit File Processing APIs
  • Audit Emitter Interface
  • Structure and Typedefs
Parent topic: Using the Security Audit Manager


API Return Codes

These return codes are provided in the mfaudit.cpy copybook for COBOL programs, and the mfaudit.h include file for C programs.

Value | Name | Description
0 | 78-AUD-RET-SUCCESS | Success
-1 | 78-AUD-RET-FAILURE | Unspecified Failure
1 | 78-AUD-RET-INVALID-HANDLE | Invalid audit or audit file handle specified
2 | 78-AUD-RET-INVALID-AUDIT-CATEGORY | Invalid audit category specified
5 | 78-AUD-RET-NOT-ENOUGH-MEMORY | Memory allocation error
6 | 78-AUD-RET-OUTPUT-ERROR | Error outputting to one or more output destinations
7 | 78-AUD-RET-PROPERTY-NOT-FOUND | Property not found
8 | 78-AUD-RET-BUFFER-TOO-SMALL | Buffer length too small
9 | 78-AUD-RET-VALUE-NOT-INTEGER | Value is not an integer
10 | 78-AUD-RET-EMITTER-NOT-FOUND | Emitter not found
12 | 78-AUD-RET-ZERO-LENGTH-DATA | Zero length data specified
13 | 78-AUD-RET-INVALID-PROP-NAME | Invalid property name specified
14 | 78-AUD-RET-INVALID-COMP-NAME | Invalid component name specified
15 | 78-AUD-RET-INVALID-EMITTER-NAME | Invalid emitter name specified
19 | 78-AUD-RET-NO-SERVER-PROCESS | mfauditmgr process is not running
20 | 78-AUD-RET-ACCESS-DENIED | Unable to access resource(s)
1000 | 78-AUD-RET-FILE-NOT-EXIST | File does not exist
1001 | 78-AUD-RET-FILE-NOT AVAILABLE | File(s) not available for dumping
1002 | 78-AUD-RET-FILE-INVALID-FORMAT | Unrecognised audit file format
1003 | 78-AUD-RET-FILE-EOF | End of file
1004 | 78-AUD-RET-FILE-NO-MORE-RECORDS | No more records left to process
1005 | 78-AUD-RET-FILE-INVALID-NAME | Invalid audit file name
1006 | 78-AUD-RET-FILE-NOT-DUMPED | Audit file has not been dumped
Parent topic: Audit Manager APIs


Audit Events

Event Category | Component Identifier | Event Identifier | Event Data | Description
Audit Facility (1) MF.AUDITMGR 0
  1. mfauditmgr instance name (text)
  2. mfauditmgr instance type (4-byte comp-5)

    0 = command line

    1 = Windows service

 mfauditmgr starting
1
  1. mfauditmgr instance name (text)
 mfauditmgr stopping
2 | None | Request received from mfauditadm -p to deactivate the active file
Parent topic: Audit Manager APIs


Audit Configuration APIs

The following Audit Configuration APIs are available:

  • CBL_AUDIT_CONFIG_PROPERTY_GET
    Get an audit configuration property value.
  • CBL_AUDIT_CONFIG_PROPERTY_SET
    Sets an audit configuration property value.
Parent topic: Audit Manager APIs


CBL_AUDIT_CONFIG_PROPERTY_GET

Syntax:

call "CBL_AUDIT_CONFIG_PROPERTY_GET" using by value     flags
                                           by reference property-name
                                           by reference property-vallen
                                           by reference property-value
                                              returning status-code

Parameters:

 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
property-name | pic x(n) | pic x(n)
property-vallen | cblt-x4-comp5 | pic x(4) comp-5
property-value | pic x(n) | pic x(n)

On Entry:

Control flags

Bit | Value | Meaning
0 | 0 | Return string value. Use bit 1 to determine string terminator
 | 1 | Return integer value. Ignore bit 1.
1 | 0 | Return the value as a space-terminated string
 | 1 | Return the value as a null-terminated string
2-28 |  | Reserved for future use (must be 0)
29 | 0 | property-name is space-terminated
 | 1 | property-name is null-terminated
30-31 |  | Reserved for future use (must be 0)

property-name: Space- or null- terminated (depending upon setting of bit 29) case-insensitive property name.

NAME | mfauditmgr instance name to connect, or are connected, to
NOSERVER_ACTION | indicates the desired behaviour of the CBL_AUDIT_EVENT API when the mfauditmgr process is not running. A value of "wait" indicates the API will block (the default). A value of "nowait" indicates the API will return an error.
SYSTEM | name of the system to be associated with audit events output by this process

property vallen: Length of property-value buffer in which property value is to be returned. The routine fails if this is too small for the value to be returned. This parameter is ignored if value is being returned as an integer.

On Exit:

property-vallen | Length of returned string value in property-value buffer. Length does not include termination character. If property-value is null, or if the specified buffer length is too small for the value to be returned, property-vallen will be set to the required buffer length. This parameter is not set if the value is being returned as an integer.
property-value | Buffer in which the property value is to be returned. This is either a pic x(n) field for a value being returned as a string, or a pic x(4) comp-5 field for a value being returned as an integer. A null property-value may be specified to request that the API returns the required buffer length to hold the specified property value.

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-NOT-ENOUGH-MEMORY
78-AUD-RET-PROPERTY-NOT-FOUND
78-AUD-RET-BUFFER-TOO-SMALL
78-AUD-RET-VALUE-NOT-INTEGER
78-AUD-RET-INVALID-PROP-NAME

Comments:

CBL_AUDIT_CONFIG_PROPERTY_GET is used to retrieve a named property value associated with the audit facility's configuration for the current process.

Supported properties are yet to be defined.

Examples:

Get the value associated with the audit facility's "system" property.

copy "mfaudit.cpy" .

01 flags           pic x(4) comp-5.
01 prop-len        pic x(4) comp-5.
01 prop-string     pic x(100).
...
compute flags = 78-AUD-FLAG-PROP-STRING-VALUE
move length of prop-string to prop-len

call "CBL_AUDIT_CONFIG_PROPERTY_GET" using
                                     by value flags
                                     by reference "system "
                                     by reference prop-len
                                     by reference prop-string
...
Parent topic: Audit Configuration APIs


CBL_AUDIT_CONFIG_PROPERTY_SET

Syntax:

call "CBL_AUDIT_CONFIG_PROPERTY_SET" using by value     flags
                                           by reference property-name
                                           by reference property-value
                                              returning status-code

Parameters:

 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
property-name | pic x(n) | pic x(n)
property-value | pic x(n) | pic x(n)

On Entry:

flags
Bit | Value | Meaning
0 | 0 | String value. Use bit 1 to determine string terminator
1 | Integer value. Ignore bit 1.
1 | 0 | String value is space-terminated
1 | String value is null-terminated
2-28 | Reserved for future use (must be 0)
29 | 0 | property-name is space-terminated
1 | property-name is null-terminated
30-31 | Reserved for future use (must be 0)
property-name
Space- or null- terminated (depending upon setting of bit 29) case-insensitive property name. Recognised property names are:
NAME | mfauditmgr instance name to connect, or are connected, to
NOSERVER_ACTION | indicates the desired behaviour of the CBL_AUDIT_EVENT API when the mfauditmgr process is not running. A value of "wait" indicates the API will block (the default). A value of "nowait" indicates the API will return an error.
SYSTEM | name of the system to be associated with audit events output by this process
Note: Other property names may be set, but they will be ignored by the facility.

On Exit:

Nothing.

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-NOT-ENOUGH-MEMORY
78-AUD-RET-INVALID-PROPERTY-NAME

Comments:

CBL_AUDIT_CONFIG_PROPERTY_SET is used to set a named property value for the audit facility's configuration for the current process. If a property with the same name already exists, its value will be replaced with the new value.

Supported properties are yet to be defined.

Examples:

Set the audit facility's "system" property value.

copy "mfaudit.cpy ".

01 flags           pic x(4) comp-5.
01 prop-string     pic x(100).
...
compute flags = 78-AUD-FLAG-PROP-STRING-VALUE
move "ESDEMO" & x"00" to prop-string

call "CBL_AUDIT_EMITTER_PROPERTY_SET" using
                                    by value flags
                                    by reference "system "
                                    by reference prop-string
...
Parent topic: Audit Configuration APIs


Audit Event Generation APIs

The following Audit Event Generation APIs are available:

  • CBL_AUDIT_EVENT
    Outputs an audit event.
  • CBL_AUDIT_HANDLE_GET
    Get an audit handle.
  • cobaudit_event
    Outputs an audit event.
Parent topic: Audit Manager APIs


CBL_AUDIT_EVENT

Syntax:

call "CBL_AUDIT_EVENT" using by value     flags
                             by reference component-id
                             by reference audit-event
                                returning status-code

Table 1. Parameters
 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
component-id | pic x(n) | pic x(n)
audit-event | cblt-aud-event | Group containing
cblte-audevt-version | cblt-x4-comp5 | pic x(4) comp-5
cblte-audevt-flags | cblt-x4-comp5 | pic x(4) comp-5
cblte-audevt-id | cblt-x4-comp5 | pic x(4) comp-5
cblte-audevt-category | cblt-x4-comp5 | pic x(4) comp-5
cblte-audevt-data-count | cblt-x4-comp5 | pic x(4) comp-5
cblte-audevt-reserved1 | cblt-x4-comp5 | pic x(4) comp-5 occurs 7
cblte-audevt-event-len | cblt-pointer | pointer
cblte-audevt-event-type | cblt-pointer | pointer
cblte-audevt-event-data | cblt-pointer | pointer
cblte-audevt-reserved2 | cblt-pointer | pointer occurs 7

On entry

Control flags

Bit | Value | Meaning
0-12 | Reserved | for future use (must be 0)
13 | 0 | cblte-audevt-event-data is an array of pointers to trace data of varying size and type. The corresponding elements of the cblte-audevt-event-len and cblte-audevt-event-type arrays need to be set up.
 | 1 | cblte-audevt-event-data is an array of pointers to trace data of the same size and type. Only the first element of cblte-audevt-event-len and cblte-audevt-event-type need to be set up.
14-29 |  | Reserved for future use (must be 0)
30 | 0 | component-id is space-terminated
 | 1 | component-id is null-terminated
 |  | (ignored if bit 31 unset)
31 | 0 | component-id is an audit handle created by CBL_AUDIT_HANDLE_GET (pic x(4) comp-5).
 | 1 | component-id is a text string (pic x(n)) . The termination character for the string is defined by bit 30.
component-id
Component identifier. This will either be a pic x(4) comp-5 tracer handle (See CBL_AUDIT_HANDLE_GET() - Get an Audit Handle for details about how a component acquires an audit handle) if bit 31 of flags is not set, or a pic x(n) text identifier if bit 31 of flags is set.
cblte-audevt-version
Structure version. Must be 0.
cblte-audevt-flags
Control flags. Must be 0.
cblte-audevt-id
Component specific audit event identifier used to identify the type of event being output
cblte-audevt-category
Category of the audit event being output.
Value Category
0 Unknown
1 Audit Facility
2 System
3 Security API request check
4 Security API request define
5 Security API request other
6 Security API result allow
7 Security API result deny
8 Security API result error
9 Security API result success
cblte-audevt-data-count
Number of audit data items. Indicates the number of elements in the cblte-audevt-event-len, cblte-audevt-event-type, and cblte-audevt-event-data arrays. May be 0.
cblte-audevt-event-len
Pointer to array of 4-byte comp-5 items. Each array element indicates the length of the corresponding audit data item in the cblte-audevt-event-data array. May be NULL if cblte-audevt-data-count is 0.
cblte-audevt-event-type
Pointer to array of 4-byte comp-5 items. Each array element indicates the type of the corresponding audit data item in the cblte-sudevt-event-data array. May be NULL if cblte-audevt-data-count is 0.
Value Type
0 Binary
1 Text (local encoding)
2 Address
3 COMP-5
4 COMP-X
5 UTF8
6 Signed COMP-5
7 Signed COMP-X
cblte-audevt-event-data
Pointer to array of pointer items. Each array element addresses an audit data item of the type and length indicated by the corresponding element in the cblte-audevt-event-type and cblte-audevt-event-len arrays respectively. May be NULL if cblte-audevt-data-count is 0.

N.B. for address type items, the array element is the address value, and not a pointer to the address value.

On Exit:

Nothing

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-INVALID-HANDLE
78-AUD-RET-INVALID-AUDIT-CATEGORY
78-AUD-RET-NOT-ENOUGH-MEMORY
78-AUD-RET-OUTPUT-ERROR
78-AUD-RET-INVALID-COMPONENT-NAME
78-AUD-RET-NO-SERVER-PROCESS
78-AUD-RET-ACCESS-DENIED

Comments:

None

Examples:

copy "mfaudit.cpy".

78 78-EVENT-TYPE-A      value 1.
78 78-EVENT-TYPE-B      value 2.

01 audit-event          cblt-aud-event.
01 audit-event-lengths  pic x(4) comp-5 occurs 1.
01 audit-event-pointers pointer occurs 1.
01 audit-event-types    pic x(4) comp-5 occurs 1.
01 audit-handle         pic x(4) comp-5.
01 audit-info           pic x(10).
01 component-id         pic x(7) value "mycomp ".
01 flags                pic x(4) comp-5.

...
move low-values to audit-event

set cblte-audevt-event-len of audit-event to
    address of audit-event-lengths(1)
set cblte-audevt-event-type of audit-event to
    address of audit-event-types(1)
set cblte-audevt-event-data of audit-event
    to address of audit-event-pointers(1)

1) Acquire an audit handle to trace "mycomp" component audit events, and then output two audit events: one with event data, one without.

call "CBL_AUDIT_HANDLE_GET" using by value 0
                                  by reference component-id
                                  by reference audit-handle
...
move 0 to flags
move 78-AUD-FLAG-CATEGORY-UNKNOWN to
     cblte-audevt-category of audit-event
move 78-EVENT-TYPE-A to cblte-audevt-id of audit-event
move 1 to cblte-audevt-data-count of audit-event
move length of audit-info to audit-event-lengths(1)
move 78-AUDIT-EVENT-TYPE-TEXT to audit-event-types(1)
set audit-event-pointers(1) to address of audit-info

call "CBL_AUDIT_EVENT" using by value flags
                             by reference audit-handle
                             by reference audit-event
...
move 78-EVENT-TYPE-B to cblte-audevt-id of audit-event
move 0 to cblte-audevt-data-count of audit-event

call "CBL_AUDIT_EVENT" using by value flags
                             by reference audit-handle
                             by reference audit-event
...

2) Output two informational events for the "mycomp" component without acquiring an audit handle

...
move 78-AUD-FLAG-COMPID-STRING to flags
move 78-AUD-FLAG-CATEGORY-UNKNOWN to
     cblte-audevt-category of audit-event
move 78-EVENT-TYPE-A to cblte-audevt-id of audit-event
move 1 to cblte-audevt-data-count of audit-event
move length of audit-info to audit-event-lengths(1)
move 78-AUDIT-EVENT-TYPE-TEXT to audit-event-types(1)
set audit-event-pointers(1) to address of audit-info

call "CBL_AUDIT_EVENT" using by value flags
                             by reference component-id
                             by reference audit-event
...
move 78-EVENT-TYPE-B to cblte-audevt-id of audit-event
move 0 to cblte-audevt-data-count of audit-event

call "CBL_AUDIT_EVENT" using by value flags
                             by reference component-id
                             by reference audit-event
...
Parent topic: Audit Event Generation APIs


CBL_AUDIT_HANDLE_GET

Syntax:

call "CBL_AUDIT_HANDLE_GET" using by value     flags
                                  by reference component-name
                                  by reference audit-handle
                                     returning status-code

Parameters:

 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
component-name | pic x(n) | pic x(n)
audit-handle | cblt-x4-comp5 | pic x(4) comp-5

On Entry:

flags
Bit | Value | Meaning
0-29 | Reserved for future use (must be 0)
30 | 0 | component-name is space-terminated
1 | component-name is null-terminated
(ignored if bit 31 unset)
31 | Reserved for future use (must be 0)
component-name
Space- or null-terminated (depending upon bit 30 setting) case-insensitive component identifier string.

On Exit:

audit-handle
Audit handle to be specified to the CBL_AUDIT_EVENT API.

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-NOT-ENOUGH-MEMORY
78-AUD-RET-INVALID-COMPONENT-NAME

Comments:

Components should invoke this API to acquire an audit handle before performing any auditing operations. This API returns an audit handle that should be passed to the CBL_AUDIT_EVENT API.

Please note that the CBL_AUDIT_EVENT API allows a component to be specified as a handle or as a string depending upon its flags parameter specification. This allows events to be output without first acquiring an audit handle by specifying a component identifier string instead. However, this will have an impact on performance as the component identifier will be validated each time.

Examples:

Acquire an audit handle to output "mycomp" audit events.

copy "mfaudit.cpy".

01 audit-handle    pic x(4) comp-5.
01 component-name  pic x(7) value "mycomp".
...
call "CBL_AUDIT_HANDLE_GET" using by value 0
                                  by reference component-name
                                  by reference audit-handle
...
Parent topic: Audit Event Generation APIs


cobaudit_event

Syntax:

cobrtncode_t cobaudit_event(cobuns32_t      flags_p,
                   const cobuns8_t *component_id,
                   AUDIT_EVENT     *audit_event)

On Entry:

Control flags
Bit | Value | Meaning
0-29 |  | Reserved for future use (must be 0)
30 | 0 | component-name is space-terminated
 | 1 | component-name is null-terminated
 |  | (ignored if bit 31 unset)
31 |  | Reserved for future use (must be 0)
component_id
Component identifier. This will either be a 32-bit unsigned integer tracer handle (See CBL_AUDIT_HANDLE_GET() - Get an Audit Handle for details about how a component acquires an audit handle) if bit 31 of flags is not set, or a text identifier if bit 31 of flags is set.
audit_event
Audit event structure
version | Structure version. Must be 0.
flags | Control flags. Must be 0.
event_id | Component specific event identifier used to identify the type of event being output.
event_category | Audit event category.
data_count | Number of audit data items. Indicates the number of elements in the event_len, event_type, and event_data arrays. May be 0.
event_len | Pointer to array of 32-bit unsigned integers. Each array element indicates the length of the corresponding audit data item in the event_data array. May be NULL if data_count is 0.
event_type Pointer to array of 32-bit unsigned integers. Each array element indicates the type of the corresponding audit data item in the event_data array. May be NULL if data_count is 0.
Any value other than the ones specified above will be treated as type 0 (binary).
0 Binary
1 Text (local encoding)
2 Address
3 COMP-5
4 COMP-X
5 UTF8
6 Signed COMP-5
7 Signed COMP-X
event_data Pointer to array of pointer items. Each array element addresses an audit data item of the type and length indicated by the corresponding element in the event_type and event_len arrays respectively. May be NULL if data_count is 0.

N.B. for address type items, the array element is the address value, and not a pointer to the address value.

On Exit:

Nothing

Return Codes:

AUDIT_RET_SUCCESS
AUDIT_RET_INVALID_HANDLE
AUDIT_RET_INVALID_AUDIT_CATEGORY
AUDIT_RET_NOT_ENOUGH_MEMORY
AUDIT_RET_OUTPUT_ERROR
AUDIT_RET_INVALID_COMPONENT_NAME
AUDIT_RET_NO_SERVER_PROCESS
AUDIT_RET_ACCESS_DENIED

Comments:

cobaudit_event() is intended for use by C programs. It outputs the specified event identified by event_id to one or more output destinations.

Parent topic: Audit Event Generation APIs


Audit Event Consolidator APIs

The following Audit Event Consolidator APIs are available:

  • CBL_AUDIT_EMITTER_PROPERTY_GET
    Get an audit emitter property value.
  • CBL_AUDIT_EMITTER_PROPERTY_SET
    Set an audit emitter property value.
Parent topic: Audit Manager APIs


CBL_AUDIT_EMITTER_PROPERTY_GET

Syntax:

call "CBL_AUDIT_EMITTER_PROPERTY_GET" using by value     flags
                                            by reference emitter-name
                                            by reference property-name
                                            by reference property-vallen
                                            by reference property-value
                                               returning status-code

Parameters:

 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
emitter-name | pic x(n) | pic x(n)
property-name | pic x(n) | pic x(n)
property-vallen | cblt-x4-comp5 | pic x(4) comp-5
property-value | pic x(n) | pic x(n)

On Entry:

flags
Bit | Value | Meaning
0 | 0 | Return string value. Use bit 1 to determine string terminator
1 | Return integer value. Ignore bit 1.
1 | 0 | Return the value as a space-terminated string
1 | Return the value as a null-terminated string
2-27 | Reserved for future use (must be 0)
28 | 0 | emitter-name is space-terminated
1 | emitter-name is null-terminated
29 | 0 | property-name is space-terminated
1 | property-name is null-terminated
30-31 | Reserved for future use (must be 0)
emitter-name
Space- or null-terminated (depending upon setting of bit 28) case-insensitive emitter name.
property-name
Space- or null- terminated (depending upon setting of bit 29) case-insensitive property name.
property-vallen
Length of property-value buffer in which property value is to be returned. The routine fails if this is too small for the value to be returned.

Ignored if value is being returned as an integer.

On Exit:

property-vallen | Length of returned string value in property-value buffer. Length does not include termination character. If property-value is null, or if the specified buffer length is too small for the value to be returned, property-vallen will be set to the required buffer length. Not set if the value is being returned as an integer.
property-value | Buffer in which the property value is to be returned. This is either a pic x(n) field for a value being returned as a string, or a pic x(4) comp-5 field for a value being returned as an integer. A null property-value may be specified to request that the API returns the required buffer length to hold the specified property value.

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-NOT-ENOUGH-MEMORY
78-AUD-RET-PROPERTY-NOT-FOUND
78-AUD-RET-BUFFER-TOO-SMALL
78-AUD-RET-VALUE-NOT-INTEGER
78-AUD-RET-EMITTER-NOT-FOUND

Comments:

CBL_AUDIT_EMITTER_PROPERTY_GET is used to retrieve a named property value for the emitter with name emitter-name. The function would typically by used by an emitter during its initialisation to determine how it had been configured.

Examples:

Get two property values associated with the "AUDITFILE" emitter: one a space-terminated string value, one an integer value.

copy "mfaudit.cpy ".

01 emitter-name    pic x(10) value " AUDITFILE".
01 flags           pic x(4) comp-5.
01 prop-integer    pic x(4) comp-5.
01 prop-len        pic x(4) comp-5.
01 prop-string     pic x(100).
...
compute flags = 78-AUD-FLAG-PROP-STRING-VALUE
move length of prop-string to prop-len

call "CBL_AUDIT_EMITTER_PROPERTY_GET" using
                                    by value flags
                                    by reference emitter-name
                                    by reference "location "
                                    by reference prop-len
                                    by reference prop-string
...
compute flags = 78-AUD-FLAG-PROP-INT-VALUE

call "CBL_AUDIT_EMITTER_PROPERTY_GET" using
                                    by value flags
                                    by reference emitter-name
                                    by reference "collectionsize "
                                    by value 0
                                    by reference prop-integer
...
Parent topic: Audit Event Consolidator APIs


CBL_AUDIT_EMITTER_PROPERTY_SET

Syntax:

call "CBL_AUDIT_EMITTER_PROPERTY_SET" using by value     flags
                                            by reference emitter-name
                                            by reference property-name
                                            by reference property-value
                                               returning status-code

Parameters:

 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
emitter-name | pic x(n) | pic x(n)
property-name | pic x(n) | pic x(n)
property-value | pic x(n) | pic x(n)

On Entry:

flags
Bit | Value | Meaning
0 | 0 | String value. Use bit 1 to determine string terminator
1 | Integer value. Ignore bit 1.
1 | 0 | String value is space-terminated
1 | String value is null-terminated
2-27 | Reserved for future use (must be 0)
28 | 0 | emitter-name is space-terminated
1 | emitter-name is null-terminated
29 | 0 | property-name is space-terminated
1 | property-name is null-terminated
30-31 | Reserved for future use (must be 0)
emitter-name
Typedef: pic x(n)

Picture: pic x(n)

property-name
Typedef: pic x(n)

Picture: pic x(n)

property-value
Typedef: pic x(n)

Picture: pic x(n)

On Exit:

Nothing

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-NOT-ENOUGH-MEMORY
78-AUD-RET-EMITTER-NOT-FOUND
78-AUD-RET-INVALID-EMITTER-NAME
78-AUD-RET-INVALID-PROPERTY-NAME

Comments:

CBL_AUDIT_EMITTER_PROPERTY_SET is used to set a named property value for the emitter with name emitter-name. If a property with the same name already exists for the emitter, its value will be replaced with the new value.

Examples:

Set two property values associated with the "AUDITFILE" emitter: one a null-terminated string value, one an integer value.

copy "mfaudit.cpy ".

01 emitter-name    pic x(10) value "AUDITFILE".
01 flags           pic x(4) comp-5.
01 prop-integer    pic x(4) comp-5.
01 prop-string     pic x(100).
...
compute flags = 78-AUD-FLAG-PROP-STRING-VALUE b-or
                78-AUD-FLAG-PROP-NULL-TERM
move "xxx" & x"00" to prop-string

call "CBL_AUDIT_EMITTER_PROPERTY_SET" using
                                    by value flags
                                    by reference emitter-name
                                    by reference "location "
                                    by reference prop-string
...
compute prop-flags = 78-AUD-FLAG-PROP-INT-VALUE
move 10 to prop-integer

call "CBL_AUDIT_EMITTER_PROPERTY_GET" using
                                    by value flags
                                    by reference emitter-name
                                    by reference "collectionsize "
                                    by reference prop-integer
...
Parent topic: Audit Event Consolidator APIs


Audit File Processing APIs

The following Audit File Processing APIs are available:

  • CBL_AUDIT_FILE_CLOSE
    Close an audit file.
  • CBL_AUDIT_FILE_OPEN
    Open an audit file.
  • CBL_AUDIT_FILE_READ
    Read a record from an audit file.
  • cobaudit_file_read
    Read a record from an audit file.
Parent topic: Audit Manager APIs


CBL_AUDIT_FILE_CLOSE

Syntax:

call "CBL_AUDIT_FILE_CLOSE" using by value     flags
                                  by value     auditfile-handle
                                     returning status-code

Parameters:

 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
auditfile-handle | cblt-pointer | pointer

On Entry:

Control flags

Bit | Value | Meaning
0 | 0 | Close all files associated with the handle
 | 1 | Close the current file associated with the handle (use when processing a file collection).
1 | 0 | Do not set 'dumped' flag
 | 1 | Set 'dumped' flag
2-31 |  | Reserved for future use (must be 0)
auditfile-handle
Audit handle returned by the CBL_AUDIT_FILE_OPEN API.

On Exit:

Nothing

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-INVALID-HANDLE
78-AUD-RET-FILE-NOT-DUMPED

Comments:

CBL_AUDIT_FILE_CLOSE() is used to close the audit file, or audit file collection, identified by the auditfile-handle parameter. The flags parameter can be used to control whether or not the file, or files if an audit file collection is associated with the handle, is marked as being 'dumped'. Once a file is marked as 'dumped', it can be reused by the audit event consolidator process.

Examples:

copy "mfaudit.cpy ".

01 auditfile-handle  pic x(4) comp-5.
01 flags             pic x(4) comp-5.
...
compute flags = 78-AUDITFILE-FLAG-CLOSE-CURRENT b-or
                78-AUDITFILE-FLAG-CLOSE-DUMPED

call "CBL_AUDIT_FILE_CLOSE" using by value flags
                                  by value auditfile-handle
...
Parent topic: Audit File Processing APIs


CBL_AUDIT_FILE_OPEN

Syntax:

call "CBL_AUDIT_FILE_OPEN" using by value     flags
                                 by reference auditfile-handle
                                 by reference auditfile-name
                                    returning status-code

Parameters:

 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
auditfile-handle | cblt-pointer | pointer
auditfile-name | pic x(n) | pic x(n)

On Entry:

flags
Bit | Value | Meaning
0 | 0 | Open the specified audit file
1 | Open the audit file collection for which the specified file is a member
1 | 0 | auditfile-name is space-terminated
1 | auditfile-name is null-terminated
2-31 | Reserved for future use (must be 0)

On Exit:

auditfile-handle Audit handle to be specified to the CBL_AUDIT_FILE_READ and CBL_AUDIT_FILE_CLOSE APIs.

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-NOT-ENOUGH-MEMORY
78-AUD-RET-FILE-NOT-EXIST
78-AUD-RET-FILE-NOT-AVAILABLE
78-AUD-RET-FILE-INVALID-FORMAT
78-AUD-RET-FILE-INVALID-NAME

Comments:

CBL_AUDIT_FILE_OPEN() is used to open an audit file, or audit file collection. Only files that are available for dumping will be opened by this API (i.e. files in a collection which are marked as 'dumped' or 'active' will not be opened).

Examples:

copy "mfaudit.cpy ".

01 auditfile-handle  pic x(4) comp-5.
01 auditfile-name    pic x(32)
                     value "mfaudit.nwb-cpjdell.aud_1" & x"00".
01 flags             pic x(4) comp-5.
...
compute flags = 78-AUDITFILE-FLAG-OPEN-COLLECTION b-or
                78-AUDITFILE-FLAG-OPEN-NAME-NULL-TERM

call "CBL_AUDIT_FILE_OPEN" using by value flags
                                 by reference auditfile-handle
                                 by reference auditfile-name
      ...
Parent topic: Audit File Processing APIs


CBL_AUDIT_FILE_READ

Syntax:

call "CBL_AUDIT_FILE_READ" using by value     flags
                                 by value     auditfile-handle
                                 by reference auditfile-record
                                    returning status-code

Parameters:

 | Typedef | Picture
flags | cblt-x4-comp5 | pic x(4) comp-5
auditfile-handle | cblt-pointer | pointer
auditfile-record | cblt-aud-record | Group containing
cblte-audrec-version | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-flags | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-pid-len | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-tid-len | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-pid-32 | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-pid-64 | cblt-x8-comp5 | pic x(8) comp-5 redefines cblte-audrec-pid-32
cblte-audrec-tid-32 | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-tid-64 | cblt-x8-comp5 | pic x(8) comp-5 redefines cblte-audrec-tid-32
cblte-audrec-event-id | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-event-category | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-data-count | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-appname-len | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-cmdline-len | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-os-name-len | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-mc-name-len | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-sys-name-len | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-comp-name-len | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-encoded-time | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-hour | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-minute | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-second | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-millisecond | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-encoded-date | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-year | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-month | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-day | cblt-x4-comp5 | pic x(4) comp-5
cblte-audrec-reserved1 | cblt-x4-comp5 | pic x(4) comp-5 occurs 7
cblte-audrec-appname | cblt-pointer | pointer
cblte-audrec-cmdline | cblt-pointer | pointer
cblte-audrec-os-name | cblt-pointer | pointer
cblte-audrec-mc-name | cblt-pointer | pointer
cblte-audrec-sys-name | cblt-pointer | pointer
cblte-audrec-comp-name | cblt-pointer | pointer
cblte-audrec-event-len | cblt-pointer | pointer
cblte-audrec-event-type | cblt-pointer | pointer
cblte-audrec-event-data | cblt-pointer | pointer
cblte-audrec-reserved2 | cblt-pointer | pointer occurs 7

On Entry:

flags
Bit | Value | Meaning
0-31 | Reserved for future use (must be 0)
Auditfile-handle
Audit handle returned by the CBL_AUDIT_FILE_OPEN API.

On Exit:

cblte-audevt-version
Structure version
cblte-audevt-flags
Control flags
cblte-audrec-pid-len
Length of process identifier (4 or 8)
cblte-audrec-tid-len
Length of thread identifier (4 or 8)
cblte-audrec-pid-32
4-byte process identifier
cblte-audrec-pid-64
8-byte process identifier
cblte-audrec-tid-32
4-byte thread identifier
cblte-audrec-tid-64
8-byte thread identfier
cblte-audrec-event-id
Component specific audit event identifier
cblte-audrec-category
Audit event category
Value | Category
0 | Unknown
1 | Audit Facility
2 | System
3 | Security API request check
4 | Security API request define
5 | Security API request other
6 | Security API result allow
7 | Security API result deny
8 | Security API result error
9 | Security API result success
cblte-audrec-data-count
Number of audit data items. Indicates the number of items in the cblte-audrec-event-len, cblte-audrec-event-type and cblte-audrec-event-data arrays
cblte-audrec-appname-len
Length of application name
cblte-audrec-cmdline-len
Length of command line
cblte-audrec-os-name-len
Length of operating system name
cblte-audrec-mc-name-len
Length of computer/machine name
cblte-audrec-sys-name-len
Length of system name
cblte-audrec-comp-name-len
Length of component name
cblte-audrec-encoded-time
Encoded time of event
cblte-audrec-hour
Decoded hour
cblte-audrec-minute
Decoded minute
cblte-audrec-second
Decoded second
cblte-audrec-millisecond
Decoded millisecond
cblte-audrec-encoded-date
Encoded date of event
cblte-audrec-year
Decoded year
cblte-audrec-month
Decoded month
cblte-audrec-day
Decoded day
cblte-audrec-appname
Pointer to null-terminated name of application that generated audit event
cblte-audrec-cmdline
Pointer to null-terminated command-line of application that generated audit event
cblte-audrec-os-name
Pointer to null-terminated name of operating system that generated audit event
cblte-audrec-mc-name
Pointer to null-terminated name of computer that generated audit event
cblte-audrec-sys-name
Pointer to null-terminated name of system that generated audit event
cblte-audrec-comp-name
Pointer to null-terminated name of component that generated audit event
cblte-audrec-event-len
Pointer to array of 4-byte comp-5 items. Each array element indicates the length of the corresponding audit data item. Will be NULL if cblte-audrec-data-count is 0
cblte-audrec-event-type
Pointer to array of 4-byte comp-5 items. Each array element indicates the type of the corresponding audit data item in the cblte-audrec-event-data array. Will be NULL if cblte-audrec-data-count is 0.
Value | Type
0 | Binary
1 | Text (local encoding)
2 | Address
3 | COMP-5
4 | COMP-X
5 | UTF8
6 | Signed COMP-5
7 | Signed COMP-X

Any value other than the ones specified above will be treated as type 0 (binary).

cblte-audrec-event-data
Pointer to array of pointer items. Each array element addresses an audit data item of the type and length indicated by the corresponding element in the cblte-audrec-event-type and cblte-audrec-event-len arrays respectively. Will be NULL if cblte-audrec-data-count is 0.

Return Codes:

78-AUD-RET-SUCCESS
78-AUD-RET-FAILURE
78-AUD-RET-NOT-ENOUGH-MEMORY
78-AUD-RET-INVALID-HANDLE
78-AUD-RET-FILE-INVALID-FORMAT
78-AUD-RET-FILE-EOF
78-AUD-RET-FILE-NO-MORE-RECORDS

Comments:

CBL_AUDIT_FILE_READ() is used to return the next audit record from the file(s) associated with the current handle.

The function will return 78-AUD-RET-FILE-EOF when attempting to read past the last record in a file for the first time. The next attempt to read past the last record will either return the first record of the next file in the collection if a collection has been opened and another file is available, or 78-AUD-RET-FILE-NO-MORE-RECORDS.

Examples:

copy "mfaudit.cpy ".

01 auditfile-handle  pic x(4) comp-5.
01 auditfile-record  cblt-aud-record.
01 flags             pic x(4) comp-5.
...
compute flags = 0

call "CBL_AUDIT_FILE_READ" using by value flags
                                 by value auditfile-handle
                                 by reference auditfile-record
...
Parent topic: Audit File Processing APIs


cobaudit_file_read

Syntax:

cobrtncode_t cobaudit_file_read(cobuns32_t       flags,
                                cbl_os_pointer_t auditfile_handle,
                                AUDIT_RECORD     *auditfile_record)

On Entry:

Control flags
Bit | Value | Meaning
0-31 | Reserved for future use (must be 0)
auditfile-handle
Audit handle returned by the CBL_AUDIT_FILE_OPEN API.
auditfile_record
Audit event structure
version | Structure version (must be 0)
flags | Control flags (must be 0)

On Exit:

Auditfile_record

Audit event structure

version
Structure version
flags
Control flags
process_id_len
Length of process identifier (4 or 8)
thread_id_len
Length of thread identifier (4 or 8)
p.process_id_32
4-byte process identifier
p.process_id_64
8-byte process identifier
t.thread_id_32
4-byte thread identifier
t.thread_id_64
8-byte thread identfier
event_id
Component specific audit event identifier
event_category
Audit event category
Value | Category
0 | Unknown
1 | Audit Facility
2 | System
3 | Security API request check
4 | Security API request define
5 | Security API request other
6 | Security API result allow
7 | Security API result deny
8 | Security API result error
9 | Security API result success
data_count
Number of audit data items. Indicates the number of items in the event_len, event_type and event_data arrays
appname_len
Length of application name
cmdline_len
Length of command line
os_name_len
Length of operating system name
mc_name_len
Length of computer/machine name
sys_name_len
Length of system name
comp_name_len
Length of component name
time
Encoded time of event
hour
Decoded hour
minute
Decoded minute
second
Decoded second
millisecond
Decoded millisecond
date
Encoded date of event
year
Decoded year
month
Decoded month
day
Decoded day
appname
Pointer to null-terminated name of application that generated audit event
cmdline
Pointer to null-terminated command-line of application that generated audit event
os_name
Pointer to null-terminated name of operating system that generated audit event
mc_name
Pointer to null-terminated name of computer that generated audit event
sys_name
Pointer to null-terminated name of system that generated audit event
comp_name
Pointer to null-terminated name of component that generated audit event
event_len
Pointer to array of 4-byte comp-5 items. Each array element indicates the length of the corresponding audit data item. Will be NULL if data-count is 0
event_type
Pointer to array of 4-byte comp-5 items. Each array element indicates the type of the corresponding audit data item in the event_data array. Will be NULL if data_count is 0.

Any value other than the ones specified above will be treated as type 0 (binary).

Value | Type
0 | Binary
1 | Text (local encoding)
2 | Address
3 | COMP-5
4 | COMP-X
5 | UTF8
6 | Signed COMP-5
7 | Signed COMP-X
event_data
Pointer to array of pointer items. Each array element addresses an audit data item of the type and length indicated by the corresponding element in the event_type and event_len arrays respectively. Will be NULL if data_count is 0.

Return Codes:

AUDIT_RET_SUCCESS
AUDIT_RET_FAILURE
AUDIT_RET_INVALID_HANDLE
AUDIT_RET_NOT_ENOUGH_MEMORY
AUDIT_RET_FILE_INVALID_FORMAT
AUDIT_RET_FILE_EOF
AUDIT_RET_FILE_NO_MORE_RECORDS

Comments:

cobaudit_event() is intended for use by C programs. It is used to return the next audit record from the file(s) associated with the current handle.

The function will return AUDIT_RET_FILE_EOF when attempting to read past the last record in a file for the first time. The next attempt to read past the last record will either return the first record of the next file in the collection if a collection has been opened and another file is available, or AUDIT_RET_FILE_NO_MORE_RECORDS.

Parent topic: Audit File Processing APIs


Audit Emitter Interface

The following Audit Emitter Interface information and APIs are available:

  • Audit Emitter Interface Overview
  • PFI_AUD_EMITTER_DEINIT
  • PFI_AUD_EMITTER_INIT
  • PFV_AUD_EMITTER_NOTIFY
  • PFI_AUD_EMITTER_OUTPUT
Parent topic: Audit Manager APIs


Audit Emitter Interface Overview

Each emitter configured for use by the Audit Manager, whether well-known or dynamically loaded, will conform to the interface outlined in this section.

A dynamically loaded emitter is loaded by the Audit Manager using the program name specified by an mfaudit.emitter configuration file entry (see mfaudit.emitter.emitter-name).

Once loaded, the GET_AUDIT_EMITTER_FUNCS entry point of the loaded program is invoked to retrieve the address of a function pointer table (see Structures and Typedefs for AUDIT_EMITTER_FUNCS). This table contains pointers for a set of functions responsible for initialising the emitter, deinitialising the emitter, outputting an audit event, and handling notifications of emitter property changes. The example below shows how the main entry point for an emitter would typically be coded to return an AUDIT_EMITTER_FUNCS structure:

....
#include "mfaudit.h"
....
static int audit_emitter_deinit(cobuns32_t flags,
                                void       *emitter_data);

static int audit_emitter_init(cobuns32_t          flags,
                              const cobuns8_t     *emitter_name,
                              AUDIT_EMITTER_EVENT *audit_event,
                              void                **emitter_data);

static void audit_emitter_notify(cobuns32_t notif_type,
                                 void       *notif_buf,
                                 void       *emitter_data);

static int audit_emitter_output(cobuns32_t          flags,
                                AUDIT_EMITTER_EVENT *audit_event,
                                Void                *emitter_data);

static AUDIT_EMITTER_FUNCS audit_emitter_funcs =
{
    0,                         /* Version of structure format      */
    0,                         /* Reserved for future use          */
    audit_emitter_init,        /* Function to initialise the       */
                               /* emitter                          */
    audit_emitter_deinit,      /* Function to deinitialise the     */
                               /* emitter                          */
    audit_emitter_output,      /* Function to output a trace event */
    audit_emitter_notify,      /* Function to handle notifications */
                               /* of emitter config changes        */
};
....

AUDIT_EMITTER_FUNCS *
GET_AUDIT_EMITTER_FUNCS()
{
    return &audit_emitter_funcs;
}
....

Emitter initialisation (the invocation of the fn_init AUDIT_EMITTER_FUNCS function) is deferred by the Audit Manager until just prior to the first audit event needing to be output. During emitter initialisation the emitter would typically invoke the CBL_AUDIT_EMITTER_PROPERTY_GET API to pick up the value associated with each of its known properties.

Emitter de-initialisation (the invocation of the fn_deinit AUDIT_EMITTER_FUNCS function) occurs during Audit Manager de-initialisation. During emitter de-initialisation the emitter would release any resources it had acquired during any previous invocations.

The outputting of an audit event (the invocation of the fn_output AUDIT_EMITTER_FUNCS function) occurs when a component invokes the CBL_AUDIT_EVENT API (see CBL_AUDIT_EVENT() - Output an Audit Event).

The emitter is notified (the invocation of the fn_notify AUDIT_EMITTER_FUNCS function) of each configuration change (e.g. property value change) that occurs for it after it has been initialised.

Parent topic: Audit Emitter Interface


PFI_AUD_EMITTER_DEINIT

Syntax:

typedef int (*PFI_AUD_EMITTER_DEINIT)(cobuns32_t flags,
                                      void       *emitter_data);

On Entry:

flags
Reserved for future use (must be 0)
emitter_data
Emitter-specific data

On Exit:

Nothing

Return Codes:

EMITTER_DEINIT_SUCCESS | 0
EMITTER_DEINIT_FAIL | -1

Comments:

This function is invoked by the audit facility during its deinitialisation to allow the emitter to release any resources it had acquired during any previous invocations.

Parent topic: Audit Emitter Interface


PFI_AUD_EMITTER_INIT

Syntax:

typedef int (*PFI_AUD_EMITTER_INIT)(cobuns32_t          flags,
                                    const cobuns8_t     *emitter_name,
                                    AUDIT_EMITTER_EVENT *audit_event,
                                    void                **emitter_data);

On Entry:

flags
Reserved for future use (must be 0)
emitter_name
Name of emitter being initialised
audit_event
Details of the first audit event to be output. (N.B. the event is not expected to be emitted during initialisation, but the information provided may be useful for file header creation (e.g. date/time))

On Exit:

emitter_data
Emitter-specific data

Return Codes:

EMITTER_INIT_SUCCESS | 0
EMITTER_INIT_FAIL | -1

Comments:

This function is invoked by the audit facility to perform the emitter's initialisation. Initialisation would typically involve the interrogation of the audit facility for the emitter's configuration properties via calls to the CBL_AUDIT_EMITTER_PROPERTY_GET() API (see CBL_AUDIT_EMITTER_PROPERTY_GET() - Get an Audit Emitter Property Value).

Emitter initialisation is deferred by the audit facility until just prior to the first audit event needing to be output.

Parent topic: Audit Emitter Interface


PFV_AUD_EMITTER_NOTIFY

Syntax:

typedef void (*PFV_AUD_EMITTER_NOTIFY)(cobuns32_t notif_type,
                                       void       *notif_buf,
                                       void       *emitter_data);

On Entry:

notif_type
Notification type:
0: Property value change has occurred. notif_buf is a pointer to an EMITTER_NOTIF_PROP_CHANGE structure.
notif_buf
Notification buffer. The contents of this buffer are dependent upon notif_type.
emitter_data
Emitter-specific data

On Exit:

Nothing

Return Codes:

Nothing

Comments:

This function is invoked by the audit facility for each configuration change that occurs for the emitter after it has been initialised.

Parent topic: Audit Emitter Interface


PFI_AUD_EMITTER_OUTPUT

Syntax:

typedef int (*PFI_AUD_EMITTER_OUTPUT)(cobuns32_t   flags,
                                      AUDIT_EMITTER_EVENT *audit_event,
                                      void		    *emitter_data);

On Entry:

flags | Reserved for future use (must be 0)
audit_event | Audit event to output
emitter_data | Emitter-specific data

On Exit:

Nothing

Return Codes:

EMITTER_OUTPUT_SUCCESS | 0
EMITTER_OUTPUT_FAIL | -1

Comments:

This function is invoked by the audit facility to output an audit event to an output destination.

Parent topic: Audit Emitter Interface


Structure and Typedefs

The following Structure and Typedefs APIs are available:

  • Structures and Typedefs for AUDIT_EMITTER_FUNCS
  • Structures and Typedefs - AUDIT_EVENT
  • Structures and Typedefs - AUDIT_EMITTER_EVENT
  • Structures and Typedefs - AUDIT_RECORD
  • Structures and Typedefs - EMITTER_NOTIF_PROP_CHANGE
Parent topic: Audit Manager APIs


Structures and Typedefs for AUDIT_EMITTER_FUNCS

typedef struct audit_event
{
    cobuns32_t                version;               Version of structure format
    cobuns32_t                reserved;	             Reserved for future use
    PFI_AUD_EMITTER_INIT      fn_init;               Function to initialise the emitter
    PFI_AUD_EMITTER_DEINIT    fn_deinit;             Function to deinitialise the emitter
    PFI_AUD_EMITTER_OUTPUT    fn_output;             Function to output a trace event
    PFV_AUD_EMITTER_NOTIFY    fn_notify;             Function to handle notifications of emitter config changes
    PFI                       fn_reserved[4];        Reserved for future use
} AUDIT_EMITTER_FUNCS;

Version types (version):

    #define AUDIT_EMITTER_FUNCS_VERSION	0
Parent topic: Structure and Typedefs


Structures and Typedefs - AUDIT_EVENT

typedef struct audit_event
{
    cobuns32_t	version;	Version of structure format
    cobuns32_t	flags;	Control flags
    cobuns32_t	event_id;	Audit event identifier
    cobuns32_t	event_category;	Audit event category
    cobuns32_t	data_count;	Number of audit data items
    cobuns32_t	reserved1[7];	Reserved for future use
    cobuns32_t	*event_len;	Audit data item lengths
    cobuns32_t	*event_type;	Audit data item types
    void	*event_data;	Audit data items
    void	*reserved2[7];	Reserved for future use
}AUDIT_EVENT;

Version types (version):

    #define AUDIT_EVENT_VERSION	0

Control flags (flags):

    #define AUDIT_EVENT_FLAGS_NONE	0x00000000

Audit event categories (event_category):

    #define AUDIT_EVENT_CATEGORY_UNKNOWN	0

Audit data item types (event_type):

    #define AUDIT_EVENT_TYPE_BINARY     0
    #define AUDIT_EVENT_TYPE_TEXT       1
    #define AUDIT_EVENT_TYPE_ADDRESS    2
    #define AUDIT_EVENT_TYPE_COMP5      3
    #define AUDIT_EVENT_TYPE_COMPX      4
    #define AUDIT_EVENT_TYPE_UTF8       5
    #define AUDIT_EVENT_TYPE_COMP5S     6
    #define AUDIT_EVENT_TYPE_COMPXS     7
Parent topic: Structure and Typedefs


Structures and Typedefs - AUDIT_EMITTER_EVENT

typedef struct audit_emitter_event
{
    cobuns32_t          version;          Version of structure format
    cobuns32_t          flags;            Control flags
    cobuns32_t          date;             Encoded date
    cobuns32_t          time;             Encoded time
    cobuns32_t          process_id_len;   Length of process identifier
    cobuns32_t          thread_id_len;    Length of thread identifier
    cobuns32_t          comp_id;          Component identifier
    cobuns32_t          event_id;         Audit event identifier
    cobuns32_t          event_category;   Audit event category
    cobuns32_t          data_count;       Number of audit data items
    cobuns32_t          reserved1[6];     Reserved for future use
    const cobuns8_t     *process_id;      Process identifier
    const cobuns8_t     *thread_id;       Thread identifier
    const cobuns8_t     *appname;         Null-terminated application name
    const cobuns8_t     *cmdline;         Null-terminated process cmd line
    const cobuns8_t     *os_name;         Null-terminated operating system name
    const cobuns8_t     *mc_name;         Null-terminated machine name
    const cobuns8_t     *sys_name;        Null-terminated system name
    const cobuns8_t     *comp_name;       Null-terminated component name
    const cobuns8_t     *auditmgr_name;   Null-terminated auditmgr instance name
    const cobuns32_t    *event_len;       Audit data item lengths
    const cobuns32_t    *event_type;      Audit data item types
    const void          **event_data;     Audit data items
    void                *reserved2[7];    Reserved for future use
}AUDIT_EMITTER_EVENT;

Version types (version):

    #define AUDIT_EMITTER_VERSION	0

Control flags (flags):

    #define AUDIT_EMITTER_FLAGS_NONE         0x00000000
    #define AUDIT_EMITTER_FLAGS_ARRAY_DATA   0x00000002

Event categories (event_category):

    #define AUDIT_EVENT_CATEGORY_UNKNOWN             0
    #define AUDIT_EVENT_CATEGORY_AUDIT_FACILITY      1
    #define AUDIT_EVENT_CATEGORY_SYSTEM              2
    #define AUDIT_EVENT_CATEGORY_SEC_API_REQ_CHECK   3
    #define AUDIT_EVENT_CATEGORY_SEC_API_REQ_DEFINE  4
    #define AUDIT_EVENT_CATEGORY_SEC_API_REQ_OTHER   5
    #define AUDIT_EVENT_CATEGORY_SEC_API_RES_ALLOW   6
    #define AUDIT_EVENT_CATEGORY_SEC_API_RES_DENY    7
    #define AUDIT_EVENT_CATEGORY_SEC_API_RES_ERROR   8
    #define AUDIT_EVENT_CATEGORY_SEC_API_RES_SUCCESS 9

Audit data item types (event_type):

    #define AUDIT_EMITTER_TYPE_BINARY     0
    #define AUDIT_EMITTER_TYPE_TEXT       1
    #define AUDIT_EMITTER_TYPE_ADDRESS    2
    #define AUDIT_EMITTER_TYPE_COMP5      3
    #define AUDIT_EMITTER_TYPE_COMPX      4
    #define AUDIT_EMITTER_TYPE_UTF8       5
    #define AUDIT_EMITTER_TYPE_COMP5S     6
    #define AUDIT_EMITTER_TYPE_COMPXS     7
Parent topic: Structure and Typedefs


Structures and Typedefs - AUDIT_RECORD

typedef struct audit_record
{
    cobuns32_t         version;                 Version of structure format
    cobuns32_t         flags;                   Control flags
    cobuns32_t         process_id_len;          Process identifier length (4 or 8 bytes)
    cobuns32_t         thread_id_len;           Thread identifier length (4 or 8 bytes)

    union
    {
    cobuns32_t            process_id_32;           Process identifier (32-bit)
    cobuns64_t            process_id_64;           Process identifier (64-bit)
    }p;

    union
    {
    cobuns32_t            thread_id_32;            Thread identifier (32-bit)
    cobuns64_t            thread_id_64;            Thread identifier (64-bit)
    }t;

    cobuns32_t         event_id;                Audit event identifier
    cobuns32_t         event_category;          Audit event category
    cobuns32_t         data_count;              Number of audit data items
    cobuns32_t         appname_len;             Application name length
    cobuns32_t         cmdline_len;             Process command line length
    cobuns32_t         os_name_len;             Operating system name length
    cobuns32_t         mc_name_len;             Machine name length
    cobuns32_t         sys_name_len;            System name length
    cobuns32_t         comp_name_len;           Component name length

    cobuns32_t         time;                    Encoded time
    cobuns32_t         hour;                    Decoded hour
    cobuns32_t         minute;                  Decoded minute
    cobuns32_t         second;                  Decoded second
    cobuns32_t         millisecond;             Decoded millisecond
    cobuns32_t         date;                    Encoded date
    cobuns32_t         year;                    Decoded year
    cobuns32_t         month;                   Decoded month
    cobuns32_t         day;                     Decoded day
    cobuns32_t         reserved1[7];            Reserved for future use

    const cobuns8_t    *appname;                Null-terminated application name
    const cobuns8_t    *cmdline;                Null-terminated process command line
    const cobuns8_t    *os_name;                Operating system name
    const cobuns8_t    *mc_name;                Machine name
    const cobuns8_t    *sys_name;               Null-terminated system name
    const cobuns8_t    *comp_name;              Null-terminated component name
    cobuns32_t         *event_len;              Audit data item lengths
    cobuns32_t         *event_type;             Audit data item types
    void               *event_data;             Audit data items
    void               *reserved2[7];           Reserved for future use
}AUDIT_RECORD;

Version types (version):

    #define AUDIT_RECORD_VERSION	0

Event categories (event_category):

    #define AUDIT_EVENT_CATEGORY_UNKNOWN             0
    #define AUDIT_EVENT_CATEGORY_AUDIT_FACILITY      1
    #define AUDIT_EVENT_CATEGORY_SYSTEM              2
    #define AUDIT_EVENT_CATEGORY_SEC_API_REQ_CHECK   3
    #define AUDIT_EVENT_CATEGORY_SEC_API_REQ_DEFINE  4
    #define AUDIT_EVENT_CATEGORY_SEC_API_REQ_OTHER   5
    #define AUDIT_EVENT_CATEGORY_SEC_API_RES_ALLOW   6
    #define AUDIT_EVENT_CATEGORY_SEC_API_RES_DENY    7
    #define AUDIT_EVENT_CATEGORY_SEC_API_RES_ERROR   8
    #define AUDIT_EVENT_CATEGORY_SEC_API_RES_SUCCESS 9

Audit data item types (event_type):

    #define AUDIT_EVENT_TYPE_BINARY    0
    #define AUDIT_EVENT_TYPE_TEXT      1
    #define AUDIT_EVENT_TYPE_ADDRESS   2
    #define AUDIT_EVENT_TYPE_COMP5     3
    #define AUDIT_EVENT_TYPE_COMPX     4
    #define AUDIT_EVENT_TYPE_UTF8      5
    #define AUDIT_EVENT_TYPE_COMP5S    6
    #define AUDIT_EVENT_TYPE_COMPXS    7
Parent topic: Structure and Typedefs


Structures and Typedefs - EMITTER_NOTIF_PROP_CHANGE

typedef struct emitter_notif_prop_change
{
    cobuns32_t           version;  Version of structure format
    cobuns32_t           flags;    Control flags
    cobuns32_t           namelen;  Length of property name
    cobuns32_t           vallen;   Length of value
    cobuns32_t           valint;   Integer representation of value
    cobuns8_t            *name;    Property name
    cobuns8_t            *value;   Property value
}EMITTER_NOTIF_PROP_CHANGE;

Version types (version):

    #define EMITTER_PROP_CHANGE_VERSION	0

Control flags (flags):

    #define EMITTER_PROP_CHANGE_FLAGS_NONE         0x00000000
    #define EMITTER_PROP_CHANGE_FLAGS_VAL_INTEGER  0x00000001
Parent topic: Structure and Typedefs


Securing Communications

Note: Before you attempt to secure communications, it is important that you understand PKI and SSL concepts. The SSL and PKI Technology Primer contains information on these concepts.
  • Introduction to Securing Communications
  • Configuring Secure Communications for Client Applications
  • Setting Up Secure Communications
  • Troubleshooting a Secure Connection
  • Using the Demonstration Certificate Authority
  • Tutorial: Requesting and Issuing Server Certificates
  • Tutorial: Configuring SSL Security in the Server
  • Information on OpenSSL
  • SSL and PKI Technology Primer
    The topics in this section describe the basics of SSL and PKI technology, and how they work together to secure communications.
  • Secure Communications (SSL) Legal Information
Parent topic: Enterprise Server Security


Introduction to Securing Communications

You can enable secure communication between Micro Focus systems and clients who access those systems. This is done using Secure Sockets Layer (SSL) encryption. With secure communications, all communications between a client and a server are encrypted.

You typically use PKI certificates issued from a trusted Certifying Authority (CA) to secure your installation.

Web browser access is secured with the HTTPS web browser protocol. This mechanism secures web access, for example the Enterprise Server configuration user interface.

You can use the demonstration CA software to generate certificates and test your secure communications setup before using certificates issued by a trusted CA. The demonstration CA software is based on the OpenSSL software.

You can use these to familiarize yourself with the setup without the need to obtain cerrtificates from a trusted CA. The online help includes a tutorial that describes the process of using the DemoCA to secure your system.

Parent topic: Securing Communications


Configuring Secure Communications for Client Applications

A client application is an application that communicates with Enterprise Server Enterprise. You can require a certificate from any clients that communicate with your server. This sets up SSL links for peer-to-peer communication (as opposed to client/server communication).

In order to communicate securely, a client application needs access to the root certificates of any trusted CAs that the server uses. The trusted CAs are those who signed the certificates of the servers you are communicating with securely.

  • Securing Peer to Peer Communications
  • Installing a Client Certificate for Enterprise Server
  • Adding a CA Root Certificate to your Client Application
  • Installing a CA Root Certificate in a Client Browser
  • Installing server certificates for secure communication
Parent topic: Securing Communications


Securing Peer to Peer Communications

You can configure that any clients that communicate with your server must supply a certificate. This sets up SSL links for peer-to-peer communication (as opposed to client/server communication)

To request or require a certificate from clients who communicate with your server:

  1. Connect to ES Admin, for example by entering http://localhost:86 in your Web browser.
  2. Select the enterprise server you want, such as ESDEMO. Stop it if it is started, and then click Edit.
  3. Go to the Listeners page.
  4. Select the HTTPS listener you want (if you can't see the one you want, set the Process filter to All), and click Edit .
  5. Check Secure Sockets Layer.
  6. Click SSL Options and then:
    • Check the appropriate option to request or require client certificates.
    • Enter the CA root certificate of the CA who signed the client cerificate.

If the CA who signed the client's certificate is not trusted, communication is prevented. If you want to trust the signing CA, you can add it to your trusted CAs by updating the relevant certificates options in your browser.

Parent topic: Configuring Secure Communications for Client Applications


Installing a Client Certificate for Enterprise Server

On client systems such as COBOL Web Services clients, and clients that use client/server binding, ES/MSS Remote Job Entry, and COBOL XML I/O, you need to set client information in a file, as follows:

To set up client certificate, key file and pass phrase information in a file:

  1. On the Enterprise Server machine, create the file mf-client.dat in the base\bin directory if the file doesn't already exist.
  2. Add an [SSL] section to this file and set parameters for the root certificate, the client certificate, the client key file, and the client key file passphrase, as follows:
         [SSL]
    root=/path/to/root/cert.type
    certificate=/path/to/client/cert.type
    key=/path/to/client/keyfile.type
    passphrase=keyfile passphrase

    where:

    • root defaults to ssldir/private/CArootcert.pem, where ssldir is the directory where Security Pack is installed, and is by default Program Files\Micro Focus\DemoCA.. To find out the directory, look up the registry key HKLM\Software\Micro Focus\DemoCA\1.0\Setup\DemoCAFolder .
    • If certificate isn't specified, no client-side certificate is used
Note:
  • If you use a client certificate, the pass phrase for the key file appears in plain text in the mf-client.dat file. For security purposes, you should make this file readable only by the user or users who run applications that use this certificate.
  • Instead of mf-client.dat, you can create a file of any name or location, but you must identify it using the MFC_CONFIG environment variable.
Parent topic: Configuring Secure Communications for Client Applications


Adding a CA Root Certificate to your Client Application

If you have written a client application that communicates with server applications such as Server Enterprise Edition, the client application needs access to the root certificates of any trusted CAs. The trusted CAs are those who signed the certificates of the servers you are communicating with securely.

This pack includes a collection of well-known CA root certificates plus the self-signed certificate of the demonstration CA. These root certificates are contained in a single file called CARootCerts.pem in the DemoCA directory. This file is not protected by a pass phrase, so you can modify it. You need to add other CA root certificates to the CA root certificate file, if your client application communicates with servers whose certificates are signed by CAs whose certificates are not already in the file.

To add a CA root certificate to the root certificate file:

  1. Convert the new certificate to the same format as the certificates in the file, which in this case is PEM format with DER content encoding. Use openssl to do this. For example, to convert a PKCS7 format file, such as IECert.p7b, to PEM format:
    openssl pkcs7 -inform DER -in IECert.p7b -text -print_certs -out out IECert.pem
  2. Append the new certificates to the existing file CARootCerts.pem. For example:
    copy CARootCerts.pem+ IECert.pem NewCARootCerts.pem
Note: The CARootCerts.pem file is subject to being updated when a new version of the Micro Focus Security Pack is installed. If you add certificates to this file, you will need to repeat those additions when you update the Micro Focus Security Pack.
Parent topic: Configuring Secure Communications for Client Applications


Installing a CA Root Certificate in a Client Browser

The root certificates of well-known trusted CAs are often installed with the client browser, so you might not need to install any. However, the security policy in your organization might restrict your access to the Web and might have removed the trusted CA root certificates. In this case you will need to install root certificates for the CAs that signed the server certificates of the servers you need to communicate with securely.

Note that the root certificate for the demonstration CA is not pre-installed, and so you need to install this certificate to enable you to use the demonstration CA.

CA root certificates can be specified as any of the following:

  • A single file containing a single certificate.
  • A single file containing multiple certificates. This file defines your trusted CAs (plus their chains if appropriate)
  • A directory containing PEM files that each contain a single certificate. These files are named with the hash value of the certificate content, using the hash.0 format. For example, you can display this hash value, using the command:
    openssl X509 -hash -in CARootcert.pem

    This produces the following output:

    1a584193
----BEGIN CERTIFICATE
....

    Where:

    • The number that is displayed before the certificate is the hash value of the certificate
    • The filename of the certificate would be 1a584193.0

To install a CA root certificate:

  1. In your browser, go to the options where you manage certificates. For example:
    • In Internet Explorer, click Tools > Internet Options > Content > Certificates. Go to the Trusted Root Certification Authorities tab.
    • In Mozilla Firefox, click Tools > Options > Advanced. Scroll down, click Manage Certificates and then click Authorities.
  2. Click Import and select the CA's root certificate.

    For the demonstration, select the self-signed certificate CARootCert.cer, which is in the private folder of your DemoCA directory.

    Internet Explorer requires X509 certificates, in DER format, so only those are listed in the File Open field, and not the PEM format files. Mozilla Firefox can handle several types, so several are listed and you can install the PEM-format certificate.

  3. In Internet Explorer, use the Browse button to enter Trusted Root Certification Authorities in the Certificate Store field.

    In Mozilla Firefox, check Trust this CA to identify Web sites.

  4. Look down the list under Trusted Root Certification Authorities (for Internet Explorer) and Authorities (for Firefox). You'll see your Demo CA is now listed; look for its Common Name. If when you installed Micro Focus Security Pack you chose to use your computer DNS name as the DemoCA's Common Name, it will probably look an odd-one-out, because real CAs tend to give themselves user-friendly Common Names.
Parent topic: Configuring Secure Communications for Client Applications


Installing server certificates for secure communication

In the role of administrator of Server Enterprise Edition, you need to install the SSL server certificate so that remote client software and Web users can request it. Installing a certificate entails storing the certificate and key file in a folder accessible to the server software.

To install a server ceritficate:

  1. Connect to ES Admin, for example by entering http://localhost:86 in your Web browser.
  2. Select the enterprise server you want, such as ESDEMO. Stop it if it is started, and then click Edit.
  3. Go to the Listeners page.
  4. Select the HTTPS listener you want (if you can't see the one you want, set the Process filter to All), and click Edit .
  5. If Secure Sockets Layer is not checked, check it and configure this listener as a secure listener.
  6. Enter the filenames of your server certificate and private key in the Certificate and Keyfile fields. If these are not in the default directories, you also need to supply the paths to these files. For example:
    • ssldir/certs/srvcert.pem
    • ssldir/keys/srvkey.pem

    Where ssldir is the directory where Security Pack is installed, and is by default Program Files\Micro Focus\DemoCA. To find out the directory, look up the registry key HKLM\Software\Micro Focus\DemoCA\1.0\Setup\DemoCAFolder.

  7. Click OK.
Parent topic: Configuring Secure Communications for Client Applications


Setting Up Secure Communications

To set up secure communications, you need the following:

  • For machine on which the server operates, a certificate and a private key file for the server.

    Typically these are issued by a trusted Certifying Authority (CA). To set up secure communications, you need to know the path location where these files are stored.

  • The pass phrase for the server certificate and keyfile.
  • For machines that access the listener, the CA's root certificate.

    Root certificates for many trusted authorities are installed by default with many web browsers.

The process you use to set up secure communications for an Enterprise Server instance is outlined below:

  1. Install the certificate and a private key file on the machine running Enterprise Server, and note the path.
  2. For the Enterprise Server instance to configure, create a secure listener and configure it to use the key file that you installed.
  3. Start the server and the listener, and configure the private key file's pass phrases.

    You can set the certificate and keyfile pass phrases either in a configuration file, or you can enter them manually whenever you start the server.

  4. On machines that use the listener, if required, configure the CA root certificate.

Steps 2, 3, and 4 are described in detail in this help.

  • To enable secure communications with SSL
  • To configure an HTTPS listener
  • To Create a Secure Listener
  • To Start a Secure Listener and Set the Pass Phrase
  • To Configure the Pass Phrase in a File
Parent topic: Securing Communications


To enable secure communications with SSL

  1. Make sure the enterprise server you're going to use, for example ESDEMO, is stopped.
  2. Create and configure an HTTPS listener.
  3. If you want to keep your pass phrases in a file, add them to the file.
  4. Return to the Home page of ES Admin and start ESDEMO.
  5. Check that all the listeners have started, by looking on the Listeners page. If you entered the pass phrases using a file, you should find that the HTTPS listener has started like all the other listeners. If you didn't, then the status of the HTTPS listener is Start pending.
  6. If you didn't set the pass phrase using a file, set it now:
  7. Optionally, enable additional logging of listener startup for debugging purposes.
Parent topic: Setting Up Secure Communications


To configure an HTTPS listener

As a Web site owner or administrator of Server Enterprise Edition, to ensure secure communcation using SSL, you create and configure an HTTPS listener, as follows:

  1. Connect to ES Admin, for example by entering http://localhost:86 in your Web browser. Make sure the enterprise server you're going to use, for example ESDEMO, is stopped.
  2. Go to the Listeners page and find your HTTPS listener. The status column should indicate "Start pending" and the Status Log column shouold show "Waiting for keyfile passphrase".
  3. Go to the listeners page, (click Edit > Listeners). Make sure the Process filter is set to All so you can see all the listeners.
  4. Click Add.
  5. Enter a name for the listerner.
  6. Change the Endpoint Address to *.443, which is the default for HTTPS.
  7. Check Secure Sockets Layer.
  8. Enter the filenames of your server certificate and private key in the Certificate and Keyfile fields. If these are not in the default directories, you also need to supply the paths to these files. For example:
    • ssldir\certs\srvcert.pem
    • ssldir\keys\srvkey.pem

    Where ssldir is the directory where Security Pack is installed, and is by default Program Files\Micro Focus\DemoCA . To find out the directory, look up the registry key HKLM\Software\Micro Focus\DemoCA\1.0\Setup\DemoCAFolder.

  9. Specify that this will be an "HTTP echo" listener, which provides a simple response to HTTP requests. To do this, select Custom under Supported Conversation Type and enter http-echo in the field alongside.
  10. Click Add. On the listeners page, the new listener now has a padlock symbol to show that it uses SSL.
Parent topic: Setting Up Secure Communications


To Create a Secure Listener

For an Enterprise Server instance, you can create a secure listener, to encrypt the communications that the listener handles.

  1. On the Enterprise Server Administration screen, edit the server to which you want to add the secure listener.
  2. Select the Listeners tab, and next to the listener you want to secure, click Edit.
  3. In the Endpoint Options area, select the Secure Sockets Layer checkbox.

    The Certificate and the Keyfile fields become active.

  4. Enter the path locations of the certficate and the private key file.
  5. Click OK to save your configurations.
Parent topic: Setting Up Secure Communications


To Start a Secure Listener and Set the Pass Phrase

You use this task for Enterprise Server instances with secure listeners where you want to set the pass phrases each time you start the server.
  1. On the Enterprise Server Administration screen, click the Start button for the server that you want to start, and on the confirmation screen, click OK to continue.
  2. When the server starts, click the server's Details button.
  3. On the server's Details screen, select the Listeners tab.
  4. In the listener list, locate your secure listener, and in the Status column, click Authorize.

    The Communications Process screen is displayed.

  5. Enter the Certificate Passprhase and the Keyfile Passphrase and click Set Passphrases The passphrases are set and the listener starts and becomes available for use.
Note: If the listener fails to start, it can be useful to look in the CS console. To access the CS console, on the server's Details page, select: Server > Diagnostics > CS Console
Parent topic: Setting Up Secure Communications


To Configure the Pass Phrase in a File

You can configure the pass phrases that a listener requires in the mf-server.dat file. When you start the listener, it retrieves the passphrases from file, and you do not need to configure them manually.

The mf-server.dat file is in the base\bin directory. For example, for a default Studio Enterprise Edition release 6.0 installation, the mf-server.dat file is installed in the following directory:

C:\Program Files\Micro Focus\Studio Enterprise Edition 6.0\Base\Bin

  1. Open the mf-server.dat file in a text editor.
  2. In the file, add the following lines:
    [HTTPS Echo/SSL/passphrases]
certificate=<certificate passphrase>
keyfile=<keyfile passphrase>
    where:
    • <certificate passphrase> is the certificate's passphrase.
    • <keyfile passphrase> is the keyfile's passphrase.
  3. Save the file and start the listener. The listener retrieves the passphrases from the file and starts.
Note:

The pass phrases appear in plain text in the mf-server.dat file. For security purposes, you should make this file readable only by the user account (or accounts) under which the enterprise server is started. That would normally be the account under which Micro Focus Directory Server (MFDS) runs (typically LOCAL_SYSTEM) and the accounts of any users who run casstart from the command line.

Parent topic: Setting Up Secure Communications


Troubleshooting a Secure Connection

If a secure listener fails to start, there are some options you can use to locate the cause.

  • Accessing the Communications Server Console
  • To Enable Logging for Listener Startup
  • Locating Certificate Problems
Parent topic: Securing Communications


Accessing the Communications Server Console

To determine the cause of a secure listnener failure, it can be useful to look in the Communications Server (CS) console and review the messages that the listener generated. To access the CS console:

  1. On the Entereprise Server Administration Home page, click Edit at the left of the server you want to check.
  2. Click the Diagnostics tab, then click the CS Console tab.
  3. To view the entire log since the server was started, click Show Entire Log. The log opens in a text editor window.
Parent topic: Troubleshooting a Secure Connection


To Enable Logging for Listener Startup

To help locate the causes of listener problems, you can enable additional logging of the listener startup process.

  1. On the Entereprise Server Administration Home page, click Edit at the left of the server you want to configure
  2. Go to the Listeners page.
  3. At the top of the list of listeners, click the Communications Process Edit button (not Edit for any of the inidividual listeners).
  4. Add the following to the Configuration Information area:
    [listeners]
logging=3
  5. Click OK.

LIstener startup information is now logged, and is available in the log files.

Parent topic: Troubleshooting a Secure Connection


Locating Certificate Problems

If your application refuses to trust a certificate from a specific location, it might be because the one of the signers in the chain of CAs, or even the originating CA root, is not trusted. To locate the problem, you need to get the server's certificate chain, from its own identity certificate right through to the originating CA root in the server's chain of trust.

To get the chain of certificates for a specific server, you use the s_client function of OpenSSL. This function implements a generic SSL/TLS client that can establish a transparent connection to a remote server speaking SSL/TLS. It's intended for testing purposes only and provides only rudimentary interface functionality but internally uses mostly all functionality of the OpenSSL ssl library.

You connect to a SSL service on the server, as follows:

openssl s_client -showcerts -connect <myserver>:<ssl_port>

This returns all the certificates in the chain, starting with the server certificate and ending with the root CA certificate. They are all in PEM format. This command opens a session with the server. After responding to your request for the certificates, the session sits waiting for you to send further requests. You can send Ctrl+Z to exit the session or wait for the server to time out the comnection.

For example:

openssl s_client -showcerts -connect ibank.barclays.co.uk:443

The above command returns:

Loading 'screen' into random state - done
CONNECTED(00000790)
depth=2 /C=US
        /O=VeriSign, Inc.
        /OU=Class 3 Public Primary Certification Authority

verify error:num=19:self signed certificate in certificate chain
verify return:0

Error 19 status is expected, because the CA root certificate in all certificate chains is self-signed. See Error 19 Details later for more details.

---
Certificate chain
 0 s:/C=GB/ST=Cheshire/L=Knutsford/O=Barclays Bank PLC
     /OU=Enable
     /OU=Terms of use at www.verisign.co.uk/rpa (c) 03
     /OU=Authenticated by VeriSign
     /OU=Member, VeriSign Trust Network
     /CN=ibank.barclays.co.uk
   i:/O=VeriSign Trust Network
     /OU=VeriSign, Inc.
     /OU=VeriSign International Server CA - Class 3
     /OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
-----BEGIN CERTIFICATE-----
MIIE3TCCBEagAwIBAgIQXM1dOQs/cV03UDAru58mEjANBgkqhkiG9w0BAQQFADCB
ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy
ONfYgdrkI7Bwhc58KJR4zqwppdl0QgsspXgmz7gJFgsgfZdptm/QvXfs+N4mxDm8
b0I6p9RtmLq82Iji4q1wUWssjHm5PlZRoQ8YaYJkaUN2rLsRT1SyQxygRo9xu81d
0Q==
-----END CERTIFICATE-----

This marks the end of certificate “0”, which identifies the server system. The next section labeled "s:" refers to the certificate owner ("subject") and the following section "i:" refers to the issuer.

 1 s:/O=VeriSign Trust Network
     /OU=VeriSign, Inc.
     /OU=VeriSign International Server CA - Class 3
     /OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
   i:/C=US
     /O=VeriSign, Inc.
     /OU=Class 3 Public Primary Certification Authority
-----BEGIN CERTIFICATE-----
MIIDgzCCAuygAwIBAgIQJUuKhThCzONY+MXdriJupDANBgkqhkiG9w0BAQUFADBf
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT
1RPuKSvD5HKNRO3RrCAJLeH24RkFOLA9D59/+J4C3IYChmFOJl9en5IeDCSk9dBw
E88mw0M9SR2egi5SX7w+xmYpAY5Okiy8RnUDgqxz6dl+C2fvVFIa
-----END CERTIFICATE-----

We have reached the end of certificate “1” which identifies the signer of the server system’s certificate. Looking at the “s” section we can see that there is less detail in this certificate than in certificate “0”, but still enough to give a legal identity to the signer. This is important to understand. When creating certificate to use in real world situations, the creator must provide enough information within the certificate content to legally identify the item or entity being represented by the certificate.

 2 s:/C=US
     /O=VeriSign, Inc.
     /OU=Class 3 Public Primary Certification Authority
   i:/C=US
     /O=VeriSign, Inc.
     /OU=Class 3 Public Primary Certification Authority
-----BEGIN CERTIFICATE-----
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzlbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
-----END CERTIFICATE-----
---
Server certificate
subject=/C=GB/ST=Cheshire/L=Knutsford/O=Barclays Bank PLC
        /OU=Enable
        /OU=Terms of use at www.verisign.co.uk/rpa (c) 03
        /OU=Authenticated by VeriSign/OU=Member, VeriSign Trust Network
        /CN=ibank.barclays.co.uk
issuer=/O=VeriSign Trust Network
       /OU=VeriSign, Inc.
       /OU=VeriSign International Server CA - Class 3
       /OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
---
No client certificate CA names sent
---
SSL handshake has read 2894 bytes and written 352 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 1024 bit
SSL-Session:
    Protocol  : SSLv3
    Cipher    : RC4-MD5
    Session-ID: 56931DEEE4EDB5808FAC374D3AD7EC1C90A4FB4E2FF6DA16749203A87C7FA169

    Session-ID-ctx:
    Master-Key: C28325A6C17BFC2A8817F9B6B302C8EAE53B2BC25AB63A3DEA461EA495B20C78
B4AAF17DEED14661D8A05382115DCA7B
    Key-Arg   : None
    Start Time: 1112711406
    Timeout   : 300 (sec)
    Verify return code: 19 (self signed certificate in certificate chain)
---
closed

You can close the session using Ctrl+Z and then Enter, to which the server should respond:

DONE

Error 19 Details

In the above example, you can see that the ultimate CA root certificate is self-signed. The ultimate CA root certificate in all certificate chains is self-signed.

The error 19 occurs because the s_client function doesn't check the default OpenSSL CA certificate store against the CA root certificates being passed in the replies by the server. So, even if this certificate is already present in the CARootCerts file, and this file is correctly configured in the openssl.cnf file, this function will still fail to trust the self-signed certificate.

You can avoid this error by setting up a collection of trusted CA root certificates to be used in this s_client function call. This makes the s_client function check the default OpenSSL CA certificate store against the CA root certificates being passed in the replies by the server.

To avoid generating the error 19 from s_client, the caller must pass one of the following arguments:

  • -CApath <ssl-base-dir>certs/ to use a directory of CA root certificates
  • -CApath <ssl-base-dir>file to use a single file certificate collection of your choice which would contain all the trusted certificates for the PKI within which your installation is operating
Parent topic: Troubleshooting a Secure Connection


Using the Demonstration Certificate Authority

This section describes the demonstration Certificate Authority (CA), delivered as part of Micro Focus Security Pack. You can use the demonstration Certificate Authority to create your own certificates and configure secure communications.

You can use the demonstration CA software to generate certificates and test your secure communications setup before using certificates issued by a trusted CA. The demonstration CA software is based on the OpenSSL software.

You can use these to familiarize yourself with the setup without the need to obtain cerrtificates from a trusted CA. The online help includes a tutorial that describes the process of using the DemoCA to secure your system.

  • Overview of SSL Security and Micro Focus Demo CA
  • Installing Micro Focus Demo CA
  • Introduction
  • Contents of the Demonstration CA
  • Your CA Certificate, Key and Password
  • Your Distinguished Name and Policy
  • Is the Demonstration CA a Real CA?
Parent topic: Securing Communications


Overview of SSL Security and Micro Focus Demo CA

Micro Focus Demo CA enables you to configure secure communication for an Enterprise Server listener.

Encryption uses Secure Sockets Layer (SSL) and is fully interoperable with standard (non-Micro Focus) SSL clients and servers. Micro Focus Demo CA also provides support for integration with Public Key Infrastructures (PKIs) and PKI functions, such as processing certificates.

Micro Focus Demo CA includes the utility openssl.exe. You can use the demonstration CA to generate and process certificates and keys during training, development and testing.

OpenSSL is an organization that has developed a toolkit for implementing SSL. A subset of this toolkit is provided with this pack, as a command-line utility called openssl.exe. It provides functions you need for using SSL and PKIs - notably, functions for creating and checking certificates. For details on the OpenSSL organization, see their Web site www.openssl.org.

The SSL support in the Micro Focus Demo CA is based on the OpenSSL source distribution, and provides a subset of the features in full OpenSSL source. Therefore, documentation on the Web regarding OpenSSL applies to the SSL support provided by this pack, although some features might not be relevant. The SSL documentation on the Web can be a useful guide.

Parent topic: Using the Demonstration Certificate Authority
Related information
Installing Micro Focus Demo CA
Introduction
Contents of the Demonstration CA
Your CA Certificate, Key and Password
Your Distinguished Name and Policy
Is the Demonstration CA a Real CA?


Installing Micro Focus Demo CA

By default, the Micro Focus Demo CA installation file is installed in the base\bin directory. For example, for a default Studio Enterprise Edition, the Demo CA is installed in the following location:

  • C:\Program Files\Micro Focus\Studio Enterprise Edition 6.0\Base\Bin\DemoCA_Setup.exe

To install Micro Focus Demo CA:

  1. Make sure that Net Express or Server Enterprise Edition is installed on the installation machine.
  2. Run the installable file DemoCA_Setup.exe.

    To view the readme file, click Read me on the installation screen that appears. Follow the on-screen instructions to install the program.

Parent topic: Using the Demonstration Certificate Authority
Related information
Overview of SSL Security and Micro Focus Demo CA
Introduction
Contents of the Demonstration CA
Your CA Certificate, Key and Password
Your Distinguished Name and Policy
Is the Demonstration CA a Real CA?


Introduction

The demonstration CA is software that enables you to operate as a CA. Basically a CA needs to create certificates, and it needs a place to store certificates and its own certificate (self-signed in the case of a root CA). We assume that for training and testing you will be acting as both a CA and a server, so you need certificates and keys for both.

The demonstration CA comprises a directory structure and the files needed for the demonstration. The demonstration CA is set up with the following:

  • A public/private key pair.
  • A certificate containing your Distinguished Name, your public key and signed with your private key. The Distinguished Name comprises the details you gave during installation, such as your computer name (known as Common Name in PKI terminology), address, and so on.
  • A pass phrase, which you use to access the private key. This pass phrase is srvrootpwd, which you can change later. OpenSSL uses pass phrases, which can include spaces, whereas passwords cannot.
  • A configuration file openssl.cnf, which contains the SSL defaults and other information.

You use the demonstration CA to create certificates. These certificates are not recognized outside your organization. For production use you should obtain certificates from a well-known CA. The Demo CA is suitable for training and testing.

Note:

If you consider using the demonstration for anything other than training or testing, it is essential that you read the warnings in the section Is the Demonstration CA a Real CA?.

Parent topic: Using the Demonstration Certificate Authority
Related information
Overview of SSL Security and Micro Focus Demo CA
Installing Micro Focus Demo CA
Contents of the Demonstration CA
Your CA Certificate, Key and Password
Your Distinguished Name and Policy
Is the Demonstration CA a Real CA?


Contents of the Demonstration CA

The Demo CA installation creates the following directories and contents:

Name | Description
certs | You use this directory to store copies of all certificates and key files that you as a CA issue
crl | When you revoke a certificate, it is added to file crl.pem in here
newcerts | Holds the database of certificates you have issued. When you create a certificate, it is created in here with a numeric name, for example 01.pem.
private | Contains your self-signed CA root certificate in several formats and your private key

The following files are installed in the DemoCA directory:

Name | Description
create_srv_req.cmd | Script that creates a request for a server certificate
create_cli.cmd | Script that creates a client certificate
index.txt | Index to the certificates stored in newcerts
install_demoCA.cmd | Script that creates a CA that can be used to sign and verify certificates. This is for demonstration and development purposes only and should not be used in production.
sign_srv.cmd | Script that processes a server certificate request and signs the certificate
openssl.exe | OpenSSL command-line utility
openssl.cnf | Configuration file that specifies directories and defaults for SSL support
.rand | Random number used in generating keys. This number is generated anew each time you create a key.
serial | Number to be allocated to the next certificate you issue.
srv.pem | Certificate request (together with the private key in the one file) from which the server certificate was created
srvcert.pem | Your server certificate
srvkey.pem | Your server's private key
Parent topic: Using the Demonstration Certificate Authority
Related information
Overview of SSL Security and Micro Focus Demo CA
Installing Micro Focus Demo CA
Introduction
Your CA Certificate, Key and Password
Your Distinguished Name and Policy
Is the Demonstration CA a Real CA?


Your CA Certificate, Key and Password

The private subdirectory contains the root CA certificate and matching private key.

The certificate is provided in several formats, because different entities that you communicate with, such as different browsers, may require different formats. The .pem files contain a format called PEM. This is a way of modifying a binary string so that the bit pattern in each byte coincides with an ASCII character, so that the string is printable and displayable as text. The .cer file contains a format called DER, which is not plain text.

The files provided in the private subdirectory are:

  • CAkey.pem - the CA's private key file. You can open this file in a text editor and see that the key is just one long number. In PEM format, it is preceded and followed by headers - these identify it as an RSA private key. It has been encrypted, by combining it with the pass phrase mentioned above. It appears as a string of characters.
  • CARootcert.pem - the CA's certificate in PEM format, the default for OpenSSL. In a text editor, the PEM-format certificate looks similar in layout to the key, but in fact a certificate has a complex structure. You can open the certificate file using the x509 command of the openssl utility. For example from the private subdirectory, enter:
    ..\openssl x509 -in carootcert.pem -text

    This shows the certificate first in human-readable form, and then in machine-readable form between the BEGIN CERTIFICATE and END CERTIFICATE lines. It shows that the public key was generated using the RSA algorithm and is 1024 bits long. The signature was created using the MD5 hashing algorithm and the RSA encryption algorithm. Notice that the Issuer and Subject are the same, because this is a self-signed certificate, as you would expect of a root CA's certificate.

  • CARootfile.cer - The CA's certificate in another format, P7B format, the default for Internet Explorer, which might be required because different browsers require different formats. You can view the certificate using the x509 command and the -inform parameter to specify that this certificate is in DER format. For example from the private subdirectory, enter:
    ..\openssl x509 -in carootfile.cer -text -inform DER

    Compare the x509 displays of the PEM and DER versions of this certificate, and notice that their contents are identical. However, you cannot display the DER one with a text editor.

The CAKey.pem and srvkey.pem files are installed with the same password "srvrootpwd". See Is the Demonstration CA a Real CA? for recommendations.

You should regard the contents of this private folder as sacrosanct. These are the public/private key pair that you must have in order to operate your CA. Do not alter or lose anything in here. Note that anyone who gets hold of your private key can masquerade as you. In production, you would take precautions such as making these files read-only, and keeping secure backups.

Parent topic: Using the Demonstration Certificate Authority
Related information
Overview of SSL Security and Micro Focus Demo CA
Installing Micro Focus Demo CA
Introduction
Contents of the Demonstration CA
Your Distinguished Name and Policy
Is the Demonstration CA a Real CA?


Your Distinguished Name and Policy

When you installed the Micro Focus Security Pack, you provided details of your site, such as Common Name, locality, and so on. All these details together are known as your Distinguished Name, and are intended to identify your site uniquely in the world. These details were put into your certificates.

Especially important is the Common Name. If this is not exactly the same as the fully qualified domain name of the machine running your SSL software, people you communicate with will get warnings that your certificate may not be valid. This field defaults to the name as known to your operating system, so you will probably not need to change it. You can however use wildcards in the Common Name, so you can use the same certificate for several machines. You will need to do this if, for example, you are running a Web site with a cluster of Web servers.

The elements of the Distinguished Name - Common Name, Locality, and so on - are standard, but it's up to you as the CA to have a policy on which of them you require. You can define the policy and specify the required elements, using the policy directive of the openssl ca function. You can specify several default groups of content within openssl.cnf and refer to each group by its name as a policy. See OpenSSL Configuration File.

Parent topic: Using the Demonstration Certificate Authority
Related information
Overview of SSL Security and Micro Focus Demo CA
Installing Micro Focus Demo CA
Introduction
Contents of the Demonstration CA
Your CA Certificate, Key and Password
Is the Demonstration CA a Real CA?


Is the Demonstration CA a Real CA?

CAUTION:

We strongly recommend that you do not use the demonstration CA to set up a commercial CA or other generally available CA service.

If you intend to set up a PKI within your organization, the demonstration CA is suitable software to use to run your real-life CAs. However, Micro Focus does not provide support for this use. As with any production software system, you must take great care to back up vital information and keep it secure.

The demonstration CA is suitable for creating certificate signing requests to be sent to a commercial or official CA.

Note:

The demonstration CA is installed with the same password "srvrootpwd" for the CA root private key CAkey.pem and the server private key Srvkey.pem files. We recommend that to ensure any form of real security you regenerate the demonstration CA content and recreate a server certificate.

Parent topic: Using the Demonstration Certificate Authority
Related information
Overview of SSL Security and Micro Focus Demo CA
Installing Micro Focus Demo CA
Introduction
Contents of the Demonstration CA
Your CA Certificate, Key and Password
Your Distinguished Name and Policy


Tutorial: Requesting and Issuing Server Certificates

This tutorial shows how to request and issue server certificates, using the scripts supplied with the demonstration CA.

  • Introduction
  • Requesting a Server Certificate
  • Issuing a Server Certificate
Parent topic: Securing Communications


Introduction

In this tutorial, you first request a server certificate from the CA. Then you take the role of the CA and issue the requested certificate. To do this, you use the following scripts:

  • create_srv_req.cmd creates a request for a server certificate, using the OpenSSL command openssl req. It creates a public/private key pair for your server, putting the public key in a certificate request, which you subsequently send to the CA.
  • sign_srv.cmd, which processes a server certificate request created with the above script, and signs it using the openssl ca command. It creates a signed certificate, which containing the public key from the certificate request.

These scripts are supplied with Micro Focus Demo CA and are by default in Program Files\Micro Focus\DemoCA. To find out the directory, look up the registry key HKLM\Software\Micro Focus\DemoCA\1.0\Setup\DemoCAFolder.

Parent topic: Tutorial: Requesting and Issuing Server Certificates
Related information
Requesting a Server Certificate
Issuing a Server Certificate


Requesting a Server Certificate

In this section, you ask the CA for a server certificate. As the server owner you create for yourself a private key and a public key, the latter in a certificate request (usually called a Certificate Signing Request, CSR) to send to the CA.

With a commercial CA, you would typically contact them first, learn about what types of certificates they supply, and find out their prices, terms and conditions.

  1. Run the batch utility create_srv_req.cmd, in the DemoCA installation directory.

    The batch file creates a public/private key pair for your server, and creates a certificate request with the public key, to send to the CA.

    The private key is generated first and is stored in srvkey.pem.

  2. At the prompt, enter a pass phrase. Use a pass phrase that is easy for you to remember and yet hard for others to guess, for exampleopen sesame. You must supply this pass phrase to access your server's private key. You are prompted to confirm the pass phrase.
  3. The utility prompts you for the following details. These default to the values that you entered when you installed Micro Focus Demo CA:
    • Country Name
    • State or Province
    • Locality
    • Organization Name
    • Organizational Unit
    • Common Name

    For example, you can enter something like:

    Country Name: US
State or Province Name: California
Locality: Palo Alto
Organization Name: Bloggs Widgets Inc
Organizational Unit Name: Marketing
Common Name: [Press Enter to accept
the server name value configured on installation.]
Email Address: bloggs@widgets.com

    The details you enter are included in your server certificate to identify you.

  4. At the Enter an additional challenge password prompt, press Enter to ignore it. You can specify a pass phrase to protect your public certificate, but since it is a public certificate, it is seldom appropriate to protect it in this way.
  5. At the Unstructured Name prompt, press Enter to ignore.
  6. When the batch file finishes, confirm that the following were created in the installation directory:
    • Your server's private key in srvkey.pem. You can view this in a text editor.
    • Your public key in a certificate request file called srvcertreq.csr. The CSR file is formatted according to the PKCS #10 standard, and is informally known as a PKCS #10 file, P10 file, or CSR file. You can view this using the req as follows:
      openssl req -in srvcertreq.csr -text
  7. In a real case you would now send srvcertreq.csr to the CA.
Parent topic: Tutorial: Requesting and Issuing Server Certificates
Related information
Introduction
Issuing a Server Certificate


Issuing a Server Certificate

In this section, you issue the server certificate.

  1. Run the batch file sign_srv.cmd, which is in the DemoCA installation directory. When the batch file asks if you ready, press any key.

    The batch file calls the ca command of the openssl utility to create a signed certificate, srvcert.pem, containing the public key from the certificate request.

  2. When you are prompted for the passphrase, enter the CA passphrase srvrootpwd. This confirms your right to access the CA private key file cakey.pem, and then displays the certificate request (from the CSR file srvcertreq.csr).
  3. When asked whether to sign the certificate, reply y twice.

    The certificate is then created and signed with your private key from cakey.pem. It is in PEM format. It is saved in srvcert.pem, with a copy in newcerts\01.pem. If this tutorial has been run before, and 01.pem already exists, the copy will be called 02.pem and so on.

  4. As before, view the certificate using the openssl x509 command:
    openssl x509 -in 01.pem -text

    Notice that the Issuer is shown as the Distinguished Name of your Demo CA, while the Subject - the entity to whom the certificate has been issued - is the Distinguished Name of your server.

  5. Copy 01.pem from the newcerts directory to the certs, which is your Demo CA's database of certificates it has issued.
  6. In a real case the CA would now send srvcert.pem to the server owner to install it in their SSL software so that Web users can download it.
Parent topic: Tutorial: Requesting and Issuing Server Certificates
Related information
Introduction
Requesting a Server Certificate


Tutorial: Configuring SSL Security in the Server

This tutorial shows how to configure SSL security in Server Enterprise Edition.

  • Introduction
  • Creating a Secure HTTPS Listener
  • Installing the Server Certificate
  • Setting a Pass Phrase
  • Interpreting a Security Alert
  • Importing the CA's Root Certificate
  • Verifying the Certificate
  • Tidying Up
Parent topic: Securing Communications


Introduction

In this tutorial:

  • As the server administrator, you configure SSL security for Enterprise Server.

    You create an HTTPS listener and you install the server certificate and private key file that you created in the previous tutorial.

  • As an Enterprise Server user, you connect to the server from a Web browser. You install the CA's root certificate in order to access Enterprise Server.

    Typically, you rarely need to install CA root certificates. These are already configured for most trusted Certifying Authorities.

In this tutorial, you configure the ESDEMO server to use secure communications. ESDEMO is created by the Enterprise Server installation. Within an enterprise server, you can create listeners for different kinds of communication.

One of ESDEMO's default listeners is HTTP Echo. This listener provices a simple test of Web communication. When a Web browser connects to HTTP Echo, the listener responds by sending a simple Web page with some identifying details.

Parent topic: Tutorial: Configuring SSL Security in the Server
Related information
Creating a Secure HTTPS Listener
Installing the Server Certificate
Setting a Pass Phrase
Interpreting a Security Alert
Importing the CA's Root Certificate
Verifying the Certificate
Tidying Up


Creating a Secure HTTPS Listener

This section describes the process that the server owner uses to configure an enterprise server to use SSL. In this tutorial, you create an HTTPS version of the HTTP Echo listener.

  1. Start Enterprise Server Administration, access the Home screen and make sure the ESDEMO enterprise server is stopped.
  2. For ESDEMO, click Edit > Listeners to access the Listeners page. Make sure the Process filter is set to All so you can see all the listeners.
  3. Click Add to create a listener for HTTPS.
  4. In the Name field, enter HTTPS Echo as the name.
  5. Change the Endpoint Address to *.9443.

    Although you can use port 443, it might already be in use. For example, IIS listens by default on port 443. If you want to use port 443, you can check whether it is in use, by running the following command:

    netstat -an | findstr 443
  6. Specify that this will be an "HTTP echo" listener, which provides a simple response to HTTP requests. To do this, select Custom under Supported Conversation Type and enter http-echo in the field alongside.
  7. In the Description field, type:
    Simple secure HTTP test
  8. Click Add.

On the Listeners page, the new entry for HTTP Echo appears.

Parent topic: Tutorial: Configuring SSL Security in the Server
Related information
Introduction
Installing the Server Certificate
Setting a Pass Phrase
Interpreting a Security Alert
Importing the CA's Root Certificate
Verifying the Certificate
Tidying Up


Installing the Server Certificate

In this section, as server administrator, you install the server certificate on the server so that remote Web users can to request it. To install a certificate, you store the certificate and the key file in a folder accessible to your server software.

  1. Edit the new HTTPS Echo listener. To do this, select the new listener on the Listeners page and click Edit.
  2. Check Secure Sockets Layer.
  3. Enter the full path and filenames of your server certificate and private key in the Certificate and Keyfile fields. These are by default srvcert.pem and srvkey.pem, and you created them in the DemoCA directory.
  4. Click OK.

    On the Listeners page, the entry for HTTP Echo now has a padlock symbol, which shows that it uses SSL.

Parent topic: Tutorial: Configuring SSL Security in the Server
Related information
Introduction
Creating a Secure HTTPS Listener
Setting a Pass Phrase
Interpreting a Security Alert
Importing the CA's Root Certificate
Verifying the Certificate
Tidying Up


Setting a Pass Phrase

To enable the HTTPS listener to run, you need to enter the pass phrase that you defined for the private key file. In other situations, you might also have a pass phrase for the server certificate, which you would also need to enter. This tutorial does not require one.

There are two ways of setting the pass phrases. One way is to store the pass phrases in a file, and the other is to enter them once the enterprise server is started.

To set the pass phrase in a file:

  1. Edit the file mf-server.dat in the base\bin folder for Windows, or in the $COBDIR/bin directory for UNIX. directory. If the file does not exist, create it.
  2. Add the following lines to mf-server.dat:
    [HTTPS Echo/SSL/passphrases]
certificate=
keyfile=open sesame

    Make sure the name HTTPS Echo is spelled exactly as it is in ES Admin.

  3. Start ESDEMO from the home page of ES Admin.
  4. When ESDEMO has started, look at the Listeners page to make sure that the new listener HTTPS Echo has started, as with the other listeners.

To set the pass phrase manually without using a file:

  1. Start ESDEMO from the home page of ES Admin.
  2. When ESDEMO has started, go to the Listeners page. If you didn't enter the pass phrase in the above file, the status of the listener HTTPS Echo is Start pending.
  3. Click Authorize in the Status column of HTTPS Echo. This displays the SSL Listeners page in a separate browser window.
  4. Enter open sesame in the Keyfile Passphrase field, then click Set passphrases. You can leave the Certificate Passphrase field blank, since you did not define a certificate passphrase.
  5. Confirm that the HTTPS Echo is now started by viewing the main Listeners page (and clicking Refresh if necessary).

If you ever have problems starting or running an SSL-enabled listener, it can be useful to look at the MFCS log. Click Server > Diagnostics > CS Console.

Parent topic: Tutorial: Configuring SSL Security in the Server
Related information
Introduction
Creating a Secure HTTPS Listener
Installing the Server Certificate
Interpreting a Security Alert
Importing the CA's Root Certificate
Verifying the Certificate
Tidying Up


Interpreting a Security Alert

In this section as a user connecting to the server, you verify that you have connected to the correct Web site, and that it is trustworthy.

Since the Web site was certified by your Demo CA, you need your Demo CA's self-signed certificate installed in your browser in order for the Web site's certificate to be accepted. The necessary demo CA's self-signed certificate is not installed, so that you can see the messages that this causes.

  1. In your browser, enter https://localhost:9443.

    You could enter your machine's actual DNS host name or even its dotted decimal IP address rather than localhost. Normally, it should make no difference, but for the purposes of this tutorial, use localhost.

  2. A Security Alert is displayed. It warns you that the Web site's security certificate may not be trustworthy, and it lists what is right and what is wrong with it.

    If this tutorial has already been run and the CA certificate is still installed, you do not get this alert. You can remove the certificate and then restart this section to display the alert.

  3. Close the security alert.

This security alert indicates that you have not installed the self-signed certificate of the CA that issued this server certificate.

Parent topic: Tutorial: Configuring SSL Security in the Server
Related information
Introduction
Creating a Secure HTTPS Listener
Installing the Server Certificate
Setting a Pass Phrase
Importing the CA's Root Certificate
Verifying the Certificate
Tidying Up


Importing the CA's Root Certificate

Browsers typically come with certificates for well-known CAs already installed, and you rarely need to install them. If you need a CA's root certificate, you can usually download it from the CA's Web site.

The demonstration CA's certificate is not pre-installed in your browser, so you need to install it. It is supplied in the private directory of the demoCA. You install this certificate as follows:

  1. In your browser, go to the options where you manage certificates.
    • In Internet Explorer, click Tools > Internet Options > Content > Certificates. Go to the Trusted Root Certification Authorities tab and click Import.
    • In Mozilla Firefox, click Tools > Options > Advanced. Then scroll down and click Manage Certificates. Click Authorities and then click Import.
  2. Install the CA's self-signed certificate, which is in the private folder of your DemoCA directory. Specify the file CARootCert.cer. Internet Explorer requires X509 certificates, in DER format, so only those are listed, and not the PEM format files. Mozilla Firefox can handle several types, so several are listed and you need to install the PEM-format certificate.
  3. In Internet Explorer, use the Browse button to enter Trusted Root Certification Authorities in the Certificate Store field.

    In Mozilla Firefox, check Trust this CA to identify Web sites.

  4. Look down the list under Trusted Root Certification Authorities (for IE) and Authorities (for Firefox). You will see that your Demo CA is now listed; look for its Common Name. If when you installed Micro Focus Demo CA you chose to use your computer DNS name as the DemoCA's Common Name, it will appear different to the rest, because real CAs tend to give themselves user-friendly Common Names.
Parent topic: Tutorial: Configuring SSL Security in the Server
Related information
Introduction
Creating a Secure HTTPS Listener
Installing the Server Certificate
Setting a Pass Phrase
Interpreting a Security Alert
Verifying the Certificate
Tidying Up


Verifying the Certificate

Now that the CA's certificate is installed, you should be able to connect from the client Web browser.

  1. Try to connect again. In the Web browser, enter https://localhost.
  2. Read the Security Alert again. This time it shows only one problem, which is that the name in the certificate doesn't match the URL you tried to connect to. This is a warning that the certificate might not have come from the desired Web site, but from another Web site masquerading as it.
  3. Click View Certificate. The Issued To name in the certificate is the DNS host name of your computer, and you were trying to connect to localhost, and this is the cause of the discrepancy.
  4. Since this is in fact the desired Web site, click Close > OK.

    The connection is made, and HTTPS Echo sends a page with identification details to your browser, confirming that the connection has been made successfully. It is normal for most of the strings to be empty, as shown.

Parent topic: Tutorial: Configuring SSL Security in the Server
Related information
Introduction
Creating a Secure HTTPS Listener
Installing the Server Certificate
Setting a Pass Phrase
Interpreting a Security Alert
Importing the CA's Root Certificate
Tidying Up


Tidying Up

You should remove your Demo CA's self-signed certificate from your Web browser, both to avoid confusion in real use of your browser, and to enable this tutorial to be run again if required.

  1. In your browser, go to the options where you manage certificates.
    • Internet Explorer, click Tools > Internet Options > Content > Certificates. Then go to the Trusted Root Certification Authorities tab.
    • In Mozilla Firefox, click Tools > Options > Advanced. Then scroll down and click Manage Certificates and click Authorities.
  2. Select your Demo CA's certificate (the Common Name, not the organization name), then remove it.
  3. Close the browser and re-open it.
Parent topic: Tutorial: Configuring SSL Security in the Server
Related information
Introduction
Creating a Secure HTTPS Listener
Installing the Server Certificate
Setting a Pass Phrase
Interpreting a Security Alert
Importing the CA's Root Certificate
Verifying the Certificate


Information on OpenSSL

The openssl.exe utility is installed by default in the directory: Program Files\Micro Focus\DemoCA This directory is pointed to by the SSLDIR environment variable, which is created when you install this pack. The directory is not automatically added to your path, but you might find it useful to add it.

The openssl utility supplied with this pack is a full implementation of the utility, except that certain algorithms that are subject to patents or other legal restrictions have been excluded. See Supported Algorithms in the Readme for a list of the supported algorithms.

You can run openssl from the command line.

For details of the OpenSSL utility, see www.openssl.org and www.mkssoftware.com.

  • OpenSSL Utility
  • OpenSSL Configuration File
  • Algorithms
  • Interpreting OpenSSL Error Messages
  • Supported SSL Versions and Supported Algorithms
Parent topic: Securing Communications


OpenSSL Utility

The openssl.exe utility is installed by default in the directory Program Files\Micro Focus\DemoCA .The directory is pointed to by the SSLDIR environment variable, which is created when you install this pack. The directory is not automatically added to your path, but you might find it useful to add it.

The openssl utility supplied with this pack is a full implementation of the utility, except that certain algorithms that we believe to be subject to patents or other legal restrictions have been excluded.

You run openssl from the command line.

Parent topic: Information on OpenSSL
Related information
Supported SSL Versions and Supported Algorithms
www.openssl.org
www.mkssoftware.com
OpenSSL Configuration File
Some Common Algorithms
Definitions for OpenSSL


OpenSSL Configuration File

The OpenSSL configuration file provides SSL defaults for items such as:

  • The location of your certificate files.
  • Your Distinguished Name. This comprises the details of your site (your Common Name, your locality and so on). Initially your Distinguished Name comprises the details you entered during installation.
  • Defaults for the openssl ca policy command, which specifies which elements of the Distinguished Name are required.

The configuration file is called openssl.cnf by default and belongs in the same directory as openssl.exe by default. You can specify a different configuration file by using the OPENSSL_CONF environment variable or you can specify alternative configurations within one configuration file.

The configuration file is a text file and comprises several sections, such as:

  • The ca section, which configures the CA. You can have several ca sections, each specifying a different configuration for a different CA, and switch between them by changing the default_ca option. You can also override this choice from the command line, using the -name parameter. This is useful in development and testing, enabling you to try out different configurations.
  • The policy section, which specifies how closely the Distinguished Name in a certificate presented to SSL software must agree with the Distinguished Name in an installed certificate, for the two certificates to be considered to match.
  • The req section, which configures the openssl req command.
  • The distinguished_name section, which specifies the Distinguished Name fields required when the openssl req command is creating a certificate request or a self-signed certificate. The actual name of this section is specified in the distinguished_name entry in the req section. This enables you to switch between different distinguished_name configurations, by changing the entry in the req section.
  • The attributes, which has attributes such as challengePassword or unstructuredName. Like the distinguished_name section, the actual name of the attributes section is specified in the req section, so that you can have several attributes sections, and switch between them.

In the options in the configuration file, all filenames must be given complete with absolute path.

For full details see OpenSSL CA function on the MKS Software site and page down to the section on the Configuration File .

Parent topic: Information on OpenSSL


Algorithms

You can list the available algorithms using the openssl ciphers and openssl speed functions as follows. Note that not all the algorithms listed are supported. See below.

openssl ciphers

The openssl ciphers function lists the full cipher and hash suite available in the supplied openssl utility. Most of the ciphers available in OpenSSL are supported by Micro Focus Security Pack, but not all of them.

The openssl ciphers function produces output like this:

DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:...

Where:

  1. The first element is the method
  2. The next one or more elements (except the last) are the ciphers and might indicate the symmetric and asymmetric ciphers
  3. The last element is the hashing algorithm used for signing

openssl speed

The openssl speed function lists the algorithms supported by the Micro Focus Security Pack and available in the supplied openssl utility. The speed function also lists how long each algorithm takes on your computer. This function takes some minutes to run.

Parent topic: Information on OpenSSL
Related information
Supported SSL Versions and Supported Algorithms
OpenSSL Utility
Some Common Algorithms


Interpreting OpenSSL Error Messages

OpenSSL produces many error messages which are cryptic at times. This topic does not explain all the OpenSSL error messages, but it gives some guidance on how to interpret the messages.

Here is a typical OpenSSL error message that is caused by faling to set the SSLDIR environment variable to a directory containing openssl.cnf:

C:\Program Files\Micro Focus\DemoCA>openssl ca -revoke srvsert3.p12
Using configuration from /usr/local/ssl/openssl.cnf
error loading the config file '/usr/local/ssl/openssl.cnf'
3792:error:02001003:system library:fopen:No such process:.\crypto\bio\bss_file.c
:104:fopen('/usr/local/ssl/openssl.cnf','rb')
3792:error:2006D080:BIO routines:BIO_new_file:no such file:.\crypto\bio\bss_file
.c:107:
3792:error:0E064072:configuration file routines:CONF_load:no such file:.\crypto\
conf\conf_def.c:197:

The structure breaks down as follows:

  • Command line and parameters
  • Confirmation of configuration file to be used
  • Initial indication of error status
  • Low level code layer error information
  • Medium level code layer error information
  • Top level code layer error information

Within each code layer specific location information is given about what status was generated, within which source module and guidance as to the parameter that caused the error.

The important information is usually found in the final line. In this case the text “no such file” indicates the symptom of the failure. The file might no exist, but we might be looking in the wrong place and need to adjust the SSLDIR accordingly.

The OpenSSL Web site www.openssl.org has several relevant sections, in particular the HOW TO sections.

openssl dsa -in srvkey.pem -out keyout.pem
read DSA key
Enter PEM pass phrase:
unable to load Key
2588:error:06078081:digital envelope routines:EVP_PKEY_get1_DSA:expecting a dsa
key:.\crypto\evp\p_lib.c:241:
Parent topic: Information on OpenSSL


Supported SSL Versions and Supported Algorithms

Micro Focus Demo CA supports the following versions of SSL, in both client and server mode:

  • SSL V2.0
  • SSL V3.0
  • TLS V1.1

The following algorithms are supported:

  • AES-128 / 192 / 256
  • Blowfish CBC
  • CAST CBC
  • DES CBC / DES EDE3
  • DSA
  • HMAC(MD5)
  • MD2 / MDC2 / MD4 / MD5
  • SHA1
  • RMD160
  • RC2-CBC / RC4
  • RSA
Parent topic: Information on OpenSSL


SSL and PKI Technology Primer

If you are new to securing communications, it is important that you understand the concepts of how communications are secured.

  • SSL
    This section gives an overview of the whole subject of SSL encryption.
  • CAs and PKIs
    This section describes CAs and PKIs.
  • Checking, Exporting and Importing Certificates Overview
    This tutorial talks through the certificates already installed on your machine, regardless of the Micro Focus Security Pack.
  • Certificates
    This chapter provides some background to certificates.
  • Standards and Organizations
    A great many standards have been created covering SSL and PKI, and as is often the way with new areas some of these standards are rivals or at least alternatives. This chapter briefly introduces the standards referred to in the coming chapters, and the organizations behind these standards.
  • Some Common Algorithms: Overview
  • Definitions for OpenSSL
    This topic briefly explains some terms that, while they are not part of SSL, often appear in discussions and documentation of SSL, especially of OpenSSL.
  • Attacks
    This topic explains some of the best known strategies for breaking a code, and what features SSL has that you can use to protect yourself from these attacks.
  • Designing a PKI
    This chapter advises on points to remember, ideas to consider, and pitfalls to avoid if you are designing a PKI for your organization. This is by no means an exhaustive list, but is intended to be helpful in suggesting points to consider.
Parent topic: Securing Communications


SSL

For most of this section we'll assume, for simplicity, that you are the sender of messages and someone else is the recipient. In practice, of course, you're likely to be sending messages to each other, and so everything we describe is actually happening in both directions.

Throughout this explanation, we have taken care to say "your SSL software does so-and-so" not "you do so-and-so". This is partly to emphasize that all the detailed work is done by the software - as a user, or even as a programmer, of SSL-enabled software you generally just set options. It is also to emphasize that you must keep your computer secure, with such things as login passwords. If someone else can use your SSL software in your place, obviously all security is lost.

  • What is SSL?
  • SSL and TLS Terminology
  • Encryption and Decryption
  • Hashing
  • Signing
  • Certificates
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: What is SSL?


What is SSL?

SSL is a standard mechanism for sending and receiving electronic communications in encrypted form. SSL can be used wherever confidential information is to be sent between machines, such as a network, a company intranet, or the Internet. For brevity, this book generally talks about the Internet.

SSL is heavily reliant on the use of Public Key Infrastructures (PKIs). A PKI is a system of issuing online certificates to people and organizations involved in electronic communications - such as Web sites - to confirm their authenticity and trustworthiness.

SSL is widely used by organizations large and small. For example, if you use online banking, you may notice that the Web addresses - also known as universal resource locators (URL) - of many pages on your bank's Web site have addresses beginning https rather than http. This indicates that messages between that Web page and the Web site are sent via a version of HTTP that uses SSL.

Any two software programs that communicate with one another and have SSL support can send their messages to one another in encrypted form, provided that they also have a trust relationship with a PKI.

SSL can provide the following benefits:

  • Confidentiality – keeping information private
  • Integrity – ensuring information has not been tampered with
  • Authentication – confirming the identity of the individual who sent the information
  • Non-repudiation – proving that the individual who sent the information did so

Some of the above benefits are provided by PKIs that are used by SSL.

Parent topic: SSL
Parent topic: SSL and PKI Technology Primer
Previous topic: SSL
Next topic: SSL and TLS Terminology


SSL and TLS Terminology

SSL was originally defined by Netscape. The first publicly released version, SSL v2, came out in 1994. Several vendor-specific variants appeared, notably Private Communications Technology (PCT) from Microsoft. PCT was effectively a rival to SSL v3 when that came out in 1995. The Internet Engineering Task Force (IETF) took on the task of creating an industry-wide standard, and developed what was effectively SSL v3.1. However, they adopted for this the vendor-neutral name of Transport Layer Security (TLS). The terms TLS and SSL are sometimes used interchangeably. In this book we generally keep to the term SSL.

Parent topic: SSL
Parent topic: SSL and PKI Technology Primer
Previous topic: What is SSL?
Next topic: Encryption and Decryption


Encryption and Decryption

When software with SSL enabled sends a message, it sends it encrypted - that is, in a secret code. The software that receives the message, provided it too has SSL enabled and knows the secret code used, decrypts it - turns it back into the original uncoded message.

This gives you the first of the benefits of SSL mentioned above: confidentiality. If some unintended recipient - known as an eavesdropper, or attacker - picks up the message, they can't decipher it, because they don't know the code.

To encrypt a message, you need a key and an algorithm. A key is a number, and an algorithm is a method of combining this number with your message to create the encrypted message. To take a simple example, imagine you encrypt a message by replacing each letter by the letter two places farther along the alphabet, so that, for example, IBM becomes KDO. Here, "replace each letter by the letter n places farther along the alphabet" is your algorithm, and 2 is your key.

If you were to use a different key, you'd get a completely different code, although you're still using the same algorithm. So if for example n = 1, IBM becomes JCN.

  • Keys and Algorithms
  • Public Keys, Private Keys, and Secret Keys
  • Using Asymmetric and Symmetric Algorithms Together
Parent topic: SSL
Parent topic: SSL and PKI Technology Primer
Previous topic: SSL and TLS Terminology
Next topic: Keys and Algorithms


Keys and Algorithms

Now it seems obvious that the intended recipient of your coded message needs to know the algorithm and the key, so as to decode the message; and equally it seems obvious that the algorithm and key must be kept secret from everyone else. And so you get the problem of how to let your intended recipient know them - after all, anyone who might be eavesdropping on your messages might be also eavesdropping when you send the algorithm and key.

Luckily, it's not as simple as that.

The algorithms typically used by SSL are so complex (typically taking several pages of mathematics to describe), and the keys used are typically so long (sometimes hundreds of digits long, when written in hex or decimal), that even if someone does know the algorithm, the chances of them guessing the key, or finding it by trial and error, are virtually nil. So, far from keeping algorithms secret, SSL uses well-known algorithms, which have been developed and published over the years by experts in cryptography.

When you are configuring software that uses SSL, it will generally ask you which of these well-known algorithms you want to use. Since the software does all the encryption/decryption for you, you don't need to understand these algorithms (you'd need considerable mathematical knowledge to do so), but you do need to know the names of the best-known ones and a little about their relative advantages and disadvantages. We'll cover this later. We'll mention some well-known ones as we go along.

You don't need to decide a key yourself, either. Instead, your SSL software uses a random number generator to create one.

Parent topic: Encryption and Decryption
Parent topic: SSL and PKI Technology Primer
Previous topic: Encryption and Decryption
Next topic: Public Keys, Private Keys, and Secret Keys


Public Keys, Private Keys, and Secret Keys

As for keeping the key secret from all but your intended recipient, well, some of the well-known algorithms need two keys - and a message encrypted with one of the keys can only be decrypted with the other. So once you and your intended recipient have agreed which algorithm to use, your recipient's software generates a pair of keys, and sends you one (called his/her public key) while keeping the other one secret, even from you (this one is called his/her private key). Your software then encrypts and sends your message using the public key, and the recipient's software decrypts it using the private key.

So there's no danger of the private key being discovered by an eavesdropper - it never gets sent anywhere. It is known only to its owner.

As for the public key, there's no need to keep it secret. On the contrary, it can safely be made available to anyone who requests it. We'll come back later to how this is done.

An algorithm like this, using a private key and a public key, is called asymmetric. An algorithm that uses just one key, which has to be a secret between the sender and recipient, is called symmetric, and the key is called a secret key.

An algorithm that uses a private key and a public key is also called a public key algorithm. One of the best known ones is RSA, developed by Ron Rivest, Adi Shamir, and Leonard Adleman in 1977. An algorithm that uses just one key, a secret key, is called a secret key algorithm. One of the best known ones is Data Encryption Standard (DES), published as a US standard in 1977.

Parent topic: Encryption and Decryption
Parent topic: SSL and PKI Technology Primer
Previous topic: Keys and Algorithms
Next topic: Using Asymmetric and Symmetric Algorithms Together


Using Asymmetric and Symmetric Algorithms Together

An asymmetric system has one major disadvantage - the algorithms are very complex and therefore very time-consuming. No matter how fast your computer is, you wouldn't want to use them to encrypt/decrypt large amounts of data.

So encryption software normally uses a symmetric algorithm on the data itself, meaning the secret key has to be sent to the recipient - but in case an eavesdropper intercepts the secret key, the software sends the secret key encrypted, using an asymmetric algorithm.

In this kind of system, the secret key is called a session key, since it is generated when the would-be sender and recipient first connect, sent using the asymmetric algorithm, and then used for all the data transmissions until the session is complete and the connection broken. A new secret key is generated for every new session.

Parent topic: Encryption and Decryption
Parent topic: SSL and PKI Technology Primer
Previous topic: Public Keys, Private Keys, and Secret Keys
Next topic: Hashing


Hashing

As explained in the chapter SSL, a hash is created by applying an algorithm that combines the characters of a message in some way to produce a string that is meaningless but nevertheless can be regarded as characteristic of the message - the chances of any other message, subjected to the same algorithm, giving the same hash are tiny.

It is neither necessary nor desirable that the hash should be unique; the algorithm should be such that the hash does not contain enough information to reconstruct the original message. So there actually will be other messages (though a tiny subset of the set of all possible messages) that would give the same hash. This important property of a good hashing algorithm is called irreversibility. Nevertheless, it should be difficult to deliberately create two messages that produce the same hash. This property is called collision-resistance.

Just as with encryption, there are various well-known algorithms used for hashing, and your SSL software may let you choose which it uses.

  • MD5
  • SHA
Parent topic: SSL
Parent topic: SSL and PKI Technology Primer
Previous topic: Using Asymmetric and Symmetric Algorithms Together
Next topic: Signing
Parent topic: Some Common Algorithms: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: RSA
Next topic: MD5


Signing

But imagine the following:

  1. You send a message, encrypted and accompanied by a hash.
  2. An hacker intercepts it and prevents it reaching your intended recipient.
  3. The hacker, pretending to be you, sends a new message, encrypted and accompanied by a hash.
  4. The recipient decrypts this, and finds the hash matches the hash he or she calculates, so believes he or she has received an uncorrupted message from you.

This is called a man-in-the-middle attack.

The solution to this is for your software to send the hash encrypted as well - but encrypted using your own private key. Since you have published your public key, the recipient's software will be able to decrypt the hash and use it. And the recipient can be sure it came from you, since only your software knows the private key that matches your public key.

A hash encrypted with your private key is called a digital signature.

So if you send a message signed in this way, the recipient knows it came from you. This is the third of the benefits of SSL mentioned above: authentication.

In fact, with a digital signature, your recipient can prove it came from you. If you should ever want to deny it, you can't. This is the fourth benefit mentioned above: non-repudiation. In some parts of the world, a digital signature has legal force, like a traditional hand-written signature.

Notice though that, unlike a hand-written signature, a digital signature is different every time - it is an encryption of the hash of the message it is attached to.

A similar idea to this is a message authentication code (MAC), which is a hash encrypted with the secret key of a symmetric algorithm. MACs are used instead of digital signatures to provide integrity, authentication, and non-repudiation in some systems.

Parent topic: SSL
Parent topic: SSL and PKI Technology Primer
Previous topic: Hashing
Next topic: Certificates


Certificates

When asymmetric algorithms were first invented, it was suggested that people should publish their public keys in books like phone books. That idea didn't catch on. Instead, a new standard file type was invented, called a certificate.

A certificate contains its owner's public key and everyday elements of their identity such as their name, company, location, and the DNS host name of their computer. Your SSL software normally includes a function to create your certificate, but it's more usual to get an independent body, called a Certificate Authority, to create it. We'll go into this in the next chapter.

Anyone can have a certificate, and anyone needing to prove their identity online needs one. Notably, they are needed by organizations such as online banks and other Web sites that need clients or other organizations to communicate with them securely.

When you connect to such a Web site, the initial contact (called the handshake) between your SSL software and theirs includes their SSL software sending yours their certificate. This is how you get their public key, so that encrypted communication between you can begin, as described above.

Parent topic: SSL
Parent topic: SSL and PKI Technology Primer
Previous topic: Signing


CAs and PKIs

Two of the many well-known CAs on the Internet are VeriSign (http://www.verisign.com) and Thawte (http://www.thawte.com). You may find it useful to look at their Web sites from time to time while reading this chapter.

At this point we need to introduce the term "entity". A user of a network or intranet or the Internet might not be an individual person - it could be an organization, or even a machine. So we'll use the more general term "entity" from now on.

  • Trust
  • What is a CA?
  • What is a PKI?
  • Root and Subordinate CAs
  • How Do you Check a Certificate?
  • Certificate Validity Period and Revocation
  • Types of Certificates - Purpose
  • Authentication Modes
  • Typical Process
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: Trust
Related information
Verisign
Thawte


Trust

So far, we've assumed that you and the people you communicate with know and trust each other. In real life, this is unlikely to be the case. On the Internet, or a big organization's intranet, you are one of a great many people, all potentially communicating with each other, and unlikely ever to know each other personally.

In the previous chapter, we introduced certificates as a way of making an entity's public key available to anyone who wants it.

To prove that the entity is trustworthy, an entity's certificate is created and digitally signed by someone who knows the entity personally, or at least is able to check up on them personally, and who is in turn trusted by others. In this way the certificate also serves - like a traditional paper certificate - as a proof of the entity's trustworthiness. SSL software includes a function to display a certificate on the screen so a user can check the details of the owner and the signatory.

And the person who signed the certificate can in turn have a certificate signed by a third person, and that person can in turn have a certificate signed by a fourth, and so on. Each certificate includes a record of this chain of certificates.

This is called a "web-of-trust model", and in a small organization it may be sufficient, since it's fairly easy to ensure that anyone checking a certificate will find someone he or she knows and trusts in the chain of signatories on the certificate. But it's not scalable; that is, it won't work for a big organization consisting of thousands of people mostly unknown to each other - and certainly not for the Internet.

The solution to this is a PKI, which we describe later in this chapter.

Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: CAs and PKIs
Next topic: What is a CA?


What is a CA?

Since you yourself can't possibly check up on all your contacts, you need someone who can - someone who can investigate entities, perhaps meet them in person, and then provide a statement to other entities that they are trustworthy. A Certification Authority (CA) is a body that does this. For an intranet, the CA might be a department within your organization. For the Internet, there are well-known CAs that provide this service.

  • How does the CA show it trusts an entity?
  • How does the CA check on entities?
  • Why should you trust the CA?
  • How do you know the certificate really came from the CA?
Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: Trust
Next topic: How does the CA show it trusts an entity?


How does the CA show it trusts an entity?

They issue certificates. Once they have satisfied themselves that an entity is genuine and trustworthy, they create a certificate as described above, containing the entity's public key, and the entity's identity details such as name, location, DNS host name, etc. They send this certificate to the entity to store, and keep a copy themselves.

The CA generally has a server dedicated to this function, and this machine is also known as the CA.

You can configure your SSL software to compare a received certificate to a list of known trusted CAs. As described above, you can also have your SSL software display a certificate on your screen for you to check the details.

Parent topic: What is a CA?
Parent topic: SSL and PKI Technology Primer
Previous topic: What is a CA?
Next topic: How does the CA check on entities?


How does the CA check on entities?

This is an important point, and a CA will have a Certificate Policy (or Practice) Statement (CPS) explaining how they do it. Typically this is available on the CA's Web site for anyone to read.

This check is what anchors electronic communications to the real world. Typically it involves the entity, or its representatives if it is an organization, actually presenting themselves in person to the CA, with proof of identity. If this is not practicable because entities wanting certification are geographically wide-spread, the CA will have Registration Authorities, local branches that carry out the in-person checks and then forward approval to the central CA.

Again, the RA uses a server which is itself known as the RA. The connection between the RA and CA is likely to be an electronic one - the RA notifies its approval to the CA, which then issues the certificate. At both levels, though, there are likely to be actual human beings making the decisions to recognize the proofs of identity, and to grant the certificates.

If the entities wanting certification are too widespread even for RAs to be within reach of them all, then the CA may use notaries - individuals authorized to check identification in person and forward the details to the CA or one of its RAs.

All these policies should be detailed in the CA's CPS - this document and the policies it describes are as important a part of a PKI as the SSL technology itself.

Parent topic: What is a CA?
Parent topic: SSL and PKI Technology Primer
Previous topic: How does the CA show it trusts an entity?
Next topic: Why should you trust the CA?


Why should you trust the CA?

The above all depends on the CA themselves being trustworthy. Who gave them the right to check identities and issue certificates pronouncing people trustworthy?

For the intranet of a company or other organization, the CA is likely to be a department set up at the management's direction. For the Internet, a number of privately run CAs have been established, which have become widely trusted simply because they have earned a world-wide reputation.

To maintain its reputation, a CA would be expected to keep its CA server extremely secure, not only from hackers, but also from physical on-site interference, to ensure that certificates cannot be created other than by the official route. If you read a CA's CPS, you should expect to find strict, detailed rules about physical access to the server by the CA's staff.

Parent topic: What is a CA?
Parent topic: SSL and PKI Technology Primer
Previous topic: How does the CA check on entities?
Next topic: How do you know the certificate really came from the CA?


How do you know the certificate really came from the CA?

They sign it.

In addition to the data described earlier (the public key, name , etc of the certified entity), a certificate contains the CA's digital signature. As described earlier, this provides proof - in some countries, legal proof - that it came from the CA.

Parent topic: What is a CA?
Parent topic: SSL and PKI Technology Primer
Previous topic: Why should you trust the CA?
Next topic: What is a PKI?


What is a PKI?

A PKI is the whole system described in the preceding sections - one or more CAs, their procedures (defined in their CPS's) for vetting applicants for certificates, and for handling and issuing certificates, and the SSL software used by entities to send, receive, and check certificates.

The Internet has, in effect, its own world-wide PKI, based around internationally known CAs such as Thawte, VeriSign and others. An organization, such as a company, can set up its own PKI for use within its intranet or network.

The same SSL software and world-wide standards (such as certificate formats) would normally be used in either case. The principal distinction between the world-wide PKI and a private one is that in a private one the organization would set up its own CAs, recognized within the organization.

Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: How do you know the certificate really came from the CA?
Next topic: Root and Subordinate CAs


Root and Subordinate CAs

If there were only a few CAs in the world, they would soon become overloaded. In fact, there are many. But how does a new CA show its trustworthiness? Usually, by applying for and being granted a certificate from one of the established CAs. A CA certified by another is called a subordinate CA.

A CA that is not certified by any other, but relies solely on its own reputation, is called a root CA. Even a root CA needs a certificate (we'll see below why), and the format of a certificate requires that it be signed, so they create and sign their own certificate. This is called a self-signed certificate or a root certificate.

Similarly, in a large organization, there might be subordinate CAs - for example, each department might run its own CA, each certified by the organization's root CA.

Also, a big CA such as those on the Internet might find that to cope with demand they need several CA machines. Each of these is a subordinate CA, with a certificate granted by one root CA machine.

A subordinate CA can itself certify subordinate CAs, so the standard format for a certificate includes a record of a chain of CAs, each certified by the next, back to a root CA. This chain of certificates is called the certification path. Thus a PKI is hierarchical. You trust the certificate if you know and trust any of the CAs on the certification path.

So in contrast to the web of trust described earlier, a PKI is a tree of trust, with one or more root CAs at the top, subordinate CAs below them and the actual users (client or server) at the bottom.

In a minor departure from this hierarchical nature, CAs can also cross-certify each other. For example, two government departments might each have its own PKI, with its own CA. Within each department, every member has been vetted and then certified by the relevant CA. They might then find that members of the two departments frequently need to communicate with each other. To establish trust between all the members of the two departments, effectively linking the two PKI's into one, all that is needed is for the two CAs to grant each other certificates.

Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: What is a PKI?
Next topic: How Do you Check a Certificate?


How Do you Check a Certificate?

We said above that the SSL software compares a certificate to a list of known CAs. We'll describe more precisely what happens.

A CA itself has a certificate - a self-signed one in the case of a root CA. Your SSL software can store certificates (known as installing a certificate), and typically comes with the certificates of a number of well-known CAs already installed. You can install more, if you come across more CAs you wish to trust. Also, there may be periodic updates - for example, the automatic updates that Microsoft send out for Windows XP sometimes install additional CA certificates in Internet Explorer.

When your SSL software receives an entity's certificate as part of a handshake, it compares the hierarchy of CAs named in the certificate to the installed CA certificates. If any in the hierarchy matches any in the installed list, then the entity is considered to have been certified by a known and trusted CA.

Your SSL software also needs to check that the CA's digital signature in the entity's certificate is genuine. Remember that to check a digital signature your SSL software decrypts it using its owner's public key, and then compares the resulting decrypted hash with the hash that the SSL software has itself worked out from the message (in this case the entity's certificate). The SSL software obtains the CA's public key from the CA's certificate.

Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: Root and Subordinate CAs
Next topic: Certificate Validity Period and Revocation


Certificate Validity Period and Revocation

Optionally, a certificate can contain start and end dates, when it starts and ceases to be valid. End dates are especially common, since most CAs consider it good policy to require a certificate to be renewed from time to time. Not only does it enable them to check that the holder is still genuine, but it enables them to charge for renewing the certificate.

It is sometimes necessary for a CA to revoke a certificate, for example if the holder's matching private key is lost or revealed, or if the CA ceases to consider the holder trustworthy. There are two ways a CA can do this. Both have shortcomings.

The first is to maintain a certificate revocation list (CRL), which it makes remotely accessible. A CRL can be installed in SSL software, for example in a browser, and when the SSL software is examining a certificate to see if it is trustworthy, part of the procedure is to see if the certificate is on any of the installed CRLs.

This approach has the problem that CA updates are issued periodically, so there is a delay between a CA deciding to revoke a certificate and the fact appearing in the latest issue of the CRL.

A more recent solution is for the CA to provide online certificate status - meaning that SSL software checking a certificate can contact the CA's server online and get a signed response saying whether the certificate has been revoked. The Online Certificate Status Protocol (OCSP) has been introduced for this.

This approach has the problem that it puts a high load on the CA's server.

Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: How Do you Check a Certificate?
Next topic: Types of Certificates - Purpose


Types of Certificates - Purpose

CAs issue different kinds of certificates, differing in what kind of checks the CA has made on the owner and consequently what purpose the certificate serves - in what roles it guarantees the owner as trustworthy. For example:

  • Typically, a CA issues its own root CA machine with a self-signed root certificate
  • If you are the owner of a Web site accessed by the general public, you can request a server identification certificate (server certificate for short), confirming to your clients the identity of your server
  • If you are engaged in business-to-business communications (B2B), you will probably want a client certificate, confirming the identity of your site

Exactly what the certificate certifies - in other words, its purpose - is stated in the certificate.

Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: Certificate Validity Period and Revocation
Next topic: Authentication Modes


Authentication Modes

In a client/server scenario, it may be that only the server has a certificate, so that the clients can confirm the identity of the server; or it may be that clients too are required to have certificates, so that the server can identify their identities.

If only the server has a certificate, the online service is said to be operating in server-only authentication mode. If the clients too have certificates, the service is operating in full authentication mode.

If as a Web site owner you want the benefits of non-repudiation, that is, you want to be able to prove that data really was sent to you from a particular client, then you should use full authentication.

Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: Types of Certificates - Purpose
Next topic: Typical Process


Typical Process

Here's a brief, simplified overview of what typically happens when you contact a secure Web site, that is, one using SSL. Let's say you are a Web user contacting your online bank.

In the following, remember that a symmetric algorithm is normally used to encrypt the data itself, while an asymmetric algorithm is used only to send the secret key for the symmetric algorithm.

In the following, we refer to "your browser" and "the bank's server". Of course we mean the SSL software in each.

  1. You enter the URL of the bank's login page.
  2. Your browser sends a list of symmetric algorithms it can support to the bank's server, and requests the bank's certificate.
  3. Their server replies saying which symmetric algorithm to use, and sends the requested certificate. It also sends a random number to be used in generating the secret key.
  4. Your browser checks the hierarchy of CAs shown in the bank's certificate against the CA certificates you've got installed. If there is no match, the browser flags a warning.
  5. If there is any match, the browser checks the bank's certificate against the CA that issued it, typically making the following checks and flagging a warning if any fail:
    • Checks the CA's digital signature in the bank's certificate.

      Remember this signature is the encrypted hash of the bank's certificate - encrypted using the CA's private key. Your browser gets the CA's public key from the CA's certificate, and uses it to decrypt the signature, thus getting back the hash. Your browser then itself hashes the bank's certificate, and checks the two hashes match.

    • Checks the start and expiry dates in the certificate to confirm the certificate is current.
    • Checks the URL in the certificate is exactly the same as the URL DNS name of the machine that sent the Web page.
    • Checks in the CA's certificate revocation list (CRL), or contacts the CA's server using OCSP, to see if the certificate has been revoked.
  6. Your browser generates a random number, encrypts it with the asymmetric algorithm using the bank's public key, and sends it to the bank's server.
  7. The bank's server uses the bank's private key to decrypt the random number the browser sent.
  8. Your browser and the bank's server now independently calculate the secret key from the two random numbers.
  9. As a final check, your browser and the bank's server send each other MACs of all the above messages, and check them to ensure no attacker has altered any of the messages.
  10. Your browser and the bank's server can now send each other your data confidentially, using the chosen symmetric algorithm.
Parent topic: CAs and PKIs
Parent topic: SSL and PKI Technology Primer
Previous topic: Authentication Modes


Checking, Exporting and Importing Certificates Overview

  • Viewing Certificates
  • Checking a Certificate
  • Exporting a Certificate from Internet Explorer
  • Importing a Certificate into Mozilla Firefox
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: Viewing Certificates


Viewing Certificates

There are probably some certificates already installed on your machine. Applications that use SSL, such as a Web browser, usually come with certificates for well-known Web sites and CAs. New certificates for Web sites with newly established reputations are often included in the regular updates that are published for the applications.

  • With Internet Explorer
  • With Mozilla Firefox
Parent topic: Checking, Exporting and Importing Certificates Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Checking, Exporting and Importing Certificates Overview
Next topic: With Internet Explorer


With Internet Explorer

If your browser is Internet Explorer:

  1. Click Tools > Internet Options > Content.
  2. Click Certificates and then the Trusted Root Certification Authorities tab on the far right.

    This lists the root CAs known and trusted by your Web browser - that is, the CAs whose certificates have been installed in the SSL software in your Web browser. A default set of these, consisting of many of the world's best known ones, is installed when Internet Explorer is installed.

    The terminology used in Internet Explorer is slightly different from that used in this book, as follows:

    Internet Explorer | This book
    Personal certificate | Your client certificate
    Other people's | Client or server certificate of some other entity
    Intermediate CA | Subordinate CA
    Trusted root CA | Root CA
  3. Double-click any one of the certificates shown. This displays the certificate on the screen. In many cases the "Issued To" and "Issued by" names are the same, indicating a self-signed certificate - one issued by a root CA to itself.
  4. Double-click one of the certificates. This displays the certificate. Notice that the "Issued To" and "Issued by" names are the same. This is what you would expect from a self-signed certificate - one issued by a root CA to itself.
  5. Click the Certification Path tab. This lists the chain of CAs from the certificate back to the root CA. Because this certificate is for a root CA, there is just one entry.
  6. Click OK to close the certificate.
  7. Click the Intermediate Certification Authorities tab. This shows a list of subordinate CAs whose certificates have been installed in your Internet Explorer.
  8. Double-click one of the certificates.
  9. Click Certification Path. You now see the chain of CAs, from the subordinate CA that issued this certificate, back up through the hierarchy to the root CA.
  10. Close the dialog boxes.
Parent topic: Viewing Certificates
Parent topic: SSL and PKI Technology Primer
Previous topic: Viewing Certificates
Next topic: With Mozilla Firefox


With Mozilla Firefox

If your browser is Mozilla Firefox:

  1. Click Tools > Options > Advanced. Then, depending on your version, either scroll down and click Manage Certificates, or click the Security tab and then View Certificates.
  2. Click the Authorities tab. This lists the CAs known and trusted by your Web browser - that is, whose certificates have been installed in the SSL software in your Web browser. A default set of these, consisting of many of the world's best known ones, is installed when Firefox is installed.
  3. Double-click any one of the certificates shown. This displays the certificate on the screen. In many cases the "Issued To" and "Issued by" names are the same, indicating a self-signed certificate - one issued by a root CA to itself.
  4. Click the Certification Path tab. This lists the chain of CAs from the certificate back to the root CA. If this certificate is for a root CA, there is just one entry.
  5. Click OK to close the certificate.
  6. Look at some other certificates in the same way. You may find that all the certificates are for root CAs. If you find one for a subordinate CA, you can see the chain of CAs, from the subordinate CA that issued this certificate, back up through the hierarchy to the root CA.
  7. Close the dialog boxes.
Parent topic: Viewing Certificates
Parent topic: SSL and PKI Technology Primer
Previous topic: With Internet Explorer
Next topic: Checking a Certificate


Checking a Certificate

Frauds have sometimes been perpetrated in which fake Web sites masquerade as genuine sites - when you think you are connecting to the genuine site, for example your online bank, you are in fact diverted to a fraudulent one designed to look like it, and trick you into revealing your confidential details. This kind of fraud is called "phishing".

As a safeguard against this, you can view the certificate of the site you are connecting to.

  • With Internet Explorer
  • With Mozilla Firefox
Parent topic: Checking, Exporting and Importing Certificates Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: With Mozilla Firefox
Next topic: With Internet Explorer


With Internet Explorer

If your browser is Internet Explorer:

  1. Go to the Web site for any online entity that needs secure communications, such as an online bank.
  2. Follow the links to the first logon page. You do not need to logon.
  3. Look at the URL. You should find that it begins with https instead of http. HTTPS is Secure HTTP, the version of HTTP that uses SSL.
  4. Look at your Web browser's status line. You should see a symbol like a padlock. This shows that communications on this page use SSL.

    Some pages contain both secure (that is, encrypted) and insecure (unencrypted) information. If you view such a page, your browser might display a warning to this effect, and ask you if you want to continue. If you choose to continue, the padlock symbol disappears, because Internet Explorer does not treat such pages as secure. You will need to try some other HTTPS page to continue with this tutorial.

  5. Double-click the padlock symbol. This displays the entity's certificate.

    Click the Certification Path to show the hierarchy of CAs from the one that issued the certificate up to the root CA.

    A Web site that was masquerading as the one you believe you've contacted could not fake a certificate, because no reputable CA, having checked up on them, would sign a certificate for them. And since the list of CAs in your browser includes only genuine, reputable CAs, there will be no match and your browser will reject their certificate.

    However, even for the most respectable organizations, you will sometimes find warning messages on the General tab saying that in some respects the certificate is faulty. This is because some detail on the certificate is incorrect - for example, the expiry date may have passed. It is up to you to look at the details on the certificate, and decide whether you trust the Web site despite this flaw.

Parent topic: Checking a Certificate
Parent topic: SSL and PKI Technology Primer
Previous topic: Checking a Certificate
Next topic: With Mozilla Firefox


With Mozilla Firefox

If your browser is Mozilla Firefox:

  1. Go to the Web site for any online entity that needs secure communications, such as an online bank.
  2. Follow the links to the first logon page. You do not need to logon.
  3. Look at the URL. You should find that it begins with https instead of http. HTTPS is Secure HTTP, the version of HTTP that uses SSL.
  4. Look at your Web browser's status line. You should see a symbol like a padlock. This shows that communications on this page use SSL.

    Some pages contain both secure (that is, encrypted) and insecure (unencrypted) information. If you view such a page, your browser should display a warning to this effect, and ask you if you want to continue. If you choose to continue, the padlock symbol appears with a line through it, because Firefox does not treat such pages as secure. You can still view the certificate though.

  5. Double-click the padlock symbol.
  6. On the Page Info dialog box that appears, click View. This displays the entity's certificate. If you click the Details tab, you will see the hierarchy of CAs from the one that issued the certificate up to the root CA.

    A Web site that was masquerading as the one you believe you've contacted could not fake a certificate, because no reputable CA, having checked up on them, would sign a certificate for them. And since the list of CAs in your browser includes only genuine, reputable CAs, there will be no match and your browser will reject their certificate.

    However, even for the most respectable organizations, you will sometimes find warning messages on the General tab saying that in some respects the certificate is faulty. This is because some detail on the certificate is incorrect - for example, the expiry date may have passed. It is up to you to look at the details on the certificate, and decide whether you trust the Web site despite this flaw.

Parent topic: Checking a Certificate
Parent topic: SSL and PKI Technology Primer
Previous topic: With Internet Explorer
Next topic: Exporting a Certificate from Internet Explorer


Exporting a Certificate from Internet Explorer

To export a certificate from Internet Explorer in the appropriate format, ready for importing into Firefox:

  1. In Internet Explorer click Tools > Internet Options.
  2. Go to the Content tab and double-click Certificates.
  3. Go to the Trusted Root Certificate tab and find the certificates marked Verisign Trust Network. There are several notable features of these certificates:
    1. There are multiple certificates and each one is unique.
    2. These different types of certificates are used to confirm the trust of different types of identification certificates.
    3. Some of these certificates have passed their expiry date. However they are still valid and should be present to prove the trust path for certificates that were signed during their working life span.
    4. Some of these certificates are direct replacements for expired or about-to-expire certificates.
    5. The life of the replacement certificates is typically far longer than that of the original certificates. Replacing certificates is problematic as it involves a significant amount of manual work and therefore distribution that is not often undertaken. To avoid the distribution complication it is in the interest of all identification certificate users to use certificates with a long life.
  4. Select a certificate and click Export.
  5. In Certificate Export Wizard, click Next.
  6. You choose the format required by your target browser. If you don't know the format required, you can generate a few of the most common formats and save them to different files, so that the correct format is available.

    Select DER encoded binary X.509 and click Next.

  7. Specify the <path>\DemoCA\Verisign as the name of the file to export to and click Next.
  8. On the final screen notice:
    • Export Keys is always "No” when handling CA root certificates.
    • Include all certificates in the certification path is always “No” when using file formats that cannot support multiple certificates. When using a server certificate signed by an intermediate CA you would usually export the complete chain of trust back to the fully trusted CARoot. In this case we would have chosen a different format at step 6.
    • File Format should match the filename extension in most cases,. Although there are times when various subformats such as .p7b and .p7c are interchanged to aid portability of the generated output file.
  9. Click Finish > OK and the file appears in the chosen directory.
  10. Close all the open IE dialog boxes.
Parent topic: Checking, Exporting and Importing Certificates Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: With Mozilla Firefox
Next topic: Importing a Certificate into Mozilla Firefox


Importing a Certificate into Mozilla Firefox

  1. In Firefox, go to Tools > Options.
  2. Go to the Advanced tab and the Security sub-tab and click View Certificates.
  3. Go to the Authorities tab and click Import. Note that different tabs show different files without an extension indicating that they are native format
    • Files with a .p12 extension are shown without the extension when you import from the Your Certificates tab
    • Files with a .cer are shown without the extension when you import from the other certificate type tabs

    This emphasises the value of understanding how the different types of certificate usage affect the type of file being used to transport a certificate. Other certificate stores may have different rules about formats. It is worth investigating they destination locations requirements before attempting to create certificate files for their use.

  4. Specify the file that you exported from Internet Explorer.

    A message should popup telling you that this certificate already exists. This confirms that file was correctly formatted and read by the import tool.

Parent topic: Checking, Exporting and Importing Certificates Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Exporting a Certificate from Internet Explorer


Certificates

  • Certificate and Key Formats
  • Don't Edit Certificates and Key Files
  • To Convert Certificate Formats
  • Multiple PEM Format Certificates
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: Certificate and Key Formats


Certificate and Key Formats

Certificates are often known as X.509 certificates, since X.509 is the standard that defines their context and layout. The commonest algorithms for creating public and private keys are RSA and DSA, and keys are often referred to as RSA keys or DSA keys. None of these, however, define the format of the file in which a certificate or key is held. There are many rival formats for these files. Some of the commonest standard formats are:

  • DER. This format can contain private keys (RSA or DSA), public keys (RSA or DSA) and X.509 certificates. It is headerless. It is the default format for most browsers. A file can contain only one certificate. Optionally the certificate can be encrypted. The standard extension is .cer, but might be .der in some installations.
  • PEM. This format can contain private keys (RSA or DSA), public keys (RSA or DSA) and X.509 certificates. It is the default format for OpenSSL. It stores the data in either ASN.1 or DER format, surrounded by ASCII headers, so is suitable for sending files as text between systems. A file can contain multiple certificates. The standard extension is .pem.
  • PKCS#12. This is also known as PFX. This format can contain private keys (RSA or DSA), public keys (RSA or DSA) and X.509 certificates. It stores them in a binary format. The standard extension is .pfx or .p12.
  • PKCS #7. This is the Cryptographic Message Syntax Standard. A file can contain multiple certificates. Optionally they can be hashed. Optionally a certificate can be accompanied by a private key. As well as the original PKCS #7, there are three revisions: a, b, and c. The standard extensions for these four versions are .spc, .p7a, .p7b and .p7c respectively.
Parent topic: Certificates
Parent topic: SSL and PKI Technology Primer
Previous topic: Certificates
Next topic: Don't Edit Certificates and Key Files


Don't Edit Certificates and Key Files

You must never edit the contents of a certificate or keyfile. If you change anything within a certificate, any SSL software examining the certificate to authenticate your identity will detect it has been tampered with and declare it invalid.

A keyfile, and in certain circumstances a certificate file, will always be protected by its own security pass phrase. This pass phrase prevents certificate and key file management tools from making unauthorized access to the file content.

Parent topic: Certificates
Parent topic: SSL and PKI Technology Primer
Previous topic: Certificate and Key Formats
Next topic: To Convert Certificate Formats


To Convert Certificate Formats

To convert certificate formats, use openssl.exe, as follows:

  • To convert binary-only PKCS7 (.p7 .p7a .p7b .p7c) files as output from Windows Internet Explorer Certificate Manager, with single or multiple certificate content, and generate human readable text content in the output file:
        openssl pkcs7 -inform DER -in filename.p7b -text -print_certs -out outfilename.pem

    For example:

    openssl pkcs7 -inform DER -in IECert.p7b -text -print_certs -out IECert.pem
  • To convert binary-only PKCS7 files as output from Windows Internet Explorer Certificate Manager, with single or multiple certificate content, and generate only binary content in the output file leave out the “-text” element:

openssl pkcs7 -inform DER -in filename.p7b -text -print_certs -out outfilename.pem

    Example:

    openssl pkcs7 -inform DER -in IECert.p7b -text -print_certs -out IECert.pem

    When handling many certificates in one file you might encounter issues of space being taken for the descriptive text content. In these circumstances you may wish to remove the text content, however this is not recommended for normal use as it make handling of the certificates harder because their content is not immediately viewable.

    Some applications do not accept X509v3 certificates when accompanied by a text description within the certificate file. You can overcome this for most applications, by editing the certificate to trim the text sections, but take care to leave intact the lines beginning and terminating the binary certificate data.

  • To convert PEM to PKCS#12 (to install in a Web browser or for storage):
    • If your PEM-format certificate and key are both in one file, use:
      openssl pkcs12 -export -in pem-cert-and-key-file -out pkcs12-cert-and-key-file
    • If they are in separate files, use:
      openssl pkcs12 -export -in pem-cert-file -inkey pem-key-file -out pkcs12-cert-and-key-file

    Both these commands put the certificate and keyfile into one file. If you intend to store your private key and certificate together in this fashion you should apply a pass phrase to the resultant file.

  • To convert PKCS#12 to PEM:

    • openssl pkcs12 -in pkcs-12-cert-and-key-file -out pem-cert-and-key-file
  • To convert ASN.1 PEM files to DER PEM :
    • If the PEM file contains DSA keys, use:
      openssl dsa -inform PEM -outform DER -in pem-file -out der-file
    • If it contains RSA Keys, use:
      openssl rsa -inform PEM -outform DER -in pem-file -out der-file
  • To convert DER (.cer in most implementations) to PEM:
    • If the DER file contains DSA keys, use :
      openssl dsa -inform DER -outform PEM -in der-file -out pem-file
    • If it contains RSA Keys, use:
      openssl rsa -inform DER -outform PEM -in der-file -out pem-file
Parent topic: Certificates
Parent topic: SSL and PKI Technology Primer
Previous topic: Don't Edit Certificates and Key Files
Next topic: Multiple PEM Format Certificates


Multiple PEM Format Certificates

Normally there is only one certificate in a file. OpenSSL generally assumes this is the case, so it ignores any after the first when handling server and client certificates.

However, a file can contain multiple PEM and PKCS7 format certificates. This is useful for storing a bundle of the root certificates of the CAs you trust, or a certificate verification chain. To use the certificates, you will need to split the file into one file per certificate.

You can split the file using a text editor, but you must take care to not change the data for each individual certificate. Each certificate takes the following format and is terminated by the END CERTIFICATE line:

optional-header-info
------BEGIN optional-text CERTIFICATE-----
...
------END optional-text CERTIFICATE-----

As long as you do not change or break up the data within the BEGIN and END lines, the certificate itself is complete. A certificate is rendered useless unless it retains its binary composition that was created when it was originally signed.

Parent topic: Certificates
Parent topic: SSL and PKI Technology Primer
Previous topic: To Convert Certificate Formats


Standards and Organizations

  • X.509
  • PKCS Standards
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: X.509


X.509

The most important standard for PKI's is X.509, which defines the format and content of digital certificates and how to validate them. It is an International Telecommunications Union (ITU) Recommendation, published as ITU-T X.509 and ISO/IEC/ITU 9594-8.

Standards are still evolving, and different companies have implemented it in different ways. For example, Netscape and Microsoft both use X.509 certificates in their Web servers and browsers, but an X.509 certificate created by Netscape may not be readable by Microsoft products, and vice versa.

Parent topic: Standards and Organizations
Parent topic: SSL and PKI Technology Primer
Previous topic: Standards and Organizations
Next topic: PKCS Standards


PKCS Standards

There is a set of de facto cryptographic message standards called Public Key Cryptography Standards (PKCS) which were originally developed and are still maintained by RSA Laboratories. (For more detailed information, see the Web page at RSA Laboratories.

The standards that are most relevant to PKI are:

  • PKCS #7, Cryptographic Message Syntax Standard. A general syntax for data to which cryptography can be applied, such as digital signatures and encryption. It also provides a syntax for disseminating certificates or certificate revocation lists (CRLs).
  • PKCS #10, Certification Request Syntax Standard. Provides a format for a request for a certificate.
  • PKCS #12, Personal Information Exchange Syntax Standard. Primarily provides a format for storing keys or a certificate in a file.
Parent topic: Standards and Organizations
Parent topic: SSL and PKI Technology Primer
Previous topic: X.509


Some Common Algorithms: Overview

This topic names some of the best known encryption algorithms, and describes how to choose what algorithm to use.

  • Algorithms and Key Lengths
  • Choosing an Algorithm
  • Symmetric Algorithms
  • Asymmetric Algorithms
  • Hashing
  • Digital Signatures
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: Algorithms and Key Lengths


Algorithms and Key Lengths

Two things that your SSL software may let you choose are the algorithm and the key length to be used for encryption. One thing to consider in choosing is how easy the code will be to crack.

In general, for the same algorithm, the longer the key the harder the code is to break. This is simply because a would-be attacker can easily use a computer to try key after key until hitting on the right one. The longer the key, the longer it takes to generate all possible numbers of that length, looking for the right one. You need a key that is so long that even with the most powerful computers this would take an impracticably long time.

Of course, computers are constantly becoming more powerful. Therefore, the length of key considered necessary is constantly increasing as the years pass. At the time of writing (early 2005), a key length of 128 bits is generally considered adequate for reasonable security using a symmetric algorithm, while with an asymmetric algorithm 2048 bits is considered adequate.

Parent topic: Some Common Algorithms: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Some Common Algorithms: Overview
Next topic: Choosing an Algorithm


Choosing an Algorithm

In choosing which algorithm to use, there are several factors to consider.

Cryptography, the invention of new algorithms and of ways to break the codes they create, is a branch of mathematics that is constantly advancing. Attempts to crack a particular algorithm are often undertaken by serious researchers anxious to confirm whether the algorithm is really secure.

It may be possible for an expert cryptographer to find a mathematical way of breaking an algorithm, or it may be vulnerable to a "brute force" attack - just trying different keys until the correct one is found.

Just because an algorithm has been cracked in the past does not necessarily mean you must not use it - you should consider whether your data is valuable enough to tempt a hacker to devote the resources that have been shown to be needed to crack it.

Two problems with all symmetric algorithms are that the key has to be known to both sender and receiver, and so it could be intercepted when being sent from one to the other; and that if the same key is used for all your messages, any eavesdropper who finds out the key can decrypt all your messages.

Parent topic: Some Common Algorithms: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Algorithms and Key Lengths
Next topic: Symmetric Algorithms


Symmetric Algorithms

In this section we briefly describe some of the best-known symmetric (secret key) algorithms.

A symmetric algorithm that treats the message to be encrypted as a continuous stream of bits is called a stream cipher. A symmetric algorithm that splits the message up into chunks and encrypts each chunk is called a block cipher. The only stream cipher to have been widely used is RC4.

  • RC4
  • DES
  • Triple DES
  • AES
  • Blowfish
  • Twofish
Parent topic: Some Common Algorithms: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Choosing an Algorithm
Next topic: RC4


RC4

RC4 was designed by Ron Rivest of RSA Security in 1987. It stands for "Rivest Cipher 4", or alternatively for "Ron's Code". RC4 is a widely-used cipher. (There are related algorithms RC2, RC5 and RC6.)

Parent topic: Symmetric Algorithms
Parent topic: SSL and PKI Technology Primer
Previous topic: Symmetric Algorithms
Next topic: DES


DES

One of the most well-known secret key algorithms is the US Data Encryption Standard (DES). It was published in 1977. In the past the US government encouraged users to adopt this as the main or only secret key algorithm in use. In 1998, it was shown that a dedicated hacker with moderate computer power can crack it (see EFF DES cracker project), but it is often considered secure enough for some trivial uses. It is to be replaced as a US standard by the Advanced Encryption Standard (AES).

DES uses a fixed key length of 64 bits. Of these, 8 are used for parity, so in effect the key is 56 bits long.

Parent topic: Symmetric Algorithms
Parent topic: SSL and PKI Technology Primer
Previous topic: RC4
Next topic: Triple DES


Triple DES

A variation on DES is simply to encrypt the message three times in succession, using DES. One long key is split into three shorter keys, one for each encryption, so the overall key length is three times that of regular DES. Triple DES is usually written as 3DES. It is considered secure enough for most uses

Parent topic: Symmetric Algorithms
Parent topic: SSL and PKI Technology Primer
Previous topic: DES
Next topic: AES


AES

This is US standard FIPS-197, and is designed as a replacement for DES. It uses an algorithm designed by Joan Daemen and Vincent Rijmen (see csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael-ammended.pdf, and known as the Rijndael algorithm.

AES is currently considered secure for commercial use.

Parent topic: Symmetric Algorithms
Parent topic: SSL and PKI Technology Primer
Previous topic: Triple DES
Next topic: Blowfish


Blowfish

This was developed by Bruce Schneier of Counterpane Labs. It is used in a great many products, and is standard in the OpenBSD operating system. For details see www.counterpane.com/blowfish.html.

Blowfish is currently considered secure for commercial use.

Parent topic: Symmetric Algorithms
Parent topic: SSL and PKI Technology Primer
Previous topic: AES
Next topic: Twofish


Twofish

This too was developed by Bruce Schneier, and is efficient when implemented in hardware and smart cards. For details see www.counterpane.com/twofish.html.

Twofish is currently considered secure for commercial use.

Parent topic: Symmetric Algorithms
Parent topic: SSL and PKI Technology Primer
Previous topic: Blowfish
Next topic: Asymmetric Algorithms


Asymmetric Algorithms

The two best known asymmetric (public key) algorithms are D-H and RSA.

  • Diffie-Hellman (D-H)
  • RSA
Parent topic: Some Common Algorithms: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Twofish
Next topic: Diffie-Hellman (D-H)


Diffie-Hellman (D-H)

Whitfield Diffie and Martin Hellman were the first to show, in a paper published in 1976, that a code could be devised that was encoded using one key and decoded using another.

James Ellis wrote a paper in 1970 on similar work done by himself and Clifford Cocks, but it was covered by the UK's Official Secrets Act, and was not published until many years later.

Using the Diffie-Hellman (D-H) algorithm, one key is specifically for encryption and the other for decryption - you can't use them the other way around. This makes it unsuitable for a PKI system as normally used.

Parent topic: Asymmetric Algorithms
Parent topic: SSL and PKI Technology Primer
Previous topic: Asymmetric Algorithms
Next topic: RSA


RSA

It was Ron Rivest, Adi Shamir, and Leonard Adleman who later developed an algorithm where you could use either key to encrypt. This is known as the RSA algorithm. This made possible the full use of asymmetric encryption for the purposes we have discussed - certificates, non-repudiation, etc, as well as confidentiality - and thus made PKI systems possible.

Parent topic: Asymmetric Algorithms
Parent topic: SSL and PKI Technology Primer
Previous topic: Diffie-Hellman (D-H)
Next topic: Hashing


MD5

This is probably the most commonly used hash function. It produces a 128-bit hash. It has largely superseded earlier MD functions (for example, MD2, MD4). It is defined in RFC1321.

MD5 has been shown to be vulnerable to collisions in some applications. It can still be used for most purposes in SSL, but SHA is now preferred for new applications.

Parent topic: Hashing
Parent topic: SSL and PKI Technology Primer
Previous topic: Hashing
Next topic: SHA


SHA

The Secure Hash Algorithm (SHA) is a US standard, developed by the National Institute of Standards and Technology (NIST). SHA-1 is a revised version, published in 1994. It produces a 160-bit hash, which is more secure than MD5's 128-bit hash. It is defined in RFC3174 .

There are several further revisions of SHA, described on the NIST Web site at www.csrc.nist.gov/cryptval/shs.htm.

It is expected that a revision of SHA will replace MD5 as the most popular hashing algorithm.

Parent topic: Hashing
Parent topic: SSL and PKI Technology Primer
Previous topic: MD5
Next topic: Digital Signatures


Digital Signatures

As explained earlier, a digital signature on a message consists of an encrypted hash of the message - first the message is hashed, and then the hash is encrypted using the private key of the signatory (usually a CA).

The recipient can check the signature by decrypting it using the signatory's public key, then hashing the message him/herself and comparing the two results.

Many methods of hashing are possible, combining different encryption algorithms with different hashing algorithms. One is particularly worth mentioning.

  • Digital Signature Standard (DSS)
Parent topic: Some Common Algorithms: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: SHA
Next topic: Digital Signature Standard (DSS)


Digital Signature Standard (DSS)

This is a US standard. It specifies that SHA-1 is to be used for the hashing, and a specially designed asymmetric algorithm called Digital Signature Algorithm (DSA) is to be used for the encryption. DSA can only be used for signing, not for other encryption.

Parent topic: Digital Signatures
Parent topic: SSL and PKI Technology Primer
Previous topic: Digital Signatures


Definitions for OpenSSL

  • Overview
  • Base64 Encoding
  • SSLeay
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: Overview


Overview

Abstract Syntax Notation number One (ASN.1) is a notation used extensively by standards committees and other bodies for defining protocols for use in data communications. It resembles a programming language, but consists mostly of features for defining data structures. There are various data types, and syntax for building up complex data structures out of these elementary types. You might think of a protocol specification written in ASN.1 as resembling the Data Division of a COBOL program, although the actual syntax of the language is more like C.

You may well never see an example of ASN.1, since it is for use in defining protocols, and even protocols themselves tend to be things that the user does not see directly. Nevertheless, ASN.1 is very widely used, and a great many electronic devices in every day use - from air traffic control systems to washing machines - use data transmission protocols that were designed using ASN.1.

Many of the standards used in SSL that we have been discussing were designed in ASN.1, and consequently you will sometimes come across ASN.1 terminology when reading about SSL. This is especially true of the documentation for OpenSSL. Although as an end-user, or as a COBOL developer, you are unlikely to come directly in contact with these concepts, you will find the OpenSSL documentation easier to follow if we explain some of them.

  • ASN.1 Compiler
  • Encoding Rules
  • Distinguished or Canonical Encoding Rules
  • Object Identifiers
  • Octets
  • UTF8String
  • Further Information
Parent topic: Definitions for OpenSSL
Parent topic: SSL and PKI Technology Primer
Previous topic: Definitions for OpenSSL
Next topic: ASN.1 Compiler


ASN.1 Compiler

People who are implementing protocols designed in ASN.1 often use an ASN.1 compiler, which translates a protocol specification from ASN.1 into source code in a programming language. For the C programming language, for example, the compiler would probably output a C header file (similar to a COBOL copyfile), for inclusion in a C program.

Parent topic: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Overview
Next topic: Encoding Rules


Encoding Rules

A protocol specification in ASN.1 specifies the data structures in a source-like, human-readable way. It says nothing about how those data structures are to be represented when actually transmitted. The bodies responsible for defining ASN.1 have defined encoding rules, which specify how each data structure that you can specify in ASN.1 is to be represented as a bit pattern.

There are in fact several alternative sets of encoding rules that the committees have designed over the years. The earliest set is called the Basic Encoding Rules (BER), and a later one, which produces much more compact messages, is called the Packed Encoding Rules (PER).

Parent topic: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: ASN.1 Compiler
Next topic: Distinguished or Canonical Encoding Rules


Distinguished or Canonical Encoding Rules

Clearly a set of encoding rules must be such that any particular bit pattern corresponds to just one ASN.1 data structure - otherwise software receiving a message would not know which data structure to interpret the bit pattern as. However, the reverse is not necessarily the case - no ambiguity is caused if several different bit patterns can represent the same ASN.1 data structure.

Nevertheless, in some applications, if different bit patterns can represent the same ASN.1 data structure, it does cause problems. For these applications, it's desirable to have a set of encoding rules where each ASN.1 data structure converts to just one bit pattern, and vice versa. This is especially true in secure communications, because if you are digitally signing messages you need semantically equivalent messages to always have the same encoding.

Such a set of encoding rules is called canonical, or distinguished. Two such sets of rules have been developed - one was named the Distinguished Encoding Rules (DER) and the other was named the Canonical Encoding Rules (CER). CER has not caught on, and is very seldom used. However, the standard file extension for a file containing DER is .cer.

In reading documentation of OpenSSL, you will often see mentions of data stored in DER format.

Parent topic: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Encoding Rules
Next topic: Object Identifiers


Object Identifiers

An important data type in ASN.1 is the object identifier. An object identifier (OID) is a reference number, unique in the world, that can be allocated to, in principle, any object; in practice, to any object that can be represented as a set of information. The object identifiers form a tree structure, which you can access at Object identifier tree. The branches of the tree are referred to as arcs, and various organizations have been allocated responsibility for assigning nodes in particular parts of the tree to anyone who requests one, to represent particular objects.

Each node has a number, and optionally, a name. An object's OID is the list of numbers representing the nodes in the tree from the root to that object's own node. They are normally shown enclosed in braces and separated by spaces. If a node's name is shown as well, the node's number is normally shown in parentheses. Only the numbers are intended to be machine-readable - the names are there to be human-readable.

Parent topic: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Distinguished or Canonical Encoding Rules
Next topic: Octets


Octets

COBOL programmers are used to working with memory physically organized into groups of eight bits, and calling these groups bytes. However, in communications, where we are talking about a continuous stream of bits on the wire, each group of eight bits is called an octet.

The ASN.1 encoding rules define four types of octet: identifier octet, length octet, contents octet, and end-of-content octet. There's no need to go into detail here about exactly how these are used (it's different for different encoding rules anyway); it suffices to say that the contents octets contain the actual data, while the others are needed for the syntax of the encoded bit-stream.

Parent topic: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Object Identifiers
Next topic: UTF8String


UTF8String

ASN.1 has a number of different string data types. They differ in the range of characters they can support, and in how many octets are used to represent each character.

The string data type you will see mentioned most often is the UTF8String. This is the best data type for internationalization. UTF8 stands for UCS Transformation Format, 8-bit (where UCS stands for Universal Character Set). It in fact uses a variable-length encoding. The original ASCII characters have exactly the same encoding as in ASCII itself, using 7-bits, and with the top bit set to zero. All other characters have the top bit set to 1. Because the encoding is variable length, all known characters can be represented.

Parent topic: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: Octets
Next topic: Further Information


Further Information

For detailed information on ASN.1, see ASN.1 Information Site

The formal standards documents on ASN.1 and its encoding rules are published by the International Telecommunications Union Telecommunications Sector (ITU-T) and International Standards Organization (ISO) / International Electrotechnical Commission (IEC).

Parent topic: Overview
Parent topic: SSL and PKI Technology Primer
Previous topic: UTF8String
Next topic: Base64 Encoding


Base64 Encoding

The bit patterns produced by the encoding rules described above are unlikely, in general, to correspond to printable characters. But sometimes it's convenient to represent the encoded data in printable form. This can be done by converting it to base64 encoding.

Base64 is a scheme for converting binary data to printable ASCII characters, namely the upper- and lower-case Roman alphabet characters (A–Z, a–z), the numerals (0–9), and the "+" and "/" symbols, with the "=" symbol as a special suffix code.

The data's original length must be a multiple of eight bits. To convert data to base64, the first byte is placed in the most significant eight bits of a 24-bit buffer, the next in the middle eight, and the third in the least significant eight bits. If there are fewer than three bytes to encode, the corresponding buffer bits will be zero. The buffer is then used, six bits at a time, most significant first, as indices into the string "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" and each character thus selected is output.

This is repeated until the input data is exhausted. If at the end only one or two input bytes remain, then only the first two or three characters of the output are used, and the output is then padded with two or one "=" characters respectively. This prevents anyone adding extra bits to the reconstructed data.

The resulting base64-encoded data is approximately 33% longer than the original data, and typically appears as seemingly random characters.

Base64 encoding is specified in full in RFC 1421 and RFC 2045.

Many of the commands provided by the openssl.exe utility can convert between normal binary encoding and base64 encoding.

Parent topic: Definitions for OpenSSL
Parent topic: SSL and PKI Technology Primer
Previous topic: Further Information
Next topic: SSLeay


SSLeay

The Open SSL documentation occasionally mentions SSLeay, mainly where it needs to discuss compatibility of OpenSSL with SSLeay.

After SSL was first introduced by Netscape, an independent implementation of it was developed, the SSLeay library by Eric A. Young and Tim Hudson. This was released in 1995. OpenSSL is based on this SSLeay library.

Parent topic: Definitions for OpenSSL
Parent topic: SSL and PKI Technology Primer
Previous topic: Base64 Encoding


Attacks

  • Terminology
  • Brute Force Attack
  • Dictionary Attack
  • Replay Attack
  • Man-in-the-Middle Attack
  • Truncation Attack
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: Terminology


Terminology

A message sent unencrypted is said to be in cleartext or plaintext. A message sent encrypted is said to be in ciphertext.

The US government used to restrict the strength of encryption it allowed to be included in software for export - beyond a certain strength, encryption is regarded as of military value. In January 2000 these restrictions were mostly removed. Nevertheless a lot of encryption software still exists that was designed in that period to be exportable. The term "export cipher" means an algorithm and key length designed to be exportable under these regulations.

The information given here is believed to be correct at the time of writing, but remember that typical computer power and legal requirements are constantly changing.

The word "cipher" is often used to mean an encryption algorithm. A particular algorithm with a particular key length is often referred to by the algorithm's abbreviated name followed by a hyphen and the key length. For example, RC4-40 means "Rivest Cipher 4 with 40-bit keys".

Short keys are usually called small or weak keys.

Parent topic: Attacks
Parent topic: SSL and PKI Technology Primer
Previous topic: Attacks
Next topic: Brute Force Attack


Brute Force Attack

This consists of simply going through every possible key, deciphering the ciphertext with each key, and trying to find some recognizable cleartext in the result. If you use a 128-bit key there are 2128 possible keys.

A would-be code-breaker would regard this type of attack as the last resort, to be used only if there is no feature - that is, weakness - of the cipher that makes possible some more intelligent attack. A cipher that forces the code-breaker to resort to this method is a strong cipher.

However, ciphers that use weak (small) keys are susceptible to brute force attack, in particular RC4-40, RC2-40 and DES-56. There have been many successful brute force attacks against RC4-40 since its release in February 1995.

A brute force attack against ciphers with 128 bits or more is probably impractical in the foreseeable future.

Parent topic: Attacks
Parent topic: SSL and PKI Technology Primer
Previous topic: Terminology
Next topic: Dictionary Attack


Dictionary Attack

This type of attack can be used when the attacker knows or guesses some part of your original message. In the case of a protocol, this may be easy - for example, in HTTP messages the "get" command often appears.

The attacker takes the known cleartext and encrypts it using every possible key. The resulting set of ciphertexts is saved. This set of saved ciphertexts is called a dictionary.

When the attacker gets hold of an encrypted message, he or she searches it for occurrences of any of these ciphertexts. When a match is found, then the key that gave that ciphertext must be the key that was used to encrypt the whole message.

SSL protects you from this kind of attack by using various technical measures that ensure the same plain text produces different ciphertext each time.

Parent topic: Attacks
Parent topic: SSL and PKI Technology Primer
Previous topic: Brute Force Attack
Next topic: Replay Attack


Replay Attack

In a replay attack, an attacker records an exchange of messages between a client and server and tries to recreate the exchange later by resending the client messages to the server.

To prevent this, SSL has a nonce number. This is a connection-id, which the server generates as a random number and sends to the client together with the server certificate. Since the nonce is different for each session, someone resending the old set of client messages cannot fool the server into thinking they are a new set. SSL nonces are 128 bits long.

Parent topic: Attacks
Parent topic: SSL and PKI Technology Primer
Previous topic: Dictionary Attack
Next topic: Man-in-the-Middle Attack


Man-in-the-Middle Attack

In a man-in-the-middle attack, an attacker intercepts messages and modifies them, and then passes them on to the intended recipient.

SSL's system of certificates and private keys prevents this. An attacker would have to fake a certificate and somehow get it signed with a CA's key.

Parent topic: Attacks
Parent topic: SSL and PKI Technology Primer
Previous topic: Replay Attack
Next topic: Truncation Attack


Truncation Attack

In a truncation attack, an attacker inserts into a message a TCP code indicating the message has finished, thus preventing the recipient picking up the rest of the message.

To prevent this, SSL from version v3 onward has a closing handshake, so the recipient knows the message has not ended until this has been performed.

Parent topic: Attacks
Parent topic: SSL and PKI Technology Primer
Previous topic: Man-in-the-Middle Attack


Designing a PKI

  • General Points
  • Client Certificates
  • Security
Parent topic: SSL and PKI Technology Primer
Parent topic: SSL and PKI Technology Primer
Next topic: General Points


General Points

  • Don't design a PKI with a particular application in mind - rather, think of it as a fundamental part of your organization's general data processing setup. If you design it for use with a particular application, you are likely to find it inflexible when you try to use it with other applications.
  • Authentication doesn't imply authorization. Just because someone has the necessary keys to access your data, that doesn't mean they necessarily should be allowed access to all your data. You should still have other mechanisms, for example an access control list (ACL), to ensure people can only access data appropriate to their position.
  • You should make people change their keys from time to time, by applying for new certificate/key pairs. That way if a private key is stolen without anyone noticing, at least it will become useless to the thief next time the certificate/key pair is changed.

    This applies to all private keys - client keys, server keys, subordinate CA keys, and root CA keys.

    The easiest way to enforce this is to include expiry dates in certificates.

  • There are many ways of structuring your tree of trust. Should there be just one root CA, or several? Should subordinate CAs be able to grant CA certificates to other subordinate CAs, or should only root CAs be able to do this?
  • Will your CAs sometimes need to revoke certificates? The commonest way to do this is for a CA to maintain a certificate revocation list (CRL), a list of certificates it has granted and later revoked (they can be deleted from the list once they expire). Users can obtain the CRL and install it in their SSL software.
  • Will users generate their own private keys? In some setups, the CA generates both the certificate and the private key for the user. This saves the ordinary user needing to know how to create a certificate signing request (many of the major CAs on the Web are willing to work in this way) but it means the private key must somehow be conveyed securely to the user. To obtain the maximum security benefit of asymmetric encryption - that the private key is never sent anywhere, so can't be listened in on - the user should him/herself use openssl.exe to create a private key and the matching certificate signing request, and send the latter to the CA, so the CA can create the certificate.
  • It may be an advantage to have all certificate requests handled by your subordinate CA machines. Then your root CA machine only needs to be online when you are using it to certify subordinate CAs. After that it can be taken offline, or at least its private key can be stored offline, until you need it to certify more subordinate CAs. This can greatly improve the security of the root CA, by reducing to a minimum the times when it could be accessed illicitly. It also means the users are not dependent on a single machine, the root CA machine, to keep functioning.

    It will still be possible - and simpler - to have your users install the root CA's certificate in their browsers (or whatever SSL-enabled software they use) rather than the certificates of all the subordinate CAs.

  • If you want really tight control, you might want to delete from your Web browser all the CA certificates that have been installed by default, and install just certificates of your own choosing - from your own CA, if you are setting up a private PKI. However you'd have to think carefully about the effect on accessing other Web sites outside your PKI.
  • If as a Web site owner you want the benefits of non-repudiation, that is, you want to be able to prove that data really was sent to you from a particular client, then you should use full authentication - you can if you wish generate client certificates for your clients (acting as a CA to this extent) and send the clients their certificates for them to store and use. Remember your clients will need to understand how to install these personal certificates in their software, e.g. their browsers.
  • It's worth pointing out a few features of the "world-wide" PKI used on the World Wide Web, which you may or may not choose to emulate in your own PKI:
    • It uses server-only authentication - although there's nothing to stop a particular online service arranging with its known clients that they should have to have certificates.
    • All CAs are equally trusted - there's no concept of some being trusted more than others.
  • When a certificate/keyfile pair is created, you can create pass phrases to protect them. It's essential to protect the keyfile in this way, because a private key is extremely sensitive information and every form of security available should be used to protect it. However, a certificate is intended to be available to anyone who wants to see it, so it's seldom appropriate to protect it in this way.

Parent topic: Designing a PKI
Parent topic: SSL and PKI Technology Primer
Previous topic: Designing a PKI
Next topic: Client Certificates


Client Certificates

In looking at certificates installed in Web browsers, you may have noticed that (using Internet Explorer terminology, but the situation is the same with any Web browser) the Personal and Other People's lists are empty or nearly empty, while the Intermediate CA and Trusted Root CA lists contain many entries.

This is a fairly typical situation. As an ordinary Web user, you probably don't actually need a certificate of your own - Web businesses such as online banks and shops generally use server-only authentication. As for Other People's, you could install server certificates sent to you by such online businesses, but it's generally unnecessary as these businesses send their certificates in the initial hand-shake of any communication session. It's much more necessary to have CA certificates installed, since these are needed to validate the certificates these businesses send you.

You might sometimes find it useful to install an entity's client certificate, if you communicate with them peer-to-peer rather than client/server.

Parent topic: Designing a PKI
Parent topic: SSL and PKI Technology Primer
Previous topic: General Points
Next topic: Security


Security

The security of your CA and RA machines is vital.

Remember you need to ensure reliability and availability, as well as confidentiality and trustworthiness.

Remember that SSL protects data only while it is in transit - once it has been received and stored, it is no longer encrypted, and so you need to look to other methods to ensure it remains confidential.

  • Controlling Network Access
  • Controlling Physical Access
  • Backups
Parent topic: Designing a PKI
Parent topic: SSL and PKI Technology Primer
Previous topic: Client Certificates
Next topic: Controlling Network Access


Controlling Network Access

You will of course need to protect your machines with a firewall and with virus scanning, and require any user accessing the machines remotely (if you allow this at all) to login, giving their user ID and password.

It's advisable to have the latest version of your operating system - the security features are usually improved at each upgrade.

Parent topic: Security
Parent topic: SSL and PKI Technology Primer
Previous topic: Security
Next topic: Controlling Physical Access


Controlling Physical Access

You should certainly require anyone using your CA and machines locally on to login, giving their user ID and password, and you should probably control access to the computer room too, so that no-one authorized can even get to the machine.

Also ask yourself about other ways an interloper could get in. Could someone insert an USB device between the printer and the system? Could someone run code from an I/O device? Could someone trick their way into your site by talking to the people who work there, finding out how they work, and emulating them?

Parent topic: Security
Parent topic: SSL and PKI Technology Primer
Previous topic: Controlling Network Access
Next topic: Backups


Backups

The private keys of your CA machines are vital. Keep them backed up to guard against accidental loss - but keep the backups every bit as secure as the system itself, to guard against them being stolen.

Parent topic: Security
Parent topic: SSL and PKI Technology Primer
Previous topic: Controlling Physical Access


Secure Communications (SSL) Legal Information

OpenSSL Acknowledgment

The SSL support provided by the Micro Focus Security Pack is based on OpenSSL.

The OpenSSL project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit and its related documentation.

For further information, see the OpenSSL home page at http://www.openssl.org .

Usage and Export

The ability to send messages in an encrypted form is regarded in some parts of the world as being of military value, and therefore is subject in some countries to legal restrictions and export controls.

Important:

Therefore it may be illegal to use or export SSL or PKIs in or to some countries. You must check the legal position in your country.

Restrictions on Algorithms and Key Lengths

Some encryption or hashing algorithms available in OpenSSL are under patent. Micro Focus has, to the best of its knowledge, not included these in the SSL support included with this COBOL system.

The use of some key lengths may be legally restricted in some countries, because longer key lengths give stronger protection, and therefore may be considered of military value.

Important:

We recommend you take the advice of your own legal department, especially regarding conditions in your country, and especially if you will be shipping products of your own incorporating these features.

Parent topic: Securing Communications
Parent topic: Copyright and Legal Information


Enterprise Server License Messages

Enterprise Server issues messages on your licenses in the console log, which you can view from the Enterprise Server Administration console:

  • CASSI1002S Server manager initialization failure, no valid license found
    There is no Enterprise Server license installed.
  • CASKC1000I ES concurrent request limit: number
    This shows the number of user requests that your enterprise server is permitted to process concurrently.
  • CASKC1001W Warning: Concurrent request limit exceeded number times
    Your Enterprise Server license permits you to process a limited number of user requests concurrently. You have exceeded this limit.
  • CASKC1002I ES concurrent request limit: number, actual: number
    This states the maximum number of user requests that were processed by the enterprise server concurrently during the session. This message is displayed when you stop the enterprise server and also when the maximum number of concurrent user requests is exceeded.
Parent topic: Enterprise Server


Mainframe Support for Deployed Applications

  • MSS Configuration and Administration
    Mainframe Subsystem Support (MSS) enables CICS, IMS and JCL applications that have been migrated from the mainframe to be maintained, developed and deployed on Windows .
  • CICS Support Tasks
  • JCL Support Tasks
  • IMS Support Tasks
  • Reference for MSS Deployment
    Contains information on general and CICS commands, data conversion, resource definitions, and supplied transactions.


MSS Configuration and Administration

  • Introduction to Mainframe Subsystem Support
  • CICS Support
  • IMS Support
  • JCL Support
  • Using Fileshare
  • Running EZASOKET Applications on Enterprise Server
Parent topic: Mainframe Support for Deployed Applications


Introduction to Mainframe Subsystem Support

  • What is Mainframe Subsystem Support?
  • Licensing
  • Developing and Testing the Application
  • Running the Application
  • Event Manager
  • About SSTM
    Describes the Subsystem Started Task Manager
  • To enable JCL support from a CICS or IMS subsystem
    Describes how to enable JCL support from within a CICS or IMS subsystem.
  • Security implications with the SSTM subsystem
    Describes the access rights that the user ID needs in order to use SSTM
  • SSTM subsystem status messages
    Describes status messages associated with the SSTM subsystem
Parent topic: MSS Configuration and Administration


What is Mainframe Subsystem Support?

Mainframe Subsystem Support (MSS) is a facility that enables CICS, IMS and JCL applications that have been migrated from the mainframe to be maintained, developed and deployed on Windows platforms.

You use the COBOL development system reUZE Developer for maintaining your CICS, IMS and JCL applications. If you are working with CICS, you can edit and compile BMS maps, and also compile the CICS programs, using the Micro Focus CICS preprocessor, which translates the CICS commands into native code. If you are working with IMS, you can edit and generate your DBDs, MFSs and PSBs, and compile your IMS programs. If you are working with JCL, you can edit and create JCL, and build projects containing the programs that the JCL references. When the application is ready to run, you then deploy it to the COBOL run-time server reUZE Server.

You use reUZE Server for running your CICS, IMS and JCL applications, for testing and for production use. Server Enterprise Edition also provides facilities for monitoring and controlling your applications and for other tasks such as maintaining CICS resource definitions and viewing the system catalog and spool queues.

Parent topic: Introduction to Mainframe Subsystem Support


Licensing

For information about development licensing, see your Licensing topics. For information about deployment licensing, see Deployment Licensing.

Parent topic: Introduction to Mainframe Subsystem Support


Developing and Testing the Application

The process used by developers using Studio Enterprise Edition as the development environment with Enterprise Server as the deployment environment is as follows:

  1. Use Studio Enterprise Edition to maintain and compile BMS mapsets for CICS or generate DBDs, MFSs and PSBs for IMS.
  2. Use Studio Enterprise Edition to maintain resource definitions.
  3. Maintain and compile CICS, IMS and JCL programs in Studio Enterprise Edition.
  4. They deploy the application to Enterprise Server.
  5. They debug the application in the Studio Enterprise Edition IDE.

Steps 3 through 6 need to be repeated as required to get the application working correctly.

Developers need to have some familiarity with running programs in Server Enterprise Edition and the facilities provided therein specifically for monitoring CICS, IMS and JCL applications.

Parent topic: Introduction to Mainframe Subsystem Support


Running the Application

Once the application is working correctly, administrators look after the running and monitoring of the application in Enterprise Server. They need to:

  • Maintain resource definitions for CICS; they can do this in the development environment. The format is portable between environments. There are also import and export tools which enable the downloading of the definitions into a text file for more convenient editing.
  • Control and monitor the running of the application, within the context of Enterprise Server.

The administration tool ESMAC, Enterprise Server Monitoring and Control, provides facilities for maintaining resource definitions and monitoring and controlling CICS, IMS and JCL applications. Many of its facilities are also available for non-MSS applications running in Enterprise Server. For detailed information about running CICS, IMS and JCL applications in Enterprise Server, see the chapters Administering CICS-enabled Enterprise Servers , Administering IMS-enabled Enterprise Servers and Administering JCL-enabled Enterprise Servers.

You also need to use facilities in the main Enterprise Server interface. For more information see the main Enterprise Server Configuration and Administration Guide .

Parent topic: Introduction to Mainframe Subsystem Support


Event Manager

The JCL support in Mainframe Subsystem Support includes an event manager, which provides support for third-party products such as schedulers.

When an enterprise server is started, it can call a user exit program, which on this first call can register an interest in particular types of events (for example, abends). Then whenever an event of any of the registered types occurs, the event manager will call the user exit program to process it. This user exit program can be a third party tool, such as a scheduler.

For further information, please contact your sales representative.

Parent topic: Introduction to Mainframe Subsystem Support


About SSTM

The Subsystem Started Task Manager (SSTM) provides full JCL functionality within the CICS and IMS subsystems. This JCL functionality is equivalent to that of a task started under z/OS. Each subsystem type runs as follows:

  • A CICS (MSS) Region typically uses more than one SEP to process online transactions. In the CICS region, each SEP runs the same JCL using the same job name and number. Within the region, all CICS SEPs JCL job activities and their outputs can be found under this one job number.

    All of the CICS SEPs:
    • Share permanent datasets whether these are allocated via the JCL or via SVC99. The system does not provide any access serialization capabilities. Any non-read access to shared datasets must be serialized, if necessary, by the user.
    • Do not share in-stream (DD * and DD DATA) datasets
    • Do not share other datasets (temporary and SYSOUT datasets).
    • The joblog dataset will contain JCL logged activity incurred by all CICS SEPs with identification of the originating SEPs process id.
  • An IMS subsystem uses one SEP for each Message Processing Region (MPR) and will typically have more than one MPR. Each MPR has a unique job number, but will very lilely have the same job name. Each MPR’s activity and outputs are independent as with batch jobs, and can be found under the MPR’s job number.
Parent topic: Introduction to Mainframe Subsystem Support


To enable JCL support from a CICS or IMS subsystem

In the Enterprise Server (ES) configuration, you enable JCL support by setting the ES_SSTM_ssss environment variable to a fully qualified path to the JCL used to initialize the SSTM Environment. In the environment variable,ssss is CICS or IMS depending on the environment that you want to initialise.
Note: The specified JCL job stream must contain only one step. A multiple step job is treated as an error and will fail SSTM initialization.
Note: Setting the SSTM is required for the CICS spooling facility. That is, if you want to use the CICS SPOOLOPEN OUTPUT, SPOOLWRITE, SPOOLCLOSE commands, etc.
From the Enterprise Server Administration Console, set the ES_SSTM_ssss to the fully qualified path of the JCL used to initialize the SSTM Environment.

Example settings

  • CICS environment:
    ES_SSTM_CICS=c:\es\sstm\jcl\sstmcics.jcl
  • IMS environment:
    ES_SSTM_IMS=c:\es\sstm\jcl\sstmims.jcl
The following is an example JCL code for CICS. In the code:
  • The program name in the PGM= entry must be syntactically correct, but it does not need to exist.
  • The DD OUTJCL is shared across CICS SEPs. The other DDs in the example are not shared, and are local to each SEP.
//SSTMJCL JOB 'CICS JOB',MSGCLASS=A
//CICS     EXEC PGM=NOTUSED
//SYSOUT   DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//TEMPJCL  DD DSN=&&TEMPJCL,DISP=NEW
//OUTJCL   DD DSN=CICS.SSTM.OUTJCL,DISP=(MOD,CATLG)
//INTRDR   DD SYSOUT=(*,INTRDR)
Parent topic: Introduction to Mainframe Subsystem Support


Security implications with the SSTM subsystem

The user ID under which the Enterprise Server session runs requires sufficient authority to submit and execute JCL. Any writes that the JCL makes to the internal reader via a CICS trancode are submitted as the currently logged on user. If no-one is logged on, these are submitted as Default CICS User ID.

Note: If you have overridden your Default CICS User with another user ID, or you have created a new Default CICS User ID, then you need to ensure that this user ID has sufficient authority to submit and execute JCL.
Parent topic: Introduction to Mainframe Subsystem Support


SSTM subsystem status messages

JES000040I SSTM environment established successfully.!
Indicates that the SSTM environment initialized successfully.
JES000041E SSTM initialization failure %1$s!
Indicates likely JCL errors. Check the appropriate job log and console log for additional information. Appropriate CTF traces will contain information that may help in diagnosing the problems.
JES000042I SSTM not enabled: %1$s!
Either you chose not to initialize SSTM environment, or you have misspelled the environment variable name.
Parent topic: Introduction to Mainframe Subsystem Support


CICS Support

  • Installation Verification
  • Installation Verification for ISC
  • Configuring CICS-enabled Enterprise Servers
  • Resource Definitions
  • Configuring CICS for Security
  • Configuring CICS for Databases
  • Intersystem Communication
  • CICS Communications Using Microsoft Host Integration Server
  • Configuring Terminals and Printers
  • CICS Web Interface Support
  • Modernizing CICS Applications
  • Administering CICS-enabled Enterprise Servers
  • MSS Aspects of Troubleshooting
Parent topic: MSS Configuration and Administration


Installation Verification

This chapter describes the installation verification procedure (IVP) you can use to check that the Mainframe Subsystem Support software is installed and working properly. The installation verification procedure involves starting an enterprise server and terminal emulation, signing on and running a transaction.

The steps involved in running the installation verification procedure are:

  1. Start Enterprise Server Administration
  2. Import an enterprise server: the installation software comes with an enterprise server configuration file that you can import and use for installation verification.
  3. Start the enterprise server
  4. Connect to the enterprise server
  5. Run the installation verification procedure
  • Starting Enterprise Server Administration
  • Configuring an Enterprise Server
  • Importing the Installation Verification Enterprise Server
  • Starting the Enterprise Server
  • Connecting to the Enterprise Server
  • Running the Installation Verification Procedure
Parent topic: CICS Support


Starting Enterprise Server Administration

To start Enterprise Server Administration, click All Programs > Micro Focus reUZE Server x.x > Enterprise Server Administration.

Parent topic: Installation Verification
Parent topic: Installation Verification for ISC


Configuring an Enterprise Server

Once you have started Enterprise Server Administration, you need to configure an enterprise server to enable it to run CICS applications and to specify the location of the files it will need.

To configure an enterprise server for use with the installation verification procedure:

  1. In the table of servers on the Home page of Enterprise Server Administration, click Edit to the left of the row for the server that you want to edit.
  2. Click Properties > MSS.
  3. Specify DFH\$IVP in System Initialization Table.

    Note the use of the slash (\) character to escape the dollar sign.

  4. Specify the location of the transaction programs in Transaction Path, for example:

    Examples\Net Express IDE\mto-bms\debug

  5. Specify the location of the data files in VSAM File Path, for example:

    Examples\Net Express IDE\mto-bms

  6. Specify the location of the BSM maps in Map Path, for example:

    Examples\Net Express IDE\mto-bms

  7. Click OK.

    At this point you have enabled CICS support for this enterprise server and specified the location of the relevant files. The directory names used in the examples above are for illustration only - you should change them to use the directories in which the installation verification procedure files are installed on your system.

  8. Click the Listeners tab.
  9. Click Add in the Listeners column for Communications process 1.
  10. Specify the following information to enable you to use a TN3270 emulator:
    Field | Value
    Name | tn3270
    Endpoint address | *.nnnn, where nnnn is between 5000 and 65535. Check with the system administrator to ensure you choose a number that is not used by other applications.
    Supported Conversation Type | Check TN3270
  11. Click Add.
Parent topic: Installation Verification


Importing the Installation Verification Enterprise Server

The installation software comes with an Enterprise Server configuration file. You can import this file and use the server that it configures for installation verification.

To import the Enterprise Server installation verification configuration file:

  1. On the Enterprise Server Administration screen, under Actions at the left, click Import to display the Import server information screen. The Recent Directories field displays two entries. For example, with Windows XP, the verification enterprise server entry is:

    C:\Documents and Settings\All Users\Application Data\Micro Focus\NetExpress\6.0\MFDS\MSSIVP\

  2. Select the verification enterprise server entry and click Select and then click Next.
  3. Click Next three more times to accept the default settings, then on the Import server information (Page 4 of 4) screen, click OK.
  4. Select the Listeners tab, and verify the following information to enable you to use a TN3270 emulator:
    Field | Value
    Name | tn3270
    Endpoint address | The default endpoint address is 9010. Check with the system administrator that this is not used by other applications. If it is, configure another endpoint address to use.
    Supported Conversation Type | Check TN3270
Parent topic: Installation Verification


Starting the Enterprise Server

Having enabled the enterprise server for CICS applications and specified the location of the files required for the installation verification procedure, the next step is to start the enterprise server.

To start the enterprise server for use with the installation verification procedure:

  1. In the table of servers on the Home page of Enterprise Server Administration, find the row for the server that you want to start, and click Start in the Current Status column.

    The value in Current Status changes to "Starting". If you have Show local console checked on the Edit Server page, the enterprise server console daemon window appears indicating the progress of the process of starting the server.

  2. After a few seconds, click Refresh on the Home page.

    The value in Current Status changes to "Started".

Parent topic: Installation Verification


Connecting to the Enterprise Server

Once you have configured and started the enterprise server, you need to start a 3270 emulator from which you can run the installation verification procedure.

To connect to the enterprise server:

  1. Start a TN3270 emulator.
  2. Specify the following connection information (if appropriate):
    Field | Value
    Host name | The name of the computer the enterprise server is running on. This is localhost if it is the current machine.
    Port | The number you specified for the field Endpoint address in the section Configuring an Enterprise Server.
  3. Connect.
Note:

We recommend that you use a Telnet 3270 (TN3270) client such as Micro Focus RUMBA .

Parent topic: Installation Verification


Running the Installation Verification Procedure

This section describes how to run the installation verification procedure once you have configured and started the enterprise server and connected to it with a 3270 emulator. When you first connect, a 3270 terminal is displayed with a screen prompting you for a USERID and PASSWORD.

To run the installation verification procedure:

  1. Press Clear (3270 key).

    The display clears.

  2. Enter the following command:
    CFCR ACCTFIL

    The following messages are displayed:

    Base - ACCTFIL KSDS Key 1 for 5 VARIABLE 63 to 383
ACCTIX     ALTR   Key    6 for   12

CFCR - File successfully created
  3. Press Clear (3270 key).

    The display clears.

  4. Enter the following command:
    acct

    The following screen is displayed.

    Figure 1. Running the Installation Verification Procedure
    Running the Installation Verification Procedure

    You can now add a record to the demonstration account file.

  5. Press Tab until the cursor is positioned in the field immediately following the label REQUEST TYPE.
  6. Type A. The cursor automatically moves ahead to the ACCOUNT field.
  7. Type 22222; then press Enter.
  8. Fill in the fields as follows:
    Field | Value
    SURNAME | SMITH
    FIRST | JOHN
    MI | S
    TITLE | MR
    TELEPHONE | 501234
    ADDRESS (1) | 59 THE COURT
    ADDRESS (2) | WOODED AVENUE
    NO. CARDS ISSUED | 1
    DATE ISSUED | 03 04 98
    REASON | N
    CARD CODE | X
    APPROVED BY | GGC

    Other fields are optional, so you can leave them blank.

  9. Press Enter.
  10. Display the record you have just entered by typing SMITH into the SURNAME field and pressing Enter.
  11. Press Clear (3270 key).

    The display clears.

  12. Enter exit to disconnect the 3270 emulator.
  13. In the table of servers on the Home page of Enterprise Server Administration, find the row for the server that you are using, and click Stop in the Current Status column.

    The value in Current Status changes to "Stopping". If you have Show local console checked on the Edit Server page, the enterprise server console daemon window appears indicating the progress of the process of stopping the server. After a few seconds the value in Current Status changes to "Stopped".

Parent topic: Installation Verification


Installation Verification for ISC

An installation verification procedure (IVP) is provided for intersystem communications (ISC). The IVP checks that transaction routing, distributed transaction processing, distributed program linking, and function shipping are working correctly after you have installed MSS and run the standard IVP.

There is no separate check for asynchronous processing, since this is just a specific use of either function shipping or distributed program linking. It uses two enterprise servers, COMIVP1 and COMIVP2, which are suppplied preconfigured, and can be run on a single machine.

You can run only one communications IVP at any one time.

The steps involved in running the ISC installation verification procedure are:

  1. Start Enterprise Server Administration.
  2. Restore the IVP Directory Server repository. This contains the two preconfigured enterprise servers.
  3. Start the enterprise servers.
  4. Connect to the first enterprise server.
  5. Run the communications installation verification procedure.
  • Introduction
  • Starting Enterprise Server Administration
  • Restoring the IVP Repository
  • Starting the Enterprise Servers
  • Connecting to Enterprise Server COMIVP1
  • Running the Installation Verification Procedure
  • Descriptions of Tests
  • Description of Resource Definitions
  • Resource Definition Map
  • Connection Map
  • Autoinstall Exit Program
Parent topic: CICS Support


Introduction

An installation verification procedure (IVP) is provided for communications. The IVP checks that transaction routing, distributed transaction processing, distributed program linking, and function shipping are working correctly after product installation. There is no separate check for asynchronous processing, since this is just a specific use of either function shipping or distributed program linking. It uses two enterprise servers, COMIVP1 and COMIVP2, which are suppplied preconfigured, and can be run on a single machine.

You can run only one communications IVP at any one time.

The steps involved in running the ISC installation verification procedure are:

  1. Start Enterprise Server Administration.
  2. Restore the IVP Directory Server repository. This contains the two preconfigured enterprise servers.
  3. Start the enterprise servers.
  4. Connect to the first enterprise server.
  5. Run the communications installation verification procedure.

These steps are covered in the following sections.

Parent topic: Installation Verification for ISC


Restoring the IVP Repository

To restore the IVP repository, follow these steps:

  1. Click Import in the menu on the left-hand side of the Home page.
  2. In Selected source directory containing server data to restore select the first entry in the Recent directories list.
  3. Click Select and then Next >>.
  4. Click Next >> (Page 2 of 4).
  5. Check the Delete all existing servers and replace with imported data button. Click Next >> (Page 3 of 4).
  6. Click OK (Page 4 of 4).
Parent topic: Installation Verification for ISC


Starting the Enterprise Servers

To start the enterprise servers, follow these steps:

  1. In the table of servers on the Home page, click Start in the Current Status column for server COMIVP1.

    The status changes to "Starting" and you see messages appearing in a console window indicating the progress of the startup process. Check that the message CASCS1110I for COMIVP1 is displayed. After a few seconds the status changes to "Started".

  2. In the table of servers on the Home page, click Start in the Current Status column for server COMIVP2.

    The status changes to "Starting" and you see messages appearing in a console window indicating the progress of the startup process. Check that the message CASCS1109I for COMIVP2 is displayed. After a few seconds the status changes to "Started".

  3. Check that the following messages have appeared on the servers' console windows:
    COMIVP1 | CASCS1122I Attempting to establish ISC connection REG2 to system COMIVP2 current-time
    COMIVPn | CASCS1110I Connection COMIVPn (sysid REGn) is activated contention loser current-time
    COMIVPn | CASCS1109I Connection COMIVPn (sysid REGn) is activated contention winner current-time

    where:

    n is either 1 or 2, indicating either enterprise server COMIVP1 or enterprise server COMIVP2

    current-time is the current time

If the two servers fail to connect (you do not receive the CASCS1109I message on one or the other server's console) you could get the following symptoms if you proceed with the IVP:

  • CASCS1015E System REG2 not acquired, transaction CENV (SYSIDERR) when invoking REG2 transaction.
  • Message sent, but none received for DTPF and DPLF transactions.
  • ACCT transaction EACC abends when REC specified as a surname.
Parent topic: Installation Verification for ISC


Connecting to Enterprise Server COMIVP1

Once you have configured and started the enterprise servers, you need to start a 3270 emulator and connect to enterprise server COMIVP1.

To connect to enterprise server COMIVP1:

  1. Start a TN3270 emulator.
  2. Specify the following connection information (if appropriate):
    Field | Value
    Host name | The name of the computer the enterprise server is running on. This is localhost if it is the current machine.
    Port | 9091 (The supplied enterprise server COMIVP1 has a TN3270 listener configured to use this port.)
  3. Connect.
Note:

Micro Focus does not provide a Windows-based TN3270 emulator, so you need to use a third-party TN3270 emulator such as QWS3270. QWS3270 is one of a number of third-party emulators available, and Micro Focus does not recommend the use of QWS3270 in preference to any other.

Parent topic: Installation Verification for ISC


Running the Installation Verification Procedure

This section describes how to run the installation verification procedure once you have configured and started the enterprise server and connected to it with a 3270 emulator. When you first connect, a 3270 terminal is displayed with a screen prompting you for a USERID and PASSWORD. Either enter valid credentials or press 3270 Clear to clear the screen.

Run the transaction routing test

  1. In the TN3270 terminal emulator enter transaction name REG2 and press 3270 Enter.
  2. Check that the second line of the screen displays TXREGN COMIVP2.
  3. Press 3270 Clear to clear the screen.

Run the distributed transaction processing test

  1. In the TN3270 terminal emulator enter transaction name DTPF and press 3270 Enter.
  2. Check that the message sent contains 'A's and the message received contains 'B's.
  3. Press 3270 Clear to clear the screen.

Run the distributed program link test

  1. In the TN3270 terminal emulator enter transaction name DPLF and press 3270 Enter.
  2. Check that the data sent contains 'A's and the data received contains 'B's.
  3. Press 3270 Clear to clear the screen.

Run the function shipping test

  1. In the TN3270 terminal emulator enter transaction name ACCT and press 3270 Enter.
  2. Display surname REC, by entering REC in the Surname field and pressing 3270 Enter.
  3. Check that the two account records 11111 and 22222 are displayed.
  4. Exit the ACCT transaction by pressing 3270 Clear.

You have now completed the IVP tests.

Close down the TN3270 terminal emulator and enterprise server COMIVP1. To do this:

  1. In the TN3270 emulator window enter transaction name CQIT and press 3270 Enter.

    On the Home page of Enterprise Server Administration the value in Current Status changes to "Stopping". If you have Show local console checked on the Edit Server page, the enterprise server console daemon window appears indicating the progress of the process of stopping the server.

    After a few seconds the value in Current Status changes to "Stopped".

  2. Make sure that COMIVP1 has terminated normally. Examine the console log and wait for the message CASCD0130I to be displayed for COMIVP1.
  3. Close the TN3270 emulator.

Close down enterprise server COMIVP2. To do this:

  1. On the Home page of Enterprise Server Administration find the row for COMIVP2, and click Stop in the Current Status column.

    The value in Current Status changes to "Stopping". If you have Show local console checked on the Edit Server page, the enterprise server console daemon window appears indicating the progress of the process of stopping the server. After a few seconds the value in Current Status changes to "Stopped".

  2. Make sure that COMIVP2 has terminated normally. Examine the console log and wait for the message CASCD0130I to be displayed for COMIVP2.

You have now completed the ISC IVP.

Parent topic: Installation Verification for ISC


Descriptions of Tests

The communications IVP comprises several different tests that are described here.

  • Transaction Routing Test
  • Distributed Transaction Programming Test
  • Distributed Program Link Test
  • Function Shipping Test
Parent topic: Installation Verification for ISC


Transaction Routing Test

Transaction REG2 runs transaction CENV in enterprise server COMIVP2. When the transaction has run in COMIVP2, the second line of the screen displays TXREGN COMIVP2.

Parent topic: Descriptions of Tests


Distributed Transaction Programming Test

Transaction DTPF allocates a connection to COMIVP2, connects to process DTPB, defined in COMIVP2, and then issues a CONVERSE with the session. DTPF sends a buffer filled with character 'A's and receives a buffer from DTPB which should be filled with character 'B's. The sent and received buffers are displayed on the screen to ensure the data is correct.

Parent topic: Descriptions of Tests


Distributed Program Link Test

Transaction DPLF tests links to program DPLREG2, defined to run in COMIVP2, passing a commarea containing character 'A's. DPLREG2 receives the commarea, replaces the 'A's with 'B's and returns control back to COMIVP1. The sent and received buffers are displayed on the screen to ensure that the data is correct.

Parent topic: Descriptions of Tests


Function Shipping Test

Transaction ACCT is used to test function shipping. The definitions supplied ensure that the transactions run in COMIVP1 using files defined in COMIVP2. Displaying the surnames tests the shipping of STARTBR and READNEXT to COMIVP2.

Parent topic: Descriptions of Tests


Description of Resource Definitions

The resource definitions used for the communications IVP are described here.

  • System Initialization Table
  • Startup List
  • Resource Definition Group DFHCIVP
  • Resource Definitions Group DFHCTCP
Parent topic: Installation Verification for ISC


System Initialization Table

Both enterprise servers use the SIT DFHCTCP.

An autoinstall exit program is specified in the SIT. This exit program, comivpai, controls and defines the terminal IDs of the connected clients and ensures that these terminal IDs are unique so that as more get started no conflicts occur in the system.

Parent topic: Description of Resource Definitions


Startup List

The startup list consists of the standard supplied groups (based on DFHLIST + DFH$IVP + communications groups) plus two others:

  • DFHCIVP - This group contains all of the IVP definitions for the communications IVP except for the CONNECTION definitions.
  • DFHCTCP - This group contains the CONNECTION definitions REG1 and REG2.

If the SYSID for a definition is either not specified or matches the system it is running on, the definition is treated as a local definition. Otherwise it is treated as a remote definition and requests for that resource are routed to that SYSID. This technique allows for the maintenance of only one set of resource definitions for both enterprise servers.

Parent topic: Description of Resource Definitions


Resource Definition Group DFHCIVP

This group is used in both the COMIVP1 and COMIVP2 enterprise servers.

These definitions contain all details for the programs, transactions, and files that are used for the IVP. They are supplemented by the definitions in the DFH$ACCT standard IVP group. This means that there are duplicate entries for the ACCTFIL and ACCTIX files, the difference being that the definitions in the DFHCIVP group define the target as a remote system. As the definition loaded last is the one that is used, the precedence of the groups in the startup list is significant.

PCT REG2 This transaction is started on REG1 but is transaction-routed to REG2 and executes in that enterprise server routing its output back to REG1. The program that executes on REG2 is DFHZCENV. This displays the environment for REG2. Fields to note on the CICS PCT page of ESMAC are:
  • Remote SYSID: REG2
  • Remote PCT: CENV

These two fields show the destination of the transaction, REG2, and the transaction that this invokes, CENV.

PCT | DPLF | This points to the COMIVP1 local program DPLREG1 that executes and forms the front end of the Distributed Program Link test.
PCT | DTPF | This points to the COMIVP1 local program DTPREG1 that executes and forms the front end of the Distributed Transaction Programming test.
PCT DTPB This points to the COMIVP2 program DTPREG2 that executes and forms the back end of the Distributed Transaction Programming test. Fields to note on the CICS PCT page of ESMAC are:
  • Remote SYSID: REG2
  • Remote PCT: DTPB
PPT DPLREG2 This points to the COMIVP2 program DPLREG2 that executes and forms the back end of the Distributed Program Link test. The fields to note on the CICS PPT page of ESMAC are:
  • Remote SYSID: REG2
  • Remote prog: DPLREG2.

These definitions act to determine local or remote execution destination and to show the program that should be executed at that destination - in this case the program name is DPLREG2. This need not match the PPT entry name.

FCT ACCTFIL/ACCTIX These are copies of the definitions for this file and its alternate indexes that are exactly the same as the standard ones in the DFH$ACCT standard IVP except for the following fields on the CICS FCT page of ESMAC:
  • Remote SYSID: REG2
  • File: ACCTFIL or ACCTIX

These fields control the local or remote destination of the file and the file names they map to.

Parent topic: Description of Resource Definitions


Resource Definitions Group DFHCTCP

This group contains two definitions:

  • SysC - REG1
  • SysC - REG2

These definitions define the characteristics of the connections between the two regions.

Fields to note are:

Name | This is the name of the definition but in the configuration as we have it defined it becomes the SYSID name for the remote enterprise server.
Net Name | This must be the peer enterprise server name. It specifies the enterprise server name of the peer system this definition applies to. If the netname is the same as the enterprise server name, the connection ID overrides the local SYSID. If the netname is not the same as the enterprise server name, this enterprise server tries to communicate to the enterprise server specified by the netname using the protocol defined in the default mode parameter. If this definition is installed at system initialization and the netname is not the same as the enterprise server name, a CCI gateway is started automatically without any CCI gateway flag having to be set in the SIT.
Protocol | This defines the protocol to use on this connection and is CCITCP.
Session Max | This must be greater than zero

If you have a valid connection ID defined in a group that is in the startup list, the gateway is automatically started.

Parent topic: Description of Resource Definitions


Resource Definition Map

This shows the relationship between the resource defintions used in the ISC IVP.

SIT----->Startup List----->Groups------->Definitions

DFHCTCP->DFHCTCP---------->DFHCIVP------>PCT - REG2
                                         PCT - DPLF
                                         PCT - DTPF
                                         PCT - DTPB
                                         PPT - DPLREG2
                                         FCT - ACCTFIL
                                         FCT - ACCTIX
                           DFHCTCP------>SysC - REG1
                                         SysC - REG2
Parent topic: Installation Verification for ISC


Connection Map

This shows the way the various names and parameters go together to define the connections. These values are all set in the connection definition.

 Server Name---->Netname--->SYSID

 COMIVP1-------->COMIVP1--->REG1

 COMIVP2-------->COMIVP2--->REG2

Setting the enterprise server name to be the same as the netname starts the system with the appropriate connection definition.

Parent topic: Installation Verification for ISC


Autoinstall Exit Program

The autoinstall exit program, comivpai, is used by either enterprise server to determine the terminal ID to allocate for any terminals that are started to a system. This ensures that the terminal ids within a network configuration remain unique.

The most recently allocated terminal ID is maintained in the CWA.

Terminals connected to COMIVP1 have a terminal ID beginning with 'B'. Terminals connected to COMIVP2 have a terminal ID beginning with 'C'.

The comivpai program is the autoinstall exit for both regions and uses the ASSIGN APPLID command to determine which enterprise server it is executing in.

Parent topic: Installation Verification for ISC


Configuring CICS-enabled Enterprise Servers

Descriptions of some of the ways in which CICS-enabled enterprise servers can be used, the information needed to control enterprise server processing and how to create and configure CICS-enabled enterprise servers.

  • Overview
  • Shared Memory Area
  • The System Initialization Table (SIT)
  • The Startup List
  • Loading DLL files
  • Deferring Loading of PCT Entries
Parent topic: CICS Support


Overview

A CICS-enabled enterprise server equates to a CICS region. On a mainframe, CICS regions are used for a variety of purposes, such as separating departmental applications or projects, and isolating the impact of failures by separating resources into terminal-owning regions, application-owning regions and file-owning regions. MSS-enabled enterprise servers can be used in similar ways.

You do not need to define services, request handlers or implementation packages in order to run migrated CICS applications in an MSS-enabled enterprise server. However, you should not delete the system services and request handlers that are automatically associated with an enterprise server when you create it.

You can, if you wish, run non-CICS applications such as Web services alongside CICS applications in an MSS-enabled enterprise server.

Configuring a CICS-enabled enterprise server is very like configuring any enterprise server, as described in section Enterprise Servers in the chapter Configuration in your Enterprise Server Configuration and Administration Guide. The differences are listed and explained in the following topics.

Parent topic: Configuring CICS-enabled Enterprise Servers


Shared Memory Area

Because an MSS-enabled enterprise server contains more types of object than a non-CICS enabled enterprise server, there are more objects to take into account when you are deciding how much space to allocate to the shared memory area.
Item | Calculation
Remote systems
  • Number of sysids x 96
  • Number of sessions x 32
PCT | Number of entries x 48
FCT | Number of entries x 88 + (4 x number of split key components used)
DCT | Number of entries x 48
PPT | Number of entries x 48
Programs (load hold)1 | Number active x (average length + 8)
TST | Number of entries x 32
PLT | Number of entries x (56 + (8 x average number of items in list))
JCT | Number of entries x 48
ICE2 | Number active x 64
AID3 | Number active x 64
Getmain SHARED4 | Number active x (average length + 8)
ENQ5
  • Number active x (24 + average argument length)
  • Number of processes waiting on ENQ x 16
CICS client requests6 | (3270 data stream length + COMMAREA + TEUA + 64) x number of servers
Parent topic: Configuring CICS-enabled Enterprise Servers
1 Programs loaded as data with EXEC CICS LOAD
2 Interval Control Elements. Tasks scheduled for a particular time.
3 Automatic Initiate Descriptor. Tasks awaiting a free service execution process for execution.
4 Areas of memory allocated with EXEC CICS GETMAIN SHARED.
5 User controllable synchronization locks allocated with EXEC CICS ENQ.
6 The buffers calculation is a rule of thumb. Use the average data stream, COMMAREA, and TEUA sizes for the computation. This only works if your system is set up to incur a minimum amount of SEP queueing. The buffers calculation must exceed the maximum size of a single buffer; that is, one that contains maximum data, COMMAREA, and TEUA sizes.

Buffers are short lived and stay in shared storage only if no SEP is available to service the request. Once a SEP is dispatched, the buffer is immediately moved to local process storage and the shared storage is released. Outbound buffers also stay in shared storage for a very short period of time. Outbound, the only delay is for processor dispatch to the supporting terminal process. Once the terminal process is dispatched, the buffer contents are moved to local process storage and the shared storage buffer is released.


The System Initialization Table (SIT)

The System Initialization Table (SIT) specifies how a CICS-enabled enterprise server is to be initialized when it starts up. It determines such things as, but is not limited to:

  • A list of resource groups that are automatically installed at startup (the startup list).
  • Whether the loading of any PCT entries is to be deferred.
  • The System ID that a CICS-enabled enterprise server is to be known by.
  • The number of service execution processes (SEPs) that start for the enterprise server. A SEP equates to a CICS transaction server in a multi-tasking region.
  • Whether any network communications are to be enabled.
  • Whether trace is to be active, and for which features.

Some of the properties of a SIT are shared with the enterprise server definition, for example, the size of shared memory and settings for traces and dumps.

A SIT is defined and stored in a resource definition file (RDF). An RDF can hold any number of SITs. CICS supplies several pre-configured SITs. These can be used as defaults or used as a basis for customizing your own.

Parent topic: Configuring CICS-enabled Enterprise Servers


The Startup List

The startup list names the resource groups that are to be installed at system initialization. In this way, you can specify which resources are associated with a SIT and therefore which resources are installed when a CICS-enabled enterprise server is started. You can share resources across multiple enterprise servers or you can restrict some resources to a specific enterprise server. No matter what resources are defined in an RDF, a resource is not installed for a enterprise server unless the group that the resource belongs to is specified in the startup list associated with the SIT used to start the enterprise server. (You can, however, use the supplied transaction CINS to install further resource groups once the server is running.)

Assume, for example, that the RDF defines the resources shown below:

Figure 1. Example of resources defined in the RDF
Example of resources defined in the RDF

Starting a enterprise server with the SIT SAMPSIT1 specified will initialize that enterprise server with the two groups SAMPGRP1 and SAMPGRP2. This is because SAMPSIT1 specifies a startup list SAMPLST1 which has only those two groups listed.

Additional groups can be installed to that enterprise server when it is running, without having to stop the server, by using the supplied transaction CINS.

Assuming you have the authority (sign-on security privilege) to run the transaction, enter:

CINS SAMPGRP3

Then the SAMPLIST3 group is installed and made available to enterprise server users.

Parent topic: Configuring CICS-enabled Enterprise Servers


Loading DLL files

The application's compiler generates DLL files from your source code. In the Windows environment, DLL code is controlled by the operating system. Once a DLL has been loaded, it is locked to the loading process, in this case CICS, and no other process can overwrite the DLL file.

When you modify existing code you need to use the procedure described below to replace an existing DLL file with the new file that you compile. To configure and load a replacement DLL file:

  1. Create a staging folder to hold your updated DLL files, and compile your DLLs to this folder.
  2. On the enterprise server running the CICS application, from the Enterprise Server Administration screen, select the Server > Properties > General tab.
  3. In the Configuration Information field, define an environment variable, ES_STAGING_FOLDER that sets the staging directory. For example, to define the staging directory as D:\CICS\Staging, you would use the following entry:
    [ES-Environment]
ES_STAGING_FOLDER=D:\CICS\Staging

    See the figure below for an example.

  4. Click Apply to set the envfironment variable.
  5. Use the CICS CPMT transaction to set that a new version is available.

    The transaction replaces any existing DLLs that your application uses with the DLLs in the staging directory. For example, to load a new version of MYPROG.DLL, you would use the following CPMT CICS transaction:

    CPMT NE MYPROG

Note:

Use this process only for updating programs that are currently in use by CICS. For new programs, you must copy or compile your new program directly into the appropriate production folder.

Figure 1. Configuring DLL updates
Configuring DLL updates

  • Errors
Parent topic: Configuring CICS-enabled Enterprise Servers


Errors

All errors generated by the CPMT command are returned in EIBRESP, EIBRESP2 and EIBRCODE.

Table 1. >NOTFND (RESP 13) RESP2 values
Value | Description
1 | The environment variable cannot be resolved.
3 | The length of the file name when added to the staging folder is too big.
4 | The file name plus staging folder is incorrect.
8 | No staging folder has been defined.
12 | Program not found in staging folder.
Table 2. >IOERR (RESP 17) RESP2 values
Value Description
16 A Windows API function has failed. EIBRCODE contains:
  • Pos 1: 'C' to indicate that CopyFileA has failed
  • Pos 2-5: Windows error code in binary
,
Table 3. >PGMIDERR (RESP 27) RESP2 values
Value | Description
7 | Program not found (no PPT entry and program not loaded).,
Parent topic: Loading DLL files


Deferring Loading of PCT Entries

You can control whether to load all PCT entries at startup or to defer the loading of some or all PCT entries until the corresponding transaction ID is entered.

The advantages of loading all PCT entries at startup are:

  • Online execution time of PCT lookup is fast as all definitions are stored in memory.
  • The transactions available in the enterprise server are fixed at startup. Any offline RDF changes or additions are not visible to the enterprise server unless the CINS transaction is run.

These advantages are particularly important in a production environment, where you need fast response times and stable region definition. The disadvantage is that if there are many PCT entries to load, the startup time is increased and the shared memory usage will be high.

You can control the loading of PCT entries with the Defer Install field on the CICS SIT page of ESMAC.

If you defer loading PCT entries, when you enter a transaction ID that is not currently loaded into memory, CICS searches the groups specified in the original startup list in reverse order. If a PCT entry for the transaction ID is found, it is dynamically loaded into memory for subsequent use. If the transaction ID is not found, a TRANSIDERR occurs as normal.

Note: If a group specified as deferred is empty at startup, it will not be searched subsequently for PCT entries.

The following examples assume that resources are defined as shown.

Assume the RDF defines the resources shown below.

Figure 1. Resource Definition File for Example 1
Resource Definition File for Example 1

Using DEFSIT1, the following entries are loaded into memory at startup (in addition to the DFH group entries):

  • (TRN2,PROG2) from DEFGRP1
  • (TRN3,PROG3) from DEFGRP1
  • (TRN4,PROG4) from DEFGRP2
  • (TRN1,PROG5) from DEFGRP2

The entry for (TRN1,PROG5) from DEFGRP2 is used instead of the entry for TRN1 in DEFGRP1. This is because DEFGRP2 occurs later than DEFGRP1 in the startup list.

Assume the RDF defines the resources shown below.

Figure 2. Resource Definition File for Example 2
Resource Definition File for Example 2

Starting the region with DEFSIT2, deferred PCT loading is enabled for all groups in the startup list. No PCT entries are loaded into memory at startup. When the enterprise server is running, if the transaction ID TRN3, for example, is entered from a client, the system will:

  • Search DEFGRP2 for a PCT entry=TRN3. Result: Not found
  • Search DEFGRP1 for a PCT entry=TRN3. Result: Found. Load the definition into memory

Subsequent uses of the transaction ID TRN3 will find the PCT entry in memory, so no searching of the resource definition file takes place. Similarly, if the transaction ID TRN1 is entered from a client, the system searches for and finds the definition in DEFGRP2.

This will find the same definition for TRN1 as shown in Resource Definition File for Example 1 above.

Assume the RDF defines the resources shownbelow.

Figure 3. Resource Definition File for Example 3
Resource Definition File for Example 3

The third type of deferred PCT load allows you to specify the number of groups that will have the loading of their PCT definitions deferred. In this case, the deferred group count is set to 1, so the loading of PCT definitions from DEFGRP2 is deferred.

The number of groups to defer is counted back from the end of the startup list.

In this case, at system startup, the following PCT definitions are loaded into memory:

  • (TRN1,PROG1) from DEFGRP1
  • (TRN2,PROG2) from DEFGRP1
  • (TRN3,PROG3) from DEFGRP1

The definition for transaction ID TRN1 is now taken from DEFGRP1 and not from DEFGRP2.

Parent topic: Configuring CICS-enabled Enterprise Servers


Resource Definitions

  • Introduction
  • Exchanging Resource Definitions Between Resource Definition Files
  • Maintaining Resource Definitions
Parent topic: CICS Support


Introduction

The resource definitions stored by MSS are different in both content and form to those stored on the mainframe. Many resource types and attributes that you can define on the mainframe are meaningless in the Windows environment, for example LSRPOOL. MSS recognizes these resource types and attributes but takes no action on them. Conversely, MSS understands some additional attributes that only make sense in the Windows environment, and some of these are mandatory.

The following table lists all the types of resource definition used or recognized by MSS. For each type of resource definition, the name by which it is known in the .rdt file used for exchanging resource definitions with other Enterprise Server with MSS systems is given, followed by an indication of the support provided, then any abbreviation used within the interface and its meanings. Mainframe resource types are listed first, followed by Micro Focus extensions.

Keyword in .rdt file | Used or recognized | Abbreviation | Meaning
CONNECTION | Used |  |
FILE | Used | FCT | file control table
LSRPOOL | Recognized |  |
MAPSET | Recognized |  |
PARTITIONSET | Recognized |  |
PARTNER | Recognized |  |
PROFILE | Recognized |  |
PROGRAM | Used | PPT | program processing table
SESSIONS | Recognized |  |
TERMINAL | Used | Term | terminal
TRANCLASS | Recognized |  |
TRANSACTION | Used | PCT | program control table
TYPETERM | Used | T-type | terminal type
TDQUEUE | Used | DCT | destination control table
_JOURNAL | Extension | JCT | journal control table
_PGMLIST | Extension | PLT | program load table
_SIGNON | Extension | SNT | signon table
_SIT | Extension | SIT | system initialization table
_STARTUPLIST | Extension |  |
_TEMPSTORAGE | Extension | TST | temporary storage table
_XOPENCOMPAT | Extension | XAT | XA-compliant database table

The CICS resources are defined in the resource definition file dfhdrdat (with index dfhdrdat.idx). This is an ISAM file.

When Enterprise Server runs the application, it needs to know where the application's dfhdrdat file is. You specify its location using the /ip switch of the casrdtex command and /op switch of the casrdtup command.

Parent topic: Resource Definitions


Exchanging Resource Definitions Between Resource Definition Files

You can import and export resource definitions from and to other resource definition files held on the same or different installations of reUZE Server.

casrdtup | Imports the resource definition tables in a specified file into the resource definition file dfhdrdat. Use the /ip switch to identify the location of the directory containing dfhdrdat.
casrdtex | Exports the resource definition tables from the resource definition file dfhdrdat to a specified file. Use the /op switch to identify the location of the directory containing dfhdrdat.

Enter casrdtex and casrdtup at the command line to display a full list of the switches available.

Parent topic: Resource Definitions
Related information
casrdtup
casrdtex


Maintaining Resource Definitions

When you have downloaded your resource definitions from the mainframe, they can be maintained in the Windows or UNIX environment. MSS uses several different types of resource, such as programs and files. The standard resources that can be used by most systems are predefined. You need to add definitions only for those resources that are used specifically by your system.

  • Types of Resource
  • Facilities for Maintaining Resources
Parent topic: Resource Definitions


Types of Resource

Each type of resource is defined in a separate table. For example, programs are defined in a processing program table (PPT) and files in a file control table (FCT). For each resource type, more than one table can be defined for the same system. And more than one table for the same resource type can be used by the system, except for the system initialization table (SIT), which defines parameters to control the initialization of the system, and the sign-on table (SNT), which defines user sign-on authorizations.

Note:

Not all programs need entries in the PPT. However PPT entries are required for the following types of program:

  • Programs started by Program Load Tables
  • Programs for autoinstall

They are also required for data tables.

Tables for the same or different resource types can be combined into a group. For example, you will probably find it convenient to combine all the tables for the resources used by an application (or set of related applications) into a single group.

All the groups that you want to be included in the enterprise server startup are defined in a startup list. During startup, MSS uses this list to check that the resources are available and performs appropriate initialization procedures on them.

For full information about CICS resource definition, see the IBM documentation.

Parent topic: Maintaining Resource Definitions


Facilities for Maintaining Resources

You can edit the resource definitions using ESMAC, which provides a graphical user interface. For more information see the section Controlling CICS Resources in the chapter Administering MSS-enabled Enterprise Servers.

Alternatively, you can edit them using a text editor, but to do this, you first need to export the resource definition tables from the dfhdrdat file, and when you have finished editing, you need to import the tables back again. For more information about importing and exporting resources see the section Exchanging Resource Definitions Between Resource Definition Files .

Parent topic: Maintaining Resource Definitions
Related information
Exchanging Resource Definitions Between Resource Definition Files


Configuring CICS for Security

This chapter describes the basic security features that you can implement with MSS. It explains:
  • The security features provided by MSS
  • How to enable transaction and resource security
  • Password encryption and decryption

You can implement more extensive security through the use of the Enterprise Server External Security Facility. For details see Introduction to Enterprise Server Security.

  • Overview
  • Transaction Security
  • Resource Security
  • Sign-on Table (SNT) Entries
  • Password Encryption and Decryption
Parent topic: CICS Support
Related information
Introduction to Enterprise Server Security


Overview

MSS provides optional security for individual transactions and resources. It is off by default.

MSS controls access to transactions and resources through three mechanisms:

  • Transaction security
  • Resource security
  • Sign-on Table (SNT) entries

MSS also provides a mechanism for implementing your own password encryption and decryption strategy.

Parent topic: Configuring CICS for Security


Transaction Security

Transaction security allows you to control access to individual transactions.

To enable security for a transaction, you must do two things:

  • Define a set of security keys for the transaction in its PCT entry. Each security key is a number in the range 1 through 64.
  • Specify a set of security keys in a user's SNT entry. A user can access a transaction if at least one of the transaction's security keys matches a security key specified in that user's SNT entry.

If you assign security key number 1 to a transaction, any user can run the transaction; all users own security key 1 by default. Figure 9-1 illustrates security key checking applied to a transaction.

Figure 1. Transaction key checking
Transaction key checking
Parent topic: Configuring CICS for Security


Resource Security

You can control access by a transaction to the following types of resource:

  • Files
  • Transient data queues
  • Temporary storage queues
  • Journals
  • Other transactions

To enable resource security, do the following:

  1. Specify that a transaction is to perform resource security checking, by checking Security: Resource Level Checking on the PCT page in ESMAC for the transaction. (By default, transactions do not perform resource security checking.)
  2. Specify a set of resource keys in the resource table entry (for example, the FCT entry for a file). Each resource key is a number in the range 1 through 24.
  3. Specify a set of resource keys in a user's SNT entry. A user can access a resource if one or more of the resource keys for the resource matches a resource key specified in that user's SNT entry.

The figure below illustrates the process of resource key checking.

Figure 1. Resource key checking
Resource key checking
Parent topic: Configuring CICS for Security


Sign-on Table (SNT) Entries

You must create an entry for the user in the Sign-on Table (SNT) if the user requires:

  • A user ID and password. These are required if:
    • The user has to sign on to MSS using the supplied transaction CESN.
    • The user wants to modify resource definitions using the Resource Definition Facility if security is enabled.
  • Security keys and/or resource keys.

Each entry in the SNT specifies the following:

  • The ID with which a user signs on through the CESN transaction.
  • The user's MSS password.
  • The user's security and resource keys.
  • The User SYSAD
Parent topic: Configuring CICS for Security


The User SYSAD

When you create a MSS Resource Definition File, its SNT already contains an entry for the system administrator, with username SYSAD and password SYSAD. (You must enter this password in upper case.)

User SYSAD has system administrator privileges and owns all security and resource keys.

You should change SYSAD's password to something more secure as soon as possible.

Parent topic: Sign-on Table (SNT) Entries


Password Encryption and Decryption

MSS calls a user-replaceable module, dfhucryp.gnt in location install-dir\base\bin , to perform encryption and decryption of user passwords. The installed module does not actually perform any encryption; that is, the encrypted password is the same as the unencrypted password. You can replace this module with one that implements a password encryption and decryption strategy appropriate for your site.

An example module, dfhucry1.gnt, which implements a simple encryption and decryption scheme is supplied. Its source (.cbl) form is provided in the directory install-dir\base\source\ folder. It uses the number of 1 bits in the user ID as a shift count and a pair of encipher and decipher tables.

  • The Interface to the Password Module
  • Choosing an Encryption and Decryption Scheme
  • Replacing the Password Encryption and Decryption Scheme
Parent topic: Configuring CICS for Security


The Interface to the Password Module

The interface to dfhucryp.gnt is a standard call interface, requiring a single parameter:

CALL "DFHUCRYP" USING CRYPT-PARAMETER-AREA.
 01  CRYPT-PARAMETER-AREA.
     05  CRYPT-FUNCTION                PIC XX COMP-X.
         88  CRYPT-ENCRYPT-88             VALUE 1.
         88  CRYPT-DECRYPT-88             VALUE 2.
     05  CRYPT-RESULT                  PIC XX COMP-X.
         88 CRYPT-SUCCESSFUL-88           VALUE 0.
         88 CRYPT-FAILED-88               VALUE 1.
     05  CRYPT-USER-ID                 PIC XX(8).
     05  CRYPT-ENCRYPTED-PASSWORD      PIC XX(8).
     05  CRYPT-DECRYPTED-PASSWORD      PIC XX(8).

where:

CRYPT-FUNCTION Specifies the function as encrypt (=1) or decrypt (=2).

The encrypt function takes the decrypted password as input and outputs the encrypted password, possibly referring to the user ID field.

The decrypt function takes the encrypted password as input and outputs the decrypted password, possibly referring to the user ID field.

CRYPT-RESULT | This field is used to signal the success (=0) or failure (=1) of the function. Since a failure is treated as a password mismatch in all validation functions, the error return can be used to screen out unacceptable passwords during the SNT update process.
CRYPT-USER-ID | The user ID associated with the password being encrypted or decrypted.
CRYPT-ENCRYPTED-PASSWORD | The encrypted password. This field is used as an input field by the decrypt function and as an output field by the encrypt function.
CRYPT-DECRYPTED-PASSWORD | The decrypted password. This field is used as an output field by the decrypt function and as an input field by the encrypt function.
Parent topic: Password Encryption and Decryption


Choosing an Encryption and Decryption Scheme

The only restrictions on the encryption and decryption scheme you choose are as follows:

  • It must be a reversible encryption scheme.
  • The implementation must conform to the interface described in the previous section.

You should bear in mind that the routine is called on entry to the resource definition maintenance functions and at every attempt to sign on to MSS. A slow scheme can, therefore, result in poor performance.

Parent topic: Password Encryption and Decryption


Replacing the Password Encryption and Decryption Scheme

If you alter your password encryption and decryption scheme, any encrypted passwords stored in the Sign-on Table (SNT) must be decrypted using the old scheme and then re-encrypted with the new scheme. A utility program called dfhpcryp.gnt is supplied to assist in this conversion.

The procedure for moving to a new encryption scheme is described below. In this procedure, you introduce your new encryption module to the system as dfhucryu.gnt. You then run the dfhpcryp.gnt utility, which uses the existing module (dfhucryp.gnt) and your new one to perform the conversion. When the conversion is complete, you replace the existing module with your new one.

Before you make any changes, take a backup copy of the following:

  • The Resource Definition File (dfhdrdat and dfhdrdat.idx). This holds the SNT entries.
  • The current encryption module (dfhucryp.gnt).

To run dfhpcryp.gnt:

  1. Compile the new encryption module to .gnt.
    Note:

    Do not replace the existing dfhucryp.gnt at this stage. Your new module must only replace the existing dfhucryp.gnt after you have run the dfhpcryp.gnt utility to perform the conversion.

  2. Rename your new encryption module to dfhucryu.gnt and copy it into the same directory as the existing dfhucryp.gnt.
  3. Ensure that no part of MSS is active.
  4. Run the dfhpcryp.gnt utility.
  5. When dfhpcryp.gnt completes, remove dfhucryp.gnt and rename dfhucryu.gnt to dfhucryp.gnt.
  6. Back up the modified Resource Definition File.

MSS is now ready to run with the new encryption and decryption scheme.

The backups taken during this process are important in case you want to return to the old encryption and decryption scheme for any reason.

Parent topic: Password Encryption and Decryption


Configuring CICS for Databases

MSS CICS provides support for both relational and hierarchical databases. This chapter discusses the support provided.

  • Database Managers Supported
  • Using Other Database Managers
Parent topic: CICS Support


Database Managers Supported

MSS provides built-in support for the same XA-compliant database managers as reUZE Server without MSS.

You can add support for other XA-compliant database managers. To do this, you write and compile a switch module for the database. See the database vendor's documentation for advice on how to do this.

You can configure the database managers using either the Edit Server page in Server Enterprise Edition Administration, or the CICS XAT page in ESMAC.

The support for relational database managers enables CICS applications to issue database DDL and DML statements in the form of embedded Structured Query Language. SQL requests are structured in a similar way to CICS commands. Using them, you can create, modify and query data tables.

  • To Add an XA Resource to an Enterprise Server Instance
  • To create a resource table
Parent topic: Configuring CICS for Databases
Related information
To add an XA resource to an enterprise server
To create a resource table
Configuring Resource Managers


Using Other Database Managers

You can access other, non-XA-compliant databases through . The recommended method is to use the exit program DFHUSYNC. A sample exit program is supplied as dfhusync.cbl in the install-dir\base\source\ folder. Follow these steps to customize the sample exit program:

  1. Add code to be invoked at any or all of the following points:

    • SEP initialization

    • The start of a CICS task

    • When rollback is required

    • When a prepare is required for a syncpoint

    • When a commit is required

    • SEP shutdown

      This code should invoke the appropriate actions from the database manager being used. If you want to enable commit and rollback processing (two-phase commit), include the SQL Communications Area (SQLCA) in the Working-Storage Section of the dfhusync.cbl module.

  2. Run dfhusync.cbl through the appropriate SQL preprocessor.

  3. In Studio Enterprise Edition, compile dfhusync.cbl to any callable format. Do not use the CICS preprocessor.

  4. Put the compiled module in the install-dir\base\bin folder if Server Enterprise Edition is installed as part of Studio Enterprise Edition or install-dir\bin folder if Server Enterprise Edition is installed standalone, replacing the default version supplied with MSS.

Note: A CICS application that updates more than one single-phase resource compromises resource integrity
Parent topic: Configuring CICS for Databases


Intersystem Communication

This chapter describes the facilities provided by MSS for Intersystem Communication and how to set up MSS to use these facilities.

  • Overview
  • Common Configuration Tasks
  • Function Shipping
  • Asynchronous Processing
  • Transaction Routing
  • Distributed Program Linking
  • Distributed Transaction Processing
  • Network Links
Parent topic: CICS Support


Overview

Intersystem Communication (ISC) provides communications between two MSS systems, or between a CICS systemand MSS, or between a CICS system or MSS and an IBM-compatible CICS system using Mainframe Access. It enables distributed processing, where the processing of CICS transactions is split between various systems.

You need to do some configuration to get these facilities working. Some of this is common to all distributed processing facilities, while some is specific to one facility.

Parent topic: Intersystem Communication


Common Configuration Tasks

To enable any of the distributed processing facilities, you need to do the following:

  • For both outbound and inbound flows, define network links between the MSS system and the system or systems that you want to communicate with. For each remote system you define a connection.
  • For both outbound and inbound flows add a listener for Intersystem Communication to the enterprise server. This must be of type "MTO ISC", have the name "MF MTO Inter-System Communication" and have Legacy Micro Focus Application Format checked.
  • For inbound flows, add the resource group DFHISC to the startup list for the SIT. (You do not need to do this for distributed transaction processing (DTP)).
  • To Add a Service Listener to an Enterprise Server Instance
Parent topic: Intersystem Communication
Related information
To add a service listener to an enterprise server
Network Links


Function Shipping

Function shipping enables a transaction executing on a local MSS system to access remote resources (files, temporary storage queues and transient data queues).

The operation of function shipping is illustrated below.

Figure 1. Function Shipping
Function Shipping

Outbound function shipping is what happens when your local transaction programs ship functions to remote MSS systems or to IBM-compatible CICS systems.

Inbound function shipping is what happens when remote MSS systems ship functions to your MSS system.

  • Restrictions on Function Shipping
  • Configuration for Function Shipping
Parent topic: Intersystem Communication


Restrictions on Function Shipping

The following restrictions apply to function shipping as implemented in MSS:

  • You cannot ship a function directly to a DL/I (IMS) database.
  • You should not ship a function that updates a resource across multiple links, because recovery cannot be coordinated.
  • You should take syncpoints from your system and not the invoked end of the link, otherwise you might get unpredictable results.

    This is advisable because function shipping only incorporates sync level 1 logic. Whether you have single or multiple connected systems, a sync request can be propagated through all the connected systems.

Parent topic: Function Shipping


Configuration for Function Shipping

This section describes any configuration required that is specific to function shipping. See the section Common Configuration Tasks for configuration that is required for all types of intersystem communication.

You might need to do some specific configuration for outbound function shipping. There are two ways of ensuring that functions get shipped to a remote system:

  • Specify the system ID of the remote system in the relevant EXEC CICS command. For example:
    EXEC CICS READ FILE(CUSTFILE) SYSID(HS01)

    reads the file CUSTFILE which belongs to the remote system HS01.

    EXEC CICS WRITEQ TD QUEUE(QUEUE01) SYSID(HS01)

    writes to the transient-data queue QUEUE01 which belongs to the remote system HS01.

  • Specify the system ID and name of the resource in the resource's local definition. The following table shows the fields that need updating:

    Table Required Entry
    FCT The file to be accessed, specifying:
    Remote SYSID on the FCT Details page of ESMAC
    The ID of the SysC table entry for the remote system
    Remote File on the FCT Details page of ESMAC
    The name by which the file is known on the remote system. If you do not specify this field, the file is assumed to have the same name on both systems
    DCT The TD queue that can be accessed by local transactions, specifying:
    SYSID on the DCT Details page of ESMAC
    The ID of the SysC table entry for the remote system
    Name on the DCT Details page of ESMAC
    The name by which the TD queue is known on the remote system. If you do not specify this field, the TD queue is assumed to have the same name on both systems.
    TST The remote TS queue that can be accessed by local transactions, specifying:
    SYSID on the TST Details page of ESMAC
    The ID of the SysC table entry for the remote system
    Name on the TST Details page of ESMAC
    The name by which the TS queue is known on the remote system. If you do not specify this field, the TS queue is assumed to have the same name on both systems
Note: If local transactions using ANSI ship functions to an IBM-compatible EBCDIC CICS system, you must set up data conversion facilities on the remote system.
Parent topic: Function Shipping
Related information
Common Configuration Tasks


Asynchronous Processing

Asynchronous processing enables a local transaction program to initiate a transaction program on a remote system by means of the EXEC CICS START command. The remote transaction does not attempt to send a response back to the initiating local transaction program; this is what makes it asynchronous.

There are two ways of doing outbound asynchronous processing with MSS:

  • Specify in a transaction definition (PCT) that it is remote.
  • Name the system ID of the remote system in the EXEC CICS START command, which provides automatic transaction initiation (ATI).

If you use the first way, you need to do some specific configuration by defining the fields in the PCT as follows:

Required Entry

Each remote transaction that can be initiated (using ATI) by a local transaction, specifying:

Remote SYSID on the PCT Details page of ESMAC
The ID of the SysC table entry for the remote system
Remote PCT on the PCT Details page of ESMAC
The name by which the transaction is known on the remote system. If you do not specify this field, the transaction is assumed to have the same name on both systems

No specific configuration is required for inbound asynchronous processing.

Parent topic: Intersystem Communication
Related information
Common Configuration Tasks


Transaction Routing

Transaction routing enables an MSS system to invoke transactions on a remote system. The terminal attached to the local system is treated as if it were attached to the remote system.

The operation of transaction routing is illustrated below.

Figure 1. Transaction Routing
Transaction Routing
  • Implementing Transaction Routing
  • Restrictions on Transaction Routing
  • Configuration for Transaction Routing
Parent topic: Intersystem Communication


Implementing Transaction Routing

You can implement transaction routing in MSS in either of two ways:

  • Specify that particular transactions are to be routed to a remote system. See the section Configuration for Transaction Routing later in this chapter for more information on how to set up this implementation of transaction routing.
  • Use the supplied transaction CRTE to create a routing session on a remote system.
  • Using the Routing Transaction CRTE
  • Defining Remote Terminals
Parent topic: Transaction Routing
Related information
Configuration for Transaction Routing


Using the Routing Transaction CRTE

You can use the supplied transaction CRTE to start a routing session on a remote system. When the routing session has been established, your local system appears as a remote terminal to the remote system. All transactions invoked during this session are executed on the remote system.

The use of CRTE to implement transaction routing is illustrated below.

Figure 1. Transaction Routing via CRTE
Transaction Routing via CRTE

No configuration of the local or remote system (other than the link itself) is required when using CRTE. You should use CRTE, instead of making PCT definitions, in the following cases:

  • For infrequently-invoked transactions.
  • For transactions that reside on all of your systems.

Note that, because the routing session has to be explicitly established and canceled, you might have to perform additional signon operations.

CRTE supports both conversational and pseudo-conversational transactions. Transactions invoked by PA or PF keys cannot be invoked through CRTE.

Parent topic: Implementing Transaction Routing


Defining Remote Terminals

The remote system needs a definition of the terminal from which the transaction is issued. You can either:

  • Define the terminal in the remote system as well as the local system. This method is known as duplicating a terminal definition.
  • Ship the local definition to the remote system when a transaction is routed to the remote system. This method is known as shipping a terminal definition.

3270 terminals and printers default to the shipping method, but you can duplicate the definitions if you choose.

With either method, each terminal name must be unique across the entire network.

Shipping definitions has some advantages over duplicating definitions:

  • You can save on the use and maintenance of disk storage on the remote system because the remote terminal definitions are not stored there.
  • You also save the initial labor of entering the remote definitions on the remote system.
Parent topic: Implementing Transaction Routing


Restrictions on Transaction Routing

There are several restrictions that apply to the transaction routing as implemented in MSS:

  • BMS paging is not supported.
  • The fully-qualified network name might not be available in the IBM mainframe monitoring record of an APPC link.
  • You should not invoke a transaction on a remote mainframe CICS system that uses the MSGINTEG(YES) or PROTECT(YES) options, as they cannot be honored on sync level 1 links.
Parent topic: Transaction Routing


Configuration for Transaction Routing

This section describes any configuration required that is specific to transaction routing. See the section Common Configuration Tasks for configuration that is required for all types of intersystem communication.

You might need to do some specific configuration for outbound transaction routing. There are two ways of ensuring that transactions get routed to a remote system:

  • Specify the transaction that you want to route and the system ID of the remote system in an EXEC CICS START command. For example:
    EXEC CICS START TRANSID(CWEN)SYSID(HS01)

    starts the transaction CWEN on the remote system HS01.

  • Specify the system ID and transaction ID in the resource's local definition. The following table shows the fields that need updating
    Table Required Entry
    PCT Each remote transaction that can be initiated (using ATI) by a local transaction, specifying:
    Remote SYSID on the PCT Details page of ESMAC
    The ID of the SysC table entry for the remote system
    Remote PCT on the PCT Details page of ESMAC
    The name by which the transaction is known on the remote system. If you do not specify this field, the transaction is assumed to have the same name on both systems

No specific configuration is required for inbound transaction routing.

Parent topic: Transaction Routing
Related information
Common Configuration Tasks


Distributed Program Linking

Distributed program linking (DPL) enables a program running on MSS to link to a program running on a remote system. This provides an easy way to access DL/I (IMS) and SQL databases and BDAM files on a remote CICS system.

  • Restrictions on Distributed Program Linking
  • Abends When Using Distributed Program Linking
  • Configuration for Distributed Program Linking
Parent topic: Intersystem Communication


Restrictions on Distributed Program Linking

There are certain restrictions on the types of program to which you can link using the distributed program linking feature of MSS.

You cannot link to programs that:

  • Issue terminal control commands from a connected system back to MSS.
  • Inquire on terminal attributes.
  • Issue BMS commands.
  • Issue data interchange commands.
  • Address the TWA or the TCTUA. You must use the COMMAREA to pass data between systems, or you might get unpredictable results.
  • Issue syncpoints. DPL incorporates only sync level 1 logic. Whether you have single or multiple connected systems, a sync request can be propagated through all the connected systems. You should therefore take syncpoints from your system and not the invoked end of the link, otherwise you might get unpredictable results.

In addition to these restrictions, you should also be aware that when you are accessing DB2 from a transaction running on MSS, security access to the DB2 application plan is based on the transaction ID under which the program runs. The default transaction ID is one of the mirror transactions CPMI, CSMI and CVMI. To enable greater selectivity for DB2 application plans, you can specify an alternative transaction ID in either the PCT entry or in the EXEC CICS LINK command. This transaction muct be defined in the target system and must point to the mirror program DFHZCSMI. In all other respects (such as security attributes and task priority), the mirror transaction operates normally.

Parent topic: Distributed Program Linking


Abends When Using Distributed Program Linking

If the remote program terminates abnormally, the remote system's mirror program returns the last abend code to MSS, using the ASSIGN ABCODE command. The remote program might have handled other abends before terminating.

Parent topic: Distributed Program Linking


Configuration for Distributed Program Linking

This section describes any configuration required that is specific to distributed program linking. See the section Common Configuration Tasks for configuration that is required for all types of intersystem communication.

You might need to do some specific configuration for outbound distributed program linking. There are two ways of linking to a program on a remote system:

  • Specify the system ID of the remote system in the relevant EXEC CICS command. For example:
    EXEC CICS LINK TRANSID(PPQQ) SYSID(HS01)

    links to the transaction program PPQQ which belongs to the remote system HS01.

  • Specify the system ID and name of the resource in the resource's local definition. The following table shows the fields that need updating
    Table Required Entry
    PPT Each remote program to which a local program can link, specifying:
    Remote SYSID on the PPT Details page of ESMAC
    The ID of the SysC table entry for the remote system
    Remote Prog on the PPT Details page of ESMAC
    The name by which the program is known on the remote system. If you do not specify this field, the program is assumed to have the same name on both systems.
    Rmt Trans ID on the PPT Details page of ESMAC
    The name of the transaction (overriding the default mirror transaction ID) under which to run the remote program. This mechanism allows greater flexibility when the remote program accesses DB2 as the DB2 application plan is based upon the active transaction.
Note:

If local programs that use a different character set (ANSI or EBCDIC) are linked, you may need to set up data conversion facilities on the remote system.

Parent topic: Distributed Program Linking
Related information
Common Configuration Tasks


Distributed Transaction Processing

Distributed Transaction Processing (DTP) allows a CICS transaction running in one system to communicate with a transaction running in another system. The transactions are written and designed to communicate with each other over the intersystem communication link. DTP provides facilities so that two programs can communicate with each other, signal each other with regard to their status, and jointly commit modifications to protected resources.

DTP takes place between programs that are designed to be a matched pair. Their activities, command utilization, error protocols, and message formats must all be coordinated. MSS enables running transactions to initiate and communicate synchronously with transactions in remote systems that support the APPC protocols.

  • Restrictions on DTP
  • Configuring for DTP
Parent topic: Intersystem Communication


Restrictions on DTP

The following restrictions apply to Distributed Transaction Processing:

  • Process Initialization Parameter (PIP) data represented by the PIPLIST and PIPLENGTH operands for the CONNECT PROCESS and EXTRACT PROCESS commands is not transmitted by MSS, even though the operands are recognized by the MSS preprocessor.
  • Inbound transaction processing names can be no greater than four characters in length.
Parent topic: Distributed Transaction Processing


Configuring for DTP

The links to any interconnected system must be defined according to the examples provided in the section Network Links. You can either define any programs and transactions that are to participate in a DTP conversation through resource definition table entries on both the local and remote system or specify them in the CONNECT PROCESS and EXTRACT PROCESS commands.

Parent topic: Distributed Transaction Processing
Related information
Network Links


Network Links

The distributed processing facilities described above require that a network link is set up between the client and server systems. This section describes how to set up these links.

  • Types of Network
  • Supported Link Types
  • Communications Definitions
Parent topic: Intersystem Communication


Types of Network

This section describes the setting up of network links for the following types of communications network:

  • MSS to mainframe CICS and mainframe CICS to MSS
  • MSS to MSS

These are the network links that you can use for function shipping, asynchronous processing, transaction routing, distributed program linking and distributed transaction processing.

Parent topic: Network Links


Supported Link Types

You use TCP/IP network links for all types of Intersystem Communication .When you use TCP/IP to connect to the mainframe, you also need Micro Focus Mainframe Access Version 3.0 or above. Configuring MSS to use TCP/IP network links is described below.

Parent topic: Network Links


Communications Definitions

This section describes the definitions you need to make to enable communications. To create the necessary definitions you use the SysC page in ESMAC: from the Server page, click the Services dropdown in the Resources group in the left-hand menu, click By type, then click SysC. You see the list of existing SysC definitions. Click SysC in the New panel of buttons at the bottom of the page.

You must set the following fields:

Name | The name of the target system: this is also the value you enter in SYSID when you define a remote transaction
MF Node | The text host name or dotted decimal address of the target server
MF Port | The decimal value of the port that the target server listens on
Net Name | The name of the target enterprise server or CICS region
Session Max | The maximum number of send sessions

You need a connection definition for the enterprise server that is initiating the conversation. If you create a connection definition in both enterprise servers and both servers try to initiate the connection, MSS resolves the contention.

If you specify the home enterprise server as the target enterprise server (that is, Net name is the same as the name of the current enterprise server), MSS ignores the entry. This is useful because it enables a number of servers to share a single group that specifies the connections for all the regions.

You also need to add a listener for Intersystem Communication to each enterprise server that uses ISC. For more information see the section Common Configuration Tasks.

  • MSS-to-mainframe Example
  • Bidirectional MSS-to-mainframe Example
  • MSS-to-MSS Example
Parent topic: Network Links
Related information
Common Configuration Tasks


MSS-to-mainframe Example

In this example an MSS-enabled enterprise server is to be connected to a CICS region on a mainframe using TCP/IP and Mainframe Manager. The connection definition is shown below.

Figure 1. Example of MSS to Mainframe Connection Definition
Example of MTO to Mainframe Connection Definition

The name of the definition, RSYS in this example, must match the server name as defined in the Mainframe Access server definition, which in turn points to the target CICS region on the mainframe. This example would have a Mainframe Access server definition similar to the folllowing:

<MCOID=RSYS>
LUNAME=CICSTSR3
TPNAME=*
MODENAME=#INTER
SYNCLEVEL=0
SECURITY=NONE
<END>
Parent topic: Communications Definitions


Bidirectional MSS-to-mainframe Example

You must configure the Mainframe Access Server to enable ES/MSS outbound communications and provide it with definitions for the target CICS and target ES/MSS systems.

You must also create an appropriate connection definition for your enterprise server. The connection definition is shown below.

Figure 1. Example of MSSto Mainframe Connection Definition
Example of MTO to Mainframe Connection Definition

As with the previous example, the name of the definition, RSYS in this example, must match the server name as defined in the Mainframe Access server definition, which in turn points to the target CICS region on the mainframe. This example would have a Mainframe Access server definition similar to the folllowing:

<MCOID=RSYS>
LUNAME=CICSTSR3
TPNAME=*
MODENAME=#INTER
SYNCLEVEL=0
SECURITY=NONE
<END>
Note: If your enterprise server is not going to initiate the communications, you can omit the connection definition.
Parent topic: Communications Definitions


MSS-to-MSS Example

Two MSS-enabled enterprise servers, PEERSRV1 and PEERSRV2, are to be connected using CCITCP. Two connection definitions are shown, although only one is required.

The connection definition for the first region is shown below.

Figure 1. Example Connection Definition for PEERSRV1
Example Connection Definition for PEERSRV1

The connection definition for the second region is shown below.

Figure 2. Example Connection Definition for PEERSRV2
Example Connection Definition for PEERSRV2
Parent topic: Communications Definitions


CICS Communications Using Microsoft Host Integration Server

This chapter describes how to configure communication links using Microsoft Host Integration Server (HIS) as the communications manager. This architecture uses an SNA link between CICS applications running on a mainframe and a CICS system running on one or more Microsoft Windows PCs. HIS is a part of the BizTalk software suite. In order to use these instructions, you should be familiar with:
  • The concepts of a CICS system, and how it can operate over multiple machines in a single system environment
  • CICS intersystem communication requirements
  • Configuring a Microsoft HIS local server
  • Configuring a Microsoft HIS client running COBOL

For information on communication between IBM CICS products, see the IBM publication CICS Family: Interproduct Communication, SC33-0824.

For information on installing and configuring Microsoft HIS, see the Host Integration Server 2006 Help.

  • Process Overview
  • System Architecture
  • Configuration Definitions
  • Connecting a Client to the Host CICS Region
  • Defining a CICS Connection from the Host to the Local COBOLSystem
  • Setting Up Communications from Host to Local CICS System
Parent topic: CICS Support


Process Overview

To set up an SNA link between a mainframe CICS environment and the COBOL environments running on a local server and client PCs, follow the procedures outlined in the following four stages. The procedures describe how to configure an 802.2 DLC connection:

  • Configure the communication link between the HIS local server and the mainframe host:

    This stage involves installing the HIS software on the local server and any clients, and configuring the SNA link from the local server to the mainframe.

  • Connect the local CICS system to the Host CICS region:

    This stage involves configuring the connections between the local CICS systems (running on any clients), and the CICS region running on the host.

  • Define the client connections and sessions to the host:

    This stage involves defining the local connections and sessions to the host CICS region, so that the host can recognize sessions running on the client COBOL system.

  • Set up communications from the host to the local CICS system:

    This stage involves configuring the link so that the host can initiate tasks on a local CICS system.

This chapter provides an overview of the procedures in each stage. For detailed information on each procedure, refer to the documentation delivered with the Microsoft HIS software.

Each procedure includes a list of the information you need to configure an 802.2 DLC connection. You can collect this information from your mainframe system administrator. An example value is included for each setting required. These example values are used consistently across the procedures described in this chapter, to help clarify situations where different procedures use the same values.

Parent topic: CICS Communications Using Microsoft Host Integration Server


System Architecture

A system that uses Microsoft HIS to manage SNA communications typically consists of:

  • A mainframe running CICS applications.
  • A PC with a dedicated SNA link to the mainframe. This PC runs a HIS server installation, and acts as an SNA manager.
  • One or more client PCs running HIS SNA client, and COBOL systems.
Figure 1. HIS architecture
HIS rchitecture

For details of a Microsoft HIS installation's hardware and software requirements, refer to the Host Integration Server 2006 Help.

Parent topic: CICS Communications Using Microsoft Host Integration Server


Configuration Definitions

The terminology used often varies between environments and communications service managers used. The following table details the terminology that is used in this chapter. Alternative names are shown in parentheses.

Generic Term | Description
Client | A machine, running a COBOL system, where you install Microsoft HIS Client software. This machine accesses a host CICS environment via a local server.
Data Link Control (DLC) link The interface to the network. The attributes of a link can be divided into two parts:
  • Characteristics of the port (logical and physical)
  • Control characteristics of the link
Control Point (CP, CP Name) | Identifies the local node manager that provides services to the local logical units.
Link station | The part of data link control (DLC) that is responsible for the transfer of data between two communications services managers connected by a link.
Local server | The machine with the SNA link to the host, where you install Microsoft HIS Server software, to provide access to a COBOL System running on client PCs.
Network name (NETID) | The name of the network to which the system is connected.
Logical Unit (LU) | A network accessible unit (NAU). In SNA there are a number of logical unit types that identify the protocols supported by that logical unit. For APPC the LU type is 6.2 referred to as LU 6.2.
Partner LU | The logical unit with which to communicate.
Transaction Program (TP) | The program to be executed at one end of a conversation.
Session | The logical connection between two network accessible units.
Inter Systems Communications (ISC) | Two or more regions running on different processor complexes that are able to communicate with each other.
Mode | The connection characteristics of a session.
  • Configuring HIS Local Server to Mainframe Communication
  • Mainframe connection information requirements for 802.2 DLC
  • Installing the Microsoft HIS software on the local server
  • Installing the Microsoft HIS software on each of the local clients
  • Configuring the Link Service for the local server
  • Configuring the connection
  • Configuring the remote system's network address
  • Configuring the System Identification
  • Configuring 802.2 DLC Properties
  • Configuring Local APPC LUs
  • Configuring Remote LUs
  • Adding a User
  • Configuring a 3270 LU for the 3270 Applet
  • Associating a 3270 LU with a User
  • Saving the Configuration
  • Activating the Configuration
Parent topic: CICS Communications Using Microsoft Host Integration Server


Configuring HIS Local Server to Mainframe Communication

This section provides overviews of the configuration tasks, and information on the settings each the task configures. For specific details on performing each task, refer to your Microsoft Host Integration Software documentation.

To enable a mainframe CICS environment to communicate with the COBOL system running on a HIS local server, an LU 6.2 link is required between the local server and the mainframe. The LU 6.2 link is separated into SNA Server (PC) and VTAM (mainframe) components.

Parent topic: Configuration Definitions


Mainframe connection information requirements for 802.2 DLC

For an 802.2 DLC connection, you require, from your mainframe system administrator, the information detailed in the table below. For each item, the table lists the configuration task that requires the information, and an example value. For details of the local information required, refer to each task.

Parameter from the VTAM System Administrator | Task and Example Value | Description
Remote Network Name (NETID) | Configuring the Local Server: HSTNET1 | The network name of the VTAM domain. All resources that comprise this VTAM domain are in this VTAM domain.
Local Control Point (CP) name assigned to the local server | Configuring the Local Server: MCOPU020 | The unique PU identifier created by the mainframe administrator for the local server. This is specified in the VTAM PU definition for this machine. That is, the CP name matches the PU identifier.
Remote Network Address | Configuring the Connection Address: 400000004044 | 12-digit hexadecimal network address of the remote host system's network controller.
Remote Control Point (CP) Name (also known as SSCPNAME) | Configuring the System Identification: HSTMVS | The name of the remote system
The XID format used by the host system | Configuring the System Identification: 3 (default) | The XID format can be either 0 or 3. A format of 3 is generally used for APPC (and must be used for independent APPC LUs). The older format, 0, tends to be used for 3270 devices.
Remote Node ID | Configuring the System Identification: None | An 8-digit hexadecimal number used to identify the host system on the SNA network. Your mainframe system administrator will advise whether or not you need to use this.
Local Node ID | Configuring the System Identification: 05D,22222 | An 8-digit hexadecimal number used to identify the local system on the SNA network. The first three digits are the IDBLK and the last five are the IDNUM. These must correspond with the IDBLK and IDNUM fields of the VTAM PU definition for this machine, as defined on the host system.
Maximum Basic Transmission Unit (BTU) Length (also known as I-Frame) | Configuring 802.2 DLC Properties: 1493 | The number of bytes that can be transmitted in a single data link control frame. This is calculated by subtracting 9 from the MAXDATA parameter of the PU definition for this machine (that is, maximum BTU length = MAXDATA - 9). This is a maximum value. The actual value used is negotiated to the highest value below this figure that is acceptable to both partners.
List of independent LUs for your PU definition. | Configuring Local APPC LUs: MCOLU021 | These LUs are required for APPC and are defined in the list of LUs defined for your PU on VTAM. You can have multiple independent LUs per PU. All independent LUs for your PU have LOCADDR set to zero under the PU definition on VTAM.
Target LU Name | Configuring Remote LUs: HSTCICS1 | This should match the LU definition as it exists on the remote system, in this case, a VTAM APPLID definition on the host system. To communicate with a host CICS system, this is the APPLID of the host CICS environment .
List of the dependent LUs defined as terminals with their associated LU number for your VTAM definition. Configuring a 3270 LU for the 3270 Applet:
  • MCOTRM22,2
  • MCOTRM23,3
  • MCOTRM24,4
These LUs are used for terminals to the host. They are not required for APPC, but are very useful for the host CICS configuration. They are found under your PU definition on VTAM. The LU number must match the associated LOCADDR number for this named LU.
The Mode Table defining the session limits for the connection | Configuring Remote LUs: #INTER | This is used to negotiate the session limits with the host. Normally the host would use the default mode of #INTER. If #INTER is not appropriate, you can define and use another mode. If you need to define another mode, your VTAM system administrator should be able to supply the parameters required, and the Host Integration Server 2006 Helpthe Host.
Parent topic: Configuration Definitions


Installing the Microsoft HIS software on the local server

In this procedure, you install the Microsoft HIS server software onto the local server, and add the configuration details required to define the local server.

When you run the Microsoft Host Integration Server Installation Wizard, select the Server and the Documentation options.

Parameter | Example value | Origin and description
Remote network name (NETID) | HSTNET1 | Mainframe administrator: the VTAM domain's network name.
Local control point (CP) name assigned to the local machine | MCOPU020 | Mainframe administrator: the VTAM PU assigned to the local Microsoft HIS server.
Parent topic: Configuration Definitions


Installing the Microsoft HIS software on each of the local clients

In this procedure, you install the Microsoft HIS client software onto each of the local clients.

When you run the Microsoft Host Integration Server Installation Wizard, select the Client and the Documentation options

Parameter | Example value | Origin and description
Sponsor server | NY-HOST-5 | The network name of the host system.
SNA Service Account | NYDOMAIN\MCOU | A valid user ID for the system
Parent topic: Configuration Definitions


Configuring the Link Service for the local server

In this procedure, you create a new DLC 802.2 Link Service and specify the network adaptor that the link service uses.

Parameter | Example value | Origin and description
Link service name | SNADLC1 | User-assigned
Adapter | 4 | User-assigned

If the local server has more than one PU to the mainframe, you will need more than one link service. Each PU to a host requires a unique Local Service Access Point (SAP) address. If you are defining your first link service, use the default of 4. For a host with multiple PUs, the link service adapter number must be a hexadecimal number that is a multiple of 4, and is in the range of 04 to EC.

Parent topic: Configuration Definitions


Configuring the connection

In this procedure, you define the 802.2 connection for the local server.

Parameter | Example value | Origin and description
Connection name | MVSHOST1 | User-assigned
Link service | SNADLC1 | Defined when you configure the local server
Remote End | Host System | Defines the mainframe as the remote system
Allowed Directions | Both Directions | Allows communications in both directions
Activation | By Administrator | Can change this after testing to either On Demand, or At Server Startup
Parent topic: Configuration Definitions


Configuring the remote system's network address

In this procedure, you configure the remote system's network address.

Parameter | Example value | Origin and description
Remote Network Address | 400000004044 | Mainframe system administrator: Network address of the remote host system's network controller
Parent topic: Configuration Definitions


Configuring the System Identification

In this procedure, you configure the remote network system identification details.

Parameter | Example value | Origin and description
Remote Network Name | HSTNET1 | Mainframe system administrator: The network name of the VTAM domain.
Local Control Point Name | MCOPU020 | Mainframe system administrator: the VTAM PU identifier assigned to the local machine.
Local Node ID | 05D,22222 | Mainframe system administrator: identifies the local system on the SNA network.
XID Type | Format 3 | Mainframe system administrator: can be either 0 or 3, generally 3.
Remote Network Name | HSTNET1 | Mainframe system administrator: The network name of the VTAM domain.
Remote Control Point Name | HSTMVS | Mainframe system administrator: The name of the remote system
Remote Node ID |  | Mainframe system administrator will advise whether you need to use this. Identifies the host system on the SNA network.
Parent topic: Configuration Definitions


Configuring 802.2 DLC Properties

In this procedure, you configure the maximum Basic Transmission Unit (BTU) length for the connection.

Parameter | Example value | Origin and description
Max BTU Length | 1493 | The maximum number of bytes that can be transmitted in a single data link control frame. The actual value is the maximum value acceptable to both partners, up to the maximum value.

Before attempting to communicate to the host you must define the local and remote LUs that will be used to communicate over the SNA connection you have configured.

Parent topic: Configuration Definitions


Configuring Local APPC LUs

In this procedure, you configure the Local APPC Logical Units (LUs). Independent LUs are used to communicate over the host connection. You need to configure:

  • Local Advanced Program to program Communication (APPC) LUs
  • Remote LUs
Parameter | Example value | Origin and description
LU Alias | MCOLU021 | Mainframe system administrator: defined in the list of LUs configured for your PU on VTAM.
LU 6.2 type | Independent |
Network Name | HSTNET1 | Mainframe system administrator: The network name of the VTAM domain.

If you are using multiple APPC LUs, you can configure each of them as follows:

Parent topic: Configuration Definitions


Configuring Remote LUs

In this procedure, you configure a remote Logical Unit ( LU) that is assigned to a connection.

Independent LUs are used to communicate over the host connection. You need to configure:

  • Local Advanced Program to program Communication (APPC) LUs
  • Remote LUs: When communicating with host systems running VTAM (or NCP), the Remote LU is known as the APPLID.
Parameter | Example value | Origin and description
Connection | MVSHOST1 | Defined in the Configuring the Connection task.
LU Alias | HSTCICS1 | Mainframe system administrator: This LU name should match the definition of the LU as it exists on the remote system, in this case in the form of a VTAM APPLID definition on the host system. To communicate with a host CICS system, this is the host CICS APPLID.
Implicit Incoming Mode | #INTER | Mainframe system administrator: Used to negotiate the session limits with the host.
Network Name | HSTCICS1 | Defaults to the value specified for the connection
Note:
  • When a connection is established between a Local LU and a Remote LU, the Mode characteristics are negotiated. The partner system (for example, the mainframe) may reduce the session limits, and fewer client sessions than expected may be supported. Hence it is important that the Mode characteristics as defined for both the Local and Remote LUs are compatible.
Parent topic: Configuration Definitions


Adding a User

Before you can use a connection you need to be defined to the Microsoft HIS SNA server as a user.

Parameter | Example value | Origin and description
User | MCOU | User-defined. A user name.
Parent topic: Configuration Definitions


Configuring a 3270 LU for the 3270 Applet

In order to use the Microsoft HIS Server 3270 Applet for 3270 terminal access to the host system, a 3270 LU must be configured for use by each terminal session.

This operation can be repeated for other 3270 dependent LUs for your PU. With a 3270 LU configured with the values below, the operation could be repeated for LU MCOTRM23 with an LU number of 3, and MCOTRM24 with an LU number of 4.

Parameter | Example value | Origin and description
LU number | 2 | Mainframe system administrator: LUs used for terminals to the host.
LU name | MCOTRM22 | Mainframe system administrator: LUs used for terminals to the host.
Parent topic: Configuration Definitions


Associating a 3270 LU with a User

When a user runs the Microsoft HIS Server 3270 applet, a 3270 LU is required in order to establish a 3270 session with the host system. This LU may come from a pool of 3270 LUs or it may be associated with the user. The example values define a pool and associate a user to this pool.

Parameter | Example value | Origin and description
Pool | DevPool | User-defined
Display Model Attributes | 2 (25x80) |
Assign to user | MCOU | A user that you have configured
Parent topic: Configuration Definitions


Saving the Configuration

To save the configuration, from the File menu, click Save.

Parent topic: Configuration Definitions


Activating the Configuration

To activate the configuration, you must stop and restart the Microsoft HIS Server service.

Provided the 'Activation Type' was defined as 'On Server Startup' or 'On Demand', when the server is active, the underlying connections activate.

When configured for Incoming and Outgoing calls, the status for Connections becomes 'On Demand/Incoming' when successfully activated. The connection status becomes 'Active' when the first session is established, or if the connection is activated manually by the administrator.

Parent topic: Configuration Definitions


Connecting a Client to the Host CICS Region

Once you have configured Microsoft HIS on the server, you can configure each client to communicate with the host CICS region. Once you have the Microsoft HIS SNA Server to host connection working as described in the previous section, the configuration of the client and the host CICS region should be simple.

The parameters that you require for configuring the client to the host are:

Client Name | From your VTAM Administrator | Host CICS Name as in CEDA | Example Value | Matching Microsoft HIS SNA Server Parameter
LU alias | Independent LU for the connection's PU that you are going to use |  | MCOLU021 | SNA Server value for 'LU Alias' in the 'Local APPC LU' definition for the APPC LU that you are going to use
Partner alias | Target LU name for your connection |  | HSTCICS1 | SNA Server value for 'LU Alias' in the 'Remote APPC LU'; the host CICS system's APPLID
Alias applid | The APPLID of the local client as defined to the host. This is not in the list above because it takes a default value. |  | MCOLU021 | SNA Server value for 'LU Name' in the 'Local APPC LU' definition for the APPC LU that you are going to use. Normally the same as 'LU Alias'.
Mode table | The mode table defining the session limits for the connection | 'MOdename' under 'Session Identifiers' | #INTER | SNA Server value for 'Implicit Incoming Mode' in the 'Remote APPC LU'
Net name | Your local CICS system's network name. This is the same as Alias APPLID. | 'Netname' under 'Connection Identifiers' | MCOLU021 | SNA Server value for 'LU Name' in the 'Local APPC LU' definition for the APPC LU that you are going to use. Normally the same as 'LU Alias'.
  • To define a client connection to a host CICS system
  • To include the resource group in the startup list
Parent topic: CICS Communications Using Microsoft Host Integration Server


To define a client connection to a host CICS system

To define a client connection to a host CICS system use the Enterprise Server Administration interface.

  1. Open the Start menu>Micro Focus Studio Enterprise Edition>Configuration>Enterprise Server Administration.On the administration page click Start next to the name of the CICS server you want to use.
  2. ClickDetails next to the name of the server and navigate to Server...> Control> ES Monitor and Control. The Server information page is displayed.
  3. In the Resources panel on the sidebar, choose by Group from the list and then click Groups.
  4. Add a new group or choose a group to add your connection definition to. Click Details next to the group's name.
  5. On the details page click Sys62. This opens the page for creating a LU6.2 system connection.
  6. Enter the following values:
    • Name of the Sys62.
    • (Optional) Description of the Sys62.
    • In the LU Alias field, enter the independent LU name for your PU as defined on VTAM.
    • In the Partner Alias field, enter the APPLID of the remote CICS system.
    • In the Net Name, enter the APPLID of the remote system or region.
    • In the APPLID field, enter the APPLID of the local system as defined to the host.
    • In the Mode table field, enter the mode table that Microsoft HIS SNA Server and the host are to use.
    • In the Session maximum field, enter the maximum number of sessions between LU-LU pairs. The maximum number supported is: 5.
  7. Click Group list to return to the group’s details page.
  8. Click PPT. The Processing Program Table page opens.
  9. Enter the following values:
    • PPT name.
    • (Optional) Description.
    • Remote SysID. The value should be equal to the name you have entered for the Sys62.
  10. Return to the Server home page.
Parent topic: Connecting a Client to the Host CICS Region


To include the resource group in the startup list

To include a resource group in the startup list use the Enterprise Server Administration interface.

  1. Open the Start menu>Micro Focus Studio Enterprise Edition>Configuration>Enterprise Server Administration.On the administration page click Start next to the name of the CICS server you want to use.
  2. ClickDetails next to the name of the server and navigate to Server...> Control> ES Monitor and Control. The Server information page is displayed.
  3. In the Resources panel on the sidebar, choose by Group from the list and then click Groups. A list of all resource groups that are currently included in the host CICS system's definitions is displayed.
  4. Click New. The new group page is displayed.
  5. Enter:
    • Name of the group.
    • (Optional) Description of the group.
Parent topic: Connecting a Client to the Host CICS Region


Defining a CICS Connection from the Host to the Local COBOLSystem

In order for the host CICS region to recognizeCOBOL system running on a local client, you need to define a connection definition and an associated session on the host. On most host systems, a CICS region change such as this is usually applied by the system administrator. Liaise with your system administrator to perform this process.

You need to have a resource group for the connection and session definitions. The example group value is HSTTOSNA. The example connection name is LU21 and the session name is LU21SESS.

You can use an SNA Server 3270 applet to configure the host CICS system by entering the VTAM ID of your host CICS region when the terminal has a connection to the host VTAM system.

This procedure describes how to use the IBM-supplied transaction CEDA to configure the host CICS regions. For more information on the CEDA transaction, see the IBM publication CICS/ESA 3.3 Resource Definition.

In the following procedures, accept the default values for the fields that are not described. When you have defined your connection and sessions, and have tested them, you can configure the connections and settings to be installed automatically on the host CICS region at startup. You can do this by adding the group to your CICS startup list.

  1. In CICS, on the host system, enter the following transaction:

    transaction 'CEDA DEFINE GROUP(group_name) CONNECTION(connection_name)

    where group_name is the name of the group containing the connection connection_name. A transaction using the example values in this chapter is:

    CEDA DEFINE GROUP(HSTTOSNA) CONNECTION(LU21)

  2. In the Netname field, under Connection Identifiers, type the netname of you local COBOL system and press Enter. The example value is MCOLU021. You should receive the message Define Successful near the bottom of the screen.
  3. Press PF3 to end CEDA, followed by Clear.
  4. Enter the transaction:

    CEDA DEFINE GROUP(group_name) SESSION(session_name)

    where group_name is the name of the group containing the session session_name. A transaction using the example values in this chapter is:

    CEDA DEFINE GROUP(HSTTOSNA) SESSION(LU21SESS)

  5. In the Connection field, under Session Identifiers, type the name of the connection you have defined. The example value is LU21.
  6. In the MOdename field, under Session Identifiers, type the name of the mode table that you are using. The example value is #INTER.
  7. In Session Properties you need to enter the maximum number of sessions in the group and the maximum number of contention winners. Example values are 8 and 4 respectively.
  8. If required, change send size and receive size default values. This will depend on your mode table.
  9. Press Enter and you should receive the message Define Successful near the bottom of the screen.
  10. Press PF3 to end CEDA, followed by Clear.
  • Defining a Terminal for Transaction Routing
  • Installing the Definitions
  • Configuring a Default Terminal
  • Testing the Connection to the Host CICS System
  • Starting the Local CICS Connection
Parent topic: CICS Communications Using Microsoft Host Integration Server


Defining a Terminal for Transaction Routing

On some versions of VTAM you might need to define a terminal so that you can perform transaction routing to the host CICS region from the local COBOL system.

This requirement is indicated by the error message TXCS1012E Comms error x'0006' during route of TRAN to system HST1 when you enter the first transaction ID to be run on the host CICS region.

If you define a transaction routing terminal, you also need to change the default terminal configuration. The example transaction routing terminal is: L21A.

  1. Enter the transaction:

    CEDA DEFINE GROUP(group_name) TERMINAL(terminal_id)

    where group_name is the name of the group containing the terminal_id terminal definition. With the example values, the command is

    CEDA DEFINE GROUP(HSTTOSNA) TERMINAL(L21A)

  2. Enter the following details under Terminal Identifiers:
    • Typeterm = DFHLU2
    • Netname=L21A
    • REMOTESYSTem = LU21
    • REMOTEName = L21A
  3. Press Enter and you should receive the message 'Define Successful' near the bottom of the screen.
  4. Press PF3 to end CEDA, followed by Clear.
Parent topic: Defining a CICS Connection from the Host to the Local COBOLSystem
Related information
Configuring a Default Terminal


Installing the Definitions

After you have defined the connection, the session, and, if required, the terminal, you need to install the terminal definitions. As a connection and a session are paired, you need to install the group that they are contained in rather than the individual entries.

  • Using the example values, on your host CICS region, enter:

    CEDA INSTALL GROUP(HSTTOSNA)

    The message: Install Successful is displayed.

Parent topic: Defining a CICS Connection from the Host to the Local COBOLSystem


Configuring a Default Terminal

You only need to do this if you receive the following message when you enter the first transaction ID to be run on the host CICS region:

TXCS1012E Comms error x'0006' during route of TRAN to system HST1

To configure a default terminal use the Enterprise Server Administration interface.

Parent topic: Defining a CICS Connection from the Host to the Local COBOLSystem
Related information
Defining a Terminal for Transaction Routing


Testing the Connection to the Host CICS System

To test your connection to the host CICS system you need to ensure that:

  1. The HIS local server has an active link to the host.
  2. The host CICS region is running. In most installations this is the case, but sometimes you may need to ask your host system administrator to start the host CICS region that you are going to connect with. It can usually be tested by using an SNA Server 3270 applet and entering the VTAM ID of your host CICS region when the terminal has a connection to the host VTAM.
Parent topic: Defining a CICS Connection from the Host to the Local COBOLSystem


Starting the Local CICS Connection

To start the local CICS connection use the Enterprise Server Administration interface.

  1. Open the Start menu>Micro Focus Studio Enterprise Edition>Configuration>Enterprise Server Administration. On the administration pageclick Start next to the name of the CICS server you want to use.
  2. With a 3270 terminal emulator connect to the CICS region.
  3. Complete any sign-on procedure required by your system.
  4. Enter the transaction:

    CRTE SYSID=HST1

    where HST1 is your connection definition name. You should receive the following message:

    DFH4409 The routing session to system HST1 has been started

    This initiates transaction routing for this terminal without acquiring any resources. It does not test the connection.
  5. To test the connection, enter a transaction that you know exists on the host CICS system. A suitable transaction is:

    CEMT INQUIRE CONNECTION

    This should return the following information:
    IN CONN
STATUS:  RESULTS - OVERTYPE TO MODIFY
Con(COA1) Net(COA1REMT)  Ins Rel  Vta Appc
Con(LU21) Net(MCOLU021)  Ins Acq  Vta Appc

    In the list of connections, you should see the connection that you have defined, and the netname associated with it. It should also have the acquired status (Acq).

Parent topic: Defining a CICS Connection from the Host to the Local COBOLSystem


Setting Up Communications from Host to Local CICS System

At this stage, you are not able to use transaction routing, function shipping, or DPL from the host CICS region. Also, distributed transaction processing (DTP) does not work because the host CICS region is currently unable to initiate tasks on the local CICS system.

If you have reached this point successfully, you should now have the HIS software on the local server configured and connected to the VTAM host system. The CICS system should be able to use transaction routing, function shipping, and distributed program linking (DPL) to the host system.

  • Defining Transaction Programs
  • Testing Inbound Transaction Routing from the Host
Parent topic: CICS Communications Using Microsoft Host Integration Server


Defining Transaction Programs

In this procedure, you define transaction programs (TPs) to the HIS local server (or client connected to an SNA Server) so that it knows how to invoke a CICS program.

For inbound communications, the HIS SNA Server requires registry entries to be created for each CICStransaction on the local server or a client. These entries are used by the HIS SNA Server to start the CICS program dfhgatch.exe, which routes the request to the correct CICS region and transaction.

The Micro Focus CICS registry entries for the transaction programs can be found in the following location:

/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/SnaBase/Parameters/TP's/tpname/Parameters
  1. Start Enterprise Server command prompt.
  2. Run mftpset.exe. This displays a dialog box that enables you to add or overwrite the registry entry for the inbound transaction program.
  3. Specify the TP Name. This is used to identify the transaction program to the HIS SNA Server. This TP name should correspond to the transaction that the host system attempts to run on the local CICS Option (for example, CRTE).
  4. Specify the Command line that starts the transaction on the local CICS region.
  5. Specify the name of the Local LU Alias as defined to the HIS SNA server for the inbound request. This is the independent LU that you are going to use for your PU as defined to VTAM. The example value is: MCOLU021
  6. Click OK

For information on adding and editing transaction programs, see the Host Integration Server 2006 Help.

An important point about tpstart.exe is that it only reads the registry when it is started. So, if you have updated the registry by adding or changing a TP, you need to stop and restart tpstart.exe to pick up any updates.

The following TPs must be defined for inbound function shipping, transaction routing, and distributed program linking:

TP Name | CICS Transaction | Purpose
CPMI | CPMI | Function shipping mirror transaction for ANSI
CSMI | CSMI | Function shipping mirror transaction, general
CVMI | CVMI | Function shipping mirror transaction for EBCDIC
CRTE | CRTE | Transaction routing transaction
CRSR | CRSR | Internal CICS housekeeping transaction

For inbound function shipping, transaction routing, or distributed program linking, you must add the resource group DFHISC to the startup list in the SIT that contains the PCT definitions for the above transactions.

Parent topic: Setting Up Communications from Host to Local CICS System


Testing Inbound Transaction Routing from the Host

When you have added the required TP definitions to the registry, you are able to perform inbound transaction routing from the host.

This test completes the configuration. To test your connection to the host ensure that:

  1. The Microsoft HIS SNA server has an active link to the host.
  2. The host CICS region is running. In most installations this is normally the case, but sometimes you may need to ask your host system administrator to start the host CICS region that you are going to connect with. It can usually be tested by using an SNA Server 3270 applet and entering the VTAM ID of your host CICS region when the terminal has a connection to the host VTAM.
  3. You have restarted the region as described in the section Starting the Local CICS System.

When the previous steps have been done:

  1. Start a Microsoft HIS SNA Server 3270 applet to the host VTAM, as described earlier, and connect to the host CICS region.
  2. When you have a session on the host CICS region, run the supplied transaction:

    CRTE SYSID=localwhere local is the name of the connection that you defined earlier. With the supplied example values, it is:

    CRTE SYSID=LU21

    .
  3. You should now be able to use the SNA Server 3270 applet as if it was a terminal on your local CICS system. To test the connection, run the transaction CENV supplied with CICS . This should give you information about your local CICS system. When you have completed transaction routing, enter the CANCEL command.
Note:

When transaction routing is active in one direction, you cannot then route back to your terminal. This is because when you attempt to route back, the original terminal-id is passed back and is rejected because it is not unique. All terminal-ids must be unique within a CICS region, both on the host and the local client.

Parent topic: Setting Up Communications from Host to Local CICS System
Related information
Starting the Local CICS Client


Configuring Terminals and Printers

This chapter describes how to set up and configure terminals and printers for the CICS support in Enterprise Server.

  • Overview
  • Using Telnet 3270 Terminal Emulators
  • Defining Terminal Models
  • Printers
Parent topic: CICS Support


Overview

The user interface to CICS applications running in Enterprise Server is through 3270 terminal emulators. These enable Enterprise Server to display CICS application input and output screens using 3270 data streams, and to receive input.

Note:

We recommend that you use a Telnet 3270 (TN3270) client such as Micro Focus RUMBA.

Parent topic: Configuring Terminals and Printers


Using Telnet 3270 Terminal Emulators

You can use third-party TN3270 terminal emulators as CICS clients. The TN3270 emulator session can run on the same machine as Server Enterprise Edition or on a network machine.

To use a TN3270 terminal emulator, you need to create a TN3270 listener in Enterprise Server Administration.

When you specify the Endpoint for the listener, we recommend that you use any port number above 5000 that isn't in use, since the usual port number for Telnet, 23, might already be in use for non-3270 Telnet access.

The TN3270 emulator session can run on the same machine as Enterprise Server or on a remote machine.

By default MSS installs TN3270 terminals dynamically as basic 3270 terminals. This means that some of the more advanced features of your TN3270 terminal emulator won't be available. To make these features available, you need to enable MSS to associate the TN3270 device type and a CICS typeterm definition, known as a T-Type in ESMAC.

The TN3270 device type is specified by the emulator software and might or might not be configurable. Device types indicate the ability of the emulator to support various elements of the 3270 data stream, for example, color, extended attributes, the use of a TCTUA etc.

During the connection negotiation the TN3270 client sends a data packet indicating which device it wishes to emulate. MSS uses this data to identify a T-Type entry which defines this terminal type.

To make this work you need to:

  1. Define a T-Type entry that matches the capabilities of the TN3270 terminal emulator.
  2. Define a terminal model entry on the ESMAC Term page which points to this typeterm definition. Required fields for the terminal model entry are:
    Name | Unique name of this terminal model
    Model | O(nly) or Y(es)
    Model name | The TN3270 device type
    Terminal type | The name of the T-type entry to use with this terminal

For example, suppose the TN3270 client software is configured to emulate an IBM 3279 MOD2 with support for extended attributes. At connection time MSS searches for a terminal model entry with the name TN32792E. The terminal type specified in this terminal entry is then used to look up the terminal's details in the T-type entry .

If you want to use a screen size other than the default, which is MOD2 (24 by 80), you also need to:

  • Specify the screen size in the Alt. Screen Width and Alt. Screen Height fields of the ESMAC T-Type page.
  • Set the environment variable ES_TN3270_FORCE_ALT=Yes before starting the enterprise server.
  • To specify a listener for TN3270 terminals
Parent topic: Configuring Terminals and Printers
Related information
To specify a listener for TN3270 terminals


Defining Terminal Models

The steps to define a terminal model are outlined below.

  1. Create a new entry in the terminal control table. (In ESMAC select Resources > by Type, click one of the table buttons, scroll down to the end of the table, and click Term.)
    • For a terminal definition specified as Model: Only, you must specify:
      • Model Name.
      • Terminal Type: the name of a typeterm entry
    • For a terminal definition specified as Model: Yes, you must specify:
      • Model Name.
      • Terminal Type: the name of a typeterm entry
      • Net Name.
    • A terminal definition specified as Model: No is a physical terminal definition and you must specify:
      • Terminal Type: the name of a typeterm entry
      • Net Name.
  2. Create a matching T-Type entry (if none exists). (In ESMAC from the Term page click Group List, scroll down to the end of the table, and click TType.) At a minimum, this must specify:
    • Def. Screen Height
    • Def. Screen Width

    Many different models can refer to the same T-Type entry.

Parent topic: Configuring Terminals and Printers


Printers

You can use a printer device for 3270 printer support. Printer support is handled by 3270 printer emulators, which interpret the 3270 printer data stream and send it to a system printer.

To start a printer emulator in a CICS enabled enterprise server, you must enable printer support. To do this update the following fields on the SIT page in ESMAC:

Field | Contents
3270 Print | Y
Print Destination | Device name for printed output, for example LPT1 on Windows but not UNIX

The enterprise server starts a printer emulator for each entry in the terminal table which is:

  • Set as MODEL=NO (the netname must be defined)
  • Has a Terminal Type entry which specifies a 3270 printer (3270P)

The netname defined in the terminal table must be unique to the region. The terminal ID for the printer is taken from the terminal definition.

To avoid conflicts with automatically assigned netnames, you should assign netnames to printers counting downwards from PRNZZZZ.

Parent topic: Configuring Terminals and Printers


CICS Web Interface Support

reUZE Server with Mainframe Subsystem Support can run CICS Web-aware programs (those that use EXEC CICS WEB commands).

In order to run these programs, you need to make sure the server has a Web Services and J2EE listener configured that matches a port identified for a TCP/IP service in the CICS resources definitions.

Enterprise Server supports version 3.1 and above of CICS Transaction Server.

  • To enable CICS Web interface support
    This task enables you to run Web-aware CICS programs.
  • CICS Web Error Processing
    Sources and copybooks that enable you to perform error processing for Web-aware applications.
  • Analyzer Programs
Parent topic: CICS Support


To enable CICS Web interface support

  1. In the Enterprise Server Administration console, choose the Listeners tab.
  2. Add a listener and set Endpoint Address to the port on which to listen for calls from CICS web-aware programs. You must also set Supported Conversation Type to Web Services and J2EE.
  3. In the Enterprise Server Administration console Server tab, choose the Control tab and click ES Monitor and Control.
  4. Create a new TCPIPSv resource and set Port to the same number as the Endpoint Address field in the associated listener. Make sure that the Open option is selected.
Parent topic: CICS Web Interface Support


CICS Web Error Processing

  • Web Error Application program
  • Web Error Program
Parent topic: CICS Web Interface Support


Web Error Application program

DFHWBERX uses the EXEC CICS WEB and DOCUMENT API commands to get information about the Web client's request and create and send the error response.

DFHWBERX is used in the following circumstances:

  • When it is configured in the Program setting in a URIMAP definition, if an error response is always wanted for the request.
  • When the default analyzer program DFHWBAAX is set as the analyzer program on the TCPIPSERVICE definition, and no matching URIMAP definition is found for a request. DFHWBAAX sets DFHWBERX as the application program using the wbra_server_program output parameter.

Refer to IBM's CICS Transaction Server documentation for more details of how DFHWBERX processes errors and recommendations on how to use it.

Parent topic: CICS Web Error Processing


Web Error Program

The Web error program DFHWBEP receives a list of parameters containing error information, and a block of storage containing the default HTTP response to send to the Web client. The program can use or modify the default response, or create and send its own response using the EXEC CICS WEB and DOCUMENT API commands.

The error information passed to DFHWBEP includes an HTTP status code, an error code, abend code, message number, response and reason codes, and the name of the program where the error has occurred. You can modify all the items in the error response.

Refer to IBM's CICS Transaction Server documentation for guidelines and recommendations on how to use DFHWBEP, and descriptions of the input and output parameters it uses.

Parent topic: CICS Web Error Processing


Analyzer Programs

Analyzer programs are associated with TCPIPSERVICE definitions. They interpret selected HTTP requests and take over some of the processing, monitoring and audit actions normally performed by a URIMAP.

Each CICS Web support TCPIPSERVICE definition must use an analyzer program, and each TCPIPSERVICE definition can specify a different analyzer program.

The use of an Analyzer program is specified in the Analyzer field of URIMAP definition and can override the URIMAP's Convertor, Transaction, User Id, and Program options when used.

Important:
  • You can only use analyzer programs if they have been compiled with ASCII specified as the character set.
  • Analyzer programs can only be called when CICS is an HTTP server. You cannot use them if CICS is an HTTP client, or processing Web services.

The Default Analyzer

If no URIMAP is defined, or no value is entered in the Analyzer field of a URIMAP definition, Enterprise Server uses DFHWBAAX as the default analyzer program for TCPIPSERVICE definitions that have Protocol set to "HTTP".

DFHWBAAX tests for the presence of a URIMAP definition, and depending on the result performs the following:

  • If it finds a URIMAP definition, DFHWBAAX automatically accepts the URIMAP definition's Transaction (alias transaction), Converter (converter program), and Program (application program) settings for use in any further processing.
  • If it does not find a matching URIMAP definition, DFHWBAAX passes control to the Web error application program DFHWBERX to produce an error response. For this to happen you must configure DFHWBERX as the application program to handle the request using the wbra_server_program output parameter.

For more information on DFHWBAAX and how to use TCPIPSERVICE analyzer programs, see IBM's CICS Transaction Server documentation.

Parent topic: CICS Web Interface Support


Modernizing CICS Applications

This chapter provides information about how you can extend your existing CICS applications.

  • Overview
  • Access to CICS Programs from Web Services and Services called from EJBs
  • CICS Transaction Gateway
  • Data Conversion
Parent topic: CICS Support


Overview

Extending existing applications involves the process of exposing your CICS applications to a range of non-CICS client types. Enterprise Server provides the following extension facilities:

  • Access to CICS programs from Web services and Enterprise JavaBeans running under Enterprise Server. For this you need no extra software.
  • CICS Transaction Gateway. For this you need IBM CICS Transaction Gateway (CTG) or IBM Universal Client. A typical scenario is where a graphical front-end runs on a PC, possibly in a Web browser, and uses a CICS application to access data resources managed by Enterprise Server.
Parent topic: Modernizing CICS Applications


Access to CICS Programs from Web Services and Services called from EJBs

A COBOL program running as a service in an enterprise server can call a CICS program running in the same enterprise server. The service can be either a Web service or a service called from an EJB. The service must be configured to be container-managed.

To use this facility you need to:

  1. Code an EXEC CICS LINK statement in the COBOL source program.
  2. Compile it using an extra Compiler directive option.
  3. Deploy the program in the usual way, having carried out any interface mapping required to make the program accessible as a service to client programs.
  4. Run the program as a service in an enterprise server. This involves invoking it from a suitable client.
  • Coding the EXEC CICS LINK Statement
  • Compiling the COBOL Program
  • Deploying the COBOL Program
  • Running the Service in an Enterprise Server
  • Restrictions
Parent topic: Modernizing CICS Applications


Coding the EXEC CICS LINK Statement

The COBOL program calls the CICS program using the External CICS Interface (EXCI). To use this interface, you need to code an EXEC CICS LINK call every time the COBOL program wants to invoke a CICS program.

CAUTION:

An EXCI call can only be executed in a service that is Container Managed. An EXCI call executed in an Application Managed generates an abend: EXIA

This is similar to the EXEC CICS LINK call used in a CICS program to perform distributed program linking. However, there are some significant differences.

The format of the call is as follows:

EXEC CICS LINK
    PROGRAM(program-name)
    RETCODE(data-area-1)
    COMMAREA(data-area-2)
    .
    .
    .
    END-EXEC

where the options are as follows:

PROGRAM(program-name) | The name of the CICS program to be invoked
RETCODE(data-area-1) | An area in which the CICS program places a return code indicating sucess or failure
COMMAREA(data-area-2) | An area that the service program and the CICS program use for communications

The call must be immediately followed by an EXEC-END statement.

For example:

exec cics link
               program     (ws-program)
               commarea    (ws-commarea)
               retcode     (exci-exec-return-code)
end-exec

We supply a copy book, DFHXCPLO, which provides data descriptions for RETCODE and COMMAREA. You can find this copy book in install-dir\base\source . The copybook has data descriptions for the parameter passed in the RETCODE field, exci-exec-return-code:

01 exci-exec-return-code.
   03 exec-resp                pic 9(8) comp.
   03 exec-resp2               pic s9(8) comp.
   03 exec-abcode              pic x(4).
   03 exec-msg-len             pic 9(8) comp.
   03 exec-msg-ptr             pointer.
Parent topic: Access to CICS Programs from Web Services and Services called from EJBs
Related information
CICS External CICS Interface Guide


Compiling the COBOL Program

You need to compile the program in Net Express or Server Express with the CICSECM(EXCI=YES) directive. Note that if you are using the Net Express GUI, you must not check EXEC CICS on the Compile tab of the Build Settings dialog box, but must type the directive in Directives.

Parent topic: Access to CICS Programs from Web Services and Services called from EJBs


Deploying the COBOL Program

After you have performed any interface mapping necessary to make the program available a a service, you need to deploy it. For more information on interface mapping and deploying see the Service Interfaces part of the help. The program must be deployed as a container-managed service.

Parent topic: Access to CICS Programs from Web Services and Services called from EJBs


Running the Service in an Enterprise Server

Once the COBOL program has been deployed to the MSS-enabled enterprise server where the target CICS program runs, you need to invoke it using a suitable client. For more information about clients see the chapters COBOL Web Services with the Interface Mapping Toolkit in the Web Services and COBOL book and Mapping a Java Interface and Using Resource Adapters in the Java and COBOL book.

When the EXEC CICS LINK statement in the service program is executed, control is passed to the CICS program, which executes and passes the results back to the calling service program. The service program sets the return code to indicate to the container wheher or not the transaction should be rolled back.

When a service executes within an enterprise server, the COBOL program search path is restricted to the setting of Package Path within the service’s package object, set on the Edit Package page of Enterprise Server Adminstration. When an EXCI call is issued the search path is temporarily modified to include the system-wide CICS Transaction Path set on the Edit Server > Properties > MSS page.

Parent topic: Access to CICS Programs from Web Services and Services called from EJBs


Restrictions

The following restrictions apply to the use of the External CICS Interface:

  • The COBOL service and the CICS program it calls must be running in the same enterprise server. The EXEC CICS LINK command takes the APPLID() operand, which is used to specify a remote server on which the CICS program resides, but it is ignored.
  • The EXEC CICS LINK command takes the SYNCONRETURN() operand, which is used to specify that the MSS enterprise server is to take a syncpoint on successful completion of the server program. This operand is ignored. You can only use the EXCI interface from a container-managed service. The resources updated by the CICS program should not be committed or rolled back until the container-managed service is complete so that the CICS resources remain coordinated with those of the calling service.
  • The CICS program should not issue explicit EXEC CICS SYNCPOINT commands. Results will be unpredictable and might leave resources in an inconsistent state.
Parent topic: Access to CICS Programs from Web Services and Services called from EJBs


CICS Transaction Gateway

The following components are required to run a CICS application using CTG and Enterprise Server:

  • Your client program. You can build and run the client program under Net Express.
  • Middleware. Messages and data are passed between the server and client components using middleware. MSS supports the middleware products, IBM CICS Transaction Gateway® ECI Version 1 calls and IBM Universal Client® Version 3.0. This middleware software must be installed on the same machine as your client program.
  • Enterprise Server.
  • Your CICS programs. You deploy these to the machine where Enterprise Server with MSS is installed.

Net Express and Enterprise Server can be on the same or different machines.

This chapter uses CTG to mean IBM CICS Transaction Gateway or IBM Universal Client.

You use CTG as the middleware between your client program and the CICS application running on Enterprise Server.

To enable support for CTG, you need to set up both the client and server software. You need to:

  1. Configure the IBM CTG client and tell it which machine the server program is running on.
  2. Prepare your client program, by inserting ECI calls to the CTG in your program.
  3. Compile your CICS server program.
  4. Configure the enterprise server that will run the CICS server program. Among other things, this involves enabling an enterprise server for MSS .
  5. Add an enterprise server listener for CICS requests.
  • Demonstration Programs for CTG
  • Configuring the CTG Client
  • Preparing the Client Program
  • Compiling your CICS Server Program
  • Configuring the Enterprise Server
  • Adding a Listener to Enterprise Server
  • Running the Demonstration
Parent topic: Modernizing CICS Applications


Demonstration Programs for CTG

This chapter uses the application eci.app to demonstrate how to set up the client and server software.

To follow the examples in this chapter, you need Net Express version 4.0 or later with MSS installed, so that you can compile and run the demonstration client program. You need the following software installed:

  • Net Express 4.0 or later
  • Enterprise Server
  • All WebSync WrapPack

The CTG demonstration programs are supplied with Net Express in the Examples\Net Express IDE\mto-ctg directory of your Net Express installation.in the directory \mfe\mfcics\source They are:

eci.app | A Net Express project file for the COBOL programs.
eci2oper.cbl | A server program that you run under Server Enterprise EditionMainframe Express. It consists of a CICS program that writes a data area to the system console. This transaction program performs a WRITE OPERATOR command on the field ECI-DEMO-MESSAGE using the text passed in the DFHCOMMAREA. If the WRITE OPERATOR command fails, the EIBRESP and EIBRESP2 values are passed back to the calling program in the fields ECI-ERROR-EIBRESP and ECI-ERROR-EIBRESP2.
eci-call.cbl A client program that you run under Net Express. This batch program has three main parts:
  • initialise-eci-interface set-up-eci-call - Sets up an entry point to the module CCLAPI32 dfhtexst that handles the calling of the ECI.
  • call-eci-program - Calls CCLAPI32 dfhtexst and passes it the data area and program name to run. The following fields from the ECI-PARMS structure are worth noting:
    • eci-program - The name of the program to be run by Server Enterprise EditionCICS Option.
    • eci-commarea-pptr - A pointer to the data area to be passed to and from Server Enterprise EditionCICS Option.
    • eci-error-id - If the program completes successfully this contains a value of 0. If unsuccessful it contains the value of an error condition described in the IBM publication CICS Transaction Gateway Programming Reference SC34-6140-00.
  • display-eci-error - Checks for any error conditions returned by the program running under Server Enterprise EditionCICS Option or by CCLAPI32 dfhtexst . If errors occur in the eci2oper program, they are returned in EIBRESP and EIBRESP2. Note, this is not a general requirement, but is part of the implementation of the demonstration program.
eci2oper.mlc | The data conversion macros needed by the demonstration application.
Parent topic: CICS Transaction Gateway


Configuring the CTG Client

The CTG needs to know which machine the server program is running on.

You specify this using the CTG configuration tool. Alternatively, you can edit the CTG configuration file ctg.ini (or cicscli.ini for Universal Client) on the client machine.

To configure the CTG client for the demonstration:

  1. Start the CTG configuration tool, which is available, by default, on the Windows Start menu as IBM CICS Transaction Gateway > Configuration Tool.
  2. Add a new server for the client and set the following options:
    Server name | name for the enterprise server, such as myCICSserver
    Network protocol | TCP/IP
    Hostname or IP address | name of the machine running enterprise server
    Port | port number to listen on, which must be the same as the port number you specify for the Enterprise Server listener, later. The port number defaults to 1435, which is the IANA recognized port number for IBM CICS.

    Only the server name and hostname or IP address is mandatory.

  3. Save the configuration and close the tool
Parent topic: CICS Transaction Gateway


Preparing the Client Program

You need to insert your ECI calls to the CTG in your program. In COBOL, an ECI call looks like this:

CALL "CICS_ExternalCall" USING ECI-PARMS

ECI-PARMS is the ECI parameter block, through which the program communicates with the server. The parameter control block is available as a copybook in the copybook folder within your CTG installation. It is called cicseci.cbl. You need to make this copybook available to your client program. You do this by adding the CTG copybook directory to the COBCPY environment variable.

When you compile your program to an executable, you must link it to the CTG library, cclwin32.lib.

For further information about using CICS Transaction Gateway, see the IBM manual CICS Family: Client/Server Programming (SC33-1435).

Before you run the demonstration, prepare the Net Express client as follows:

  1. Locate the following code in the program eci-call.cbl
    01 ECI-Client-Type.
        03 pic x comp-x
           *> --
           *> --Change the following value to select client type
           *> --
           value 0.
       88 ECI-MicroFocus-88 value 0.
       88 ECI-UniCli-88     value 1.

    Change the above value clause to set ECI-Client-Type to 1.

  2. Save the program.
  3. Set the COBCPY environment variable to include the copybook directory of your CTG installation. This enables the project to locate the ECI copyfiles supplied by the CTG. To set the COBCPY environment variable edit the Project Properties
    1. Click Project > Properties
    2. Click IDE.
    3. Click Import.
    4. Select COBCPY and click OK.
    5. Double-click COBCPY.
    6. In the Value field, add a semicolon at the end, followed by the copybook directory of your CTG installation.
    7. Click Set and then OK.
  4. Notice in the project properties that EXEC CICS is not enabled for the project, since the client program is not a CICS program.
  5. Rebuild the program.
Parent topic: CICS Transaction Gateway
Related information
CICS Family: Client/Server Programming


Compiling your CICS Server Program

When you compile CICS programs, you use the CICS External Compiler Module (ECM), which preprocesses the EXEC CICS statements. The ECM is invoked by the CICSECM() directive, which you set when you choose EXEC CICS in the project build settings. The client program passes the Program-ID of the server program to Enterprise Server, which locates the program and starts it.

To compile the demonstration CICS program:

  1. In Net Express, open the project eci.app if it is not already open.
  2. Check that CICS is enabled for the server program eci2oper.cbl. To do this, right click eci2oper.cbl, click Build settings and then go to the Compile tab. Ensure that EXEC CICS is checked, which sets the CICSECM directive.
  3. Rebuild the project.
Parent topic: CICS Transaction Gateway


Configuring the Enterprise Server

To configure the enterprise server for the demonstration:

  1. Enable MSS in the enterprise server ESDEMO.
  2. On the MSS tab that you used in the previous step, in Transaction Path enter the location of the demonstration server program, eci2oper:
    Examples\Net Express IDE\mto-ctg\debug
  3. Start the enterprise server ESDEMO.
  4. If your CICS programs use the EBCDIC character set, you need to start ESMAC and do the following:
    • Specify the SIT to use.
    • Add a PPT entry for the server program in the resource definitions.
    • Make sure that the group to which you added the PPT entry is in the startup list.
    • Import the data conversion macros that the server program uses; see the section Data Conversion.
  • To enable MSS for an enterprise server
  • To start an enterprise server instance
  • To create a resource group
Parent topic: CICS Transaction Gateway
Related information
To enable MTO for an enterprise server
To start an enterprise server
To create a resource group
Data Conversion


Adding a Listener to Enterprise Server

To enable support for CTG, you need to add an MSS listener to Server Enterprise Edition so that it can receive and handle client requests from CTG. When you add the listener, you configure it and you specify a port for the listener to listen on.

To add a listener for the demo application:

  1. Start Enterprise Server Administration.
  2. In Server Enterprise Edition Administration, in the row for ESDEMO, click Edit.
  3. Click Listeners.
  4. Click Add and fill in the following details for the new listener:
    • A name for the new listener, such as MyECI.
    • A port number to use, in the form *.nnnn, such as 1435. You must use the same number as you specified when you configured the CTG client.
    • The Supported Conversation Type. Set this to MSS Inter-System Communication.

    Then click Add to return to the listeners page.

  5. Stop and restart the enterprise server.
  • Accessing the Enterprise Server Administration UI
Parent topic: CICS Transaction Gateway
Related information
To access Enterprise Server Administration
To start an enterprise server
To stop an enterprise server


Running the Demonstration

To run the demonstration:

  1. Start the CTG client from the Windows Start menu, which is by default in IBM CICS Transaction Gateway > Start Client. If you don't do this, the CTG client is started automatically when you run the program.
  2. In Net Express, open the project eci.app and rebuild it.
  3. Click Debug > Run.
  4. Ensure that the executable file is debug\eci-call.
  5. If Enterprise Server is not running, go to the MSS Debug tab and click Start Server Enterprise Edition.
  6. Return to the Application tab and click OK.
  7. When the Application Output window appears and prompts you to enter a message to send to the console, enter your message.
  8. The message is displayed in the Enterprise Server Console Daemon. To see the message within the Enterprise Server administration console:
    1. In the Current Status column for your enterprise server, click Details.
    2. At the bottom of the page, click ES Console.
Parent topic: CICS Transaction Gateway


Data Conversion

Within a single system using MSS, file data is always presented in the same codeset in which it was recorded. Between two systems running MSS, or between MSS and other CICS systems, data may need to be translated between EBCDIC and ANSI. The requirement and the method you use to meet it depend on which middleware you are using.

  • If You Use CICS Transaction Gateway
Parent topic: Modernizing CICS Applications


If You Use CICS Transaction Gateway

If you use IBM CICS Transaction Gateway, you can supply information that enables data to be converted in data conversion templates, which are held in an indexed file called dfhdrcnv, in the same folder as the resource definition file (by default ). Each data conversion template contains entries for resources that need translation and identifies which data fields require it. Each resource must have an entry in the resource definition file.

You cannot edit the file dfhdrcnv directly; instead you maintain it by importing mainframe-style DFHCNV macros, and by deleting templates that you no longer need.

Mainframe-style DFHCNV macros are organized into entries and templates. An entry is a set of conversion macros that apply to the same resource; the start of an entry is marked by a DFHCNV macro that begins TYPE=ENTRY and the entry continues until the next macro that begins TYPE=ENTRY, or until the END marker. An entry can contain one or several templates, depending on the type of resource it belongs to.

  • Importing Data Conversion Templates
  • Example Macros
Parent topic: Data Conversion
Related information
CICS Family: Communicating from CICS on System/390
CICS Web Interface Guide CICS for MVS/ESA 4.1


Importing Data Conversion Templates

You use the command cascnvim to convert the data. For more information see the help topics cascnvim and Data Conversion.

Note:

If data conversion is required for a program's COMMAREA, you must define a PPT entry for that program; see the section Controlling CICS Resources in the chapter Administering MSS-enabled Enterprise Servers.

Parent topic: If You Use CICS Transaction Gateway
Related information
cascnvim
Data Conversion


Example Macros

The following data conversion macros apply to a file (TESTFC), which has two data constructs, and to a program (TESTPC):

TITLE 'DFHCNV MACRO IMPORT'
* --------- START OF DFHCNV MACROS ---------- *
DFHCNV TYPE=INITIAL,CLINTCP=(932, 437,XXXX)
SPACE 2
DFHCNV TYPE=ENTRY,RTYPE=FC,RNAME=TESTFC,USREXIT=NO
DFHCNV TYPE=KEY
DFHCNV TYPE=FIELD,OFFSET=0,DATATYP=CHARACTER,DATALEN=8
DFHCNV TYPE=FIELD,OFFSET=8,DATATYP=PD,DATALEN=3,LAST=YES
DFHCNV TYPE=SELECT,OPTION=COMPARE,OFFSET=11,DATA='A'
DFHCNV TYPE=FIELD,OFFSET=0,DATATYP=CHARACTER,DATALEN=8
DFHCNV TYPE=FIELD,OFFSET=8,DATATYP=PD,DATALEN=3
DFHCNV TYPE=FIELD,OFFSET=11,DATATYP=CHARACTER,DATALEN=1
DFHCNV TYPE=FIELD,OFFSET=12,DATATYP=PD,DATALEN=4
DFHCNV TYPE=FIELD,OFFSET=16,DATATYP=PD,DATALEN=4
DFHCNV TYPE=FIELD,OFFSET=20,DATATYP=BINARY,DATALEN=8
DFHCNV TYPE=FIELD,OFFSET=28,DATATYP=USERDATA,DATALEN=10, X23456789
USRTYPE=B'01010000'
DFHCNV TYPE=FIELD,OFFSET=38,DATATYP=CHARACTER,DATALEN=50, X
LAST=YES
DFHCNV TYPE=SELECT,OPTION=COMPARE,OFFSET=11,DATA='B'
DFHCNV TYPE=FIELD,OFFSET=0,DATATYP=CHARACTER,DATALEN=8
DFHCNV TYPE=FIELD,OFFSET=8,DATATYP=PD,DATALEN=3
DFHCNV TYPE=FIELD,OFFSET=11,DATATYP=CHARACTER,DATALEN=1
DFHCNV TYPE=FIELD,OFFSET=12,DATATYP=USERDATA,DATALEN=2
DFHCNV TYPE=FIELD,OFFSET=14,DATATYP=CHARACTER,DATALEN=20, X
LAST=YES
DFHCNV TYPE=ENTRY,RTYPE=PC,RNAME=TESTPC
DFHCNV TYPE=SELECT,OPTION=DEFAULT
DFHCNV TYPE=FIELD,OFFSET=0,DATATYP=BINARY,DATALEN=12
DFHCNV TYPE=FIELD,OFFSET=12,DATATYP=CHARACTER,DATALEN=96
DFHCNV TYPE=FINAL
END
Parent topic: If You Use CICS Transaction Gateway


Administering CICS-enabled Enterprise Servers

This chapter describes how you can use Enterprise Server Monitor and Control to run CICS applications.

  • Overview
  • Visual Appearance
  • Enabling MSS for an Enterprise Server
  • Changing the SIT for an MSS-Enabled Server
  • Configuring CICS Search Paths
  • Specifying a Listener for TN3270 Terminals
  • Sending Messages to All Terminals
  • Viewing Locks
  • Controlling CICS Resources
Parent topic: CICS Support


Overview

Enterprise Server Monitor and Control (ESMAC) enables you to monitor and control CICS-enabled enterprise servers. When Enterprise Server is being used to run CICS applications, an enterprise server corresponds to a CICS region. You can use ESMAC to ensure all the resources required by your CICS application are available, and change and create resources for your application and other applications as necessary. You can also use all the facilities described in the chapter Administering Servers Using ESMAC in your Enterprise Server Configuration and Administration Guide, and in the help topics grouped under Administer a Server Using ESMAC. You should familiarise yourself with the contents of that chapter and the associated help topics before reading this chapter.

Parent topic: Administering CICS-enabled Enterprise Servers
Related information
To create an ESMAC user
To start ESMAC for a server
To monitor services
To configure dumps
To view a dump
To initiate a system dump
To specify what information is traced
To change the trace dataset
To transfer the in-memory trace data to the auxiliary dataset at rollover
To view a system trace
To record service input and output
To view a local trace for a SEP
To view a local trace for a client process
To kill a SEP
To reply to an ACCEPT FROM CONSOLE statement
To shut down a server


Visual Appearance

When you first view ESMAC for an CICS-enabled enterprise server, the Server Information page is displayed, as shown in Figure 0-1 :

Figure 1. ESMAC Server information page for CICS
ESMAC Server information page for CICS

When you run ESMAC on an CICS-enabled enterprise server, you can use it to view and change SITs, groups, startup lists, and other CICS resources required by CICS applications running on the enterprise server, in addition to all the facilities ESMAC provides for servers that are not enabled for CICS.

Parent topic: Administering CICS-enabled Enterprise Servers


Enabling MSS for an Enterprise Server

You enable MSS on an enterprise server in the same way on both Windows and UNIX.

To enable MSS, you use Enterprise Server Administration (for an introduction to this tool, see the chapter Introduction to Enterprise Server Administration in your Enterprise Server Configuration and Administration Guide).

Note: You need the appropriate license before you can use an MSS-enabled enterprise server.
  • To enable MSS for an enterprise server
Parent topic: Administering CICS-enabled Enterprise Servers
Related information
To enable MTO for an enterprise server
Introduction to Enterprise Server Administration


Changing the SIT for an MSS-Enabled Server

If you want to change the SIT that is associated with an MSS-enabled enterprise server, you have to return to the Home page of Enterprise Server Administration, stop the server, edit the server's Properties > MSS page, start the server and return to ESMAC.

  • To change the SIT associated with a server
Parent topic: Administering CICS-enabled Enterprise Servers
Related information
To change the SIT associated with a server


Configuring CICS Search Paths

You can also use the Properties > MSS page to configure CICS search paths. You can define the paths to the directories that contain CICS application programs, CICS BMS load modules, the CICS resource definition file, and the default location for CICS VSAM data sets.

  • To configure CICS search paths
Parent topic: Administering CICS-enabled Enterprise Servers
Related information
To configure CICS search paths


Specifying a Listener for TN3270 Terminals

Enterprise Server MSS provides support for TN3270 clients. To enable the TN3270 client support you need to define a new listener in Enterprise Server Administration.

  • To specify a listener for TN3270 terminals
Parent topic: Administering CICS-enabled Enterprise Servers
Related information
To specify a listener for TN3270 terminals


Sending Messages to All Terminals

ESMAC provides a facility for sending a message to all the 3270 clients currently connected to the server.

  • To send a message to all 3270 terminals
Parent topic: Administering CICS-enabled Enterprise Servers
Related information
To send a message to all 3270 terminals


Viewing Locks

You can view the current locks that have been issued against resources such as files.

  • To view resource locks
Parent topic: Administering CICS-enabled Enterprise Servers


Controlling CICS Resources

ESMAC enables you to view, create and modify the resources required by a CICS application running on an enterprise server. An enterprise server equates to a CICS region. When a CICS region starts, it is typically initialized with a system initialization table (SIT). The SIT defines various startup parameters, as well as defining which startup lists are invoked. The startup lists define which groups are used by the CICS applications in this region. The groups in turn define the resources (for example, file control tables and program processing tables) to be loaded for use by applications.

You can maintain the following resources

  • SITs
  • Startup lists
  • Groups
  • Tables

This includes not just the resources used by this enterprise server, but all the resources defined in the resource definition file for this enterprise server.

ESMAC provides flexibility in the way you view resources. You can view:

  • Active resources - the resources that are currently active on the enterprise server. An enterprise server is associated with a SIT, and when the SIT is initialized, it invokes its startup list, which contains the groups in which resources are stored. These then become active.

    The Active resources category includes two items that are not strictly speaking resources:

    • ICE, which stands for interval control elements, CICS-related events that are scheduled to happen in the future
    • Resource locks
  • Resources by group - the resources in groups currently defined in the enterprise server's resource definition file.
  • All the SITs in the resource definition file.
  • All the startup lists in the resource definition file.
  • Resources used by the current startup list - resources defined in groups that are defined in the startup list initiated by the SIT for the enterprise server.
  • Resources by type - all resources, listed according to type (FCT, DCT, and so on).
  • Detailed information for any resource.

If you have suitable permissions you can also:

  • Modify resources.
  • Delete resources.
  • Create new resources, such as tables and groups. You can do this in two ways:
    • Create a new resource using the values of an existing resource.
    • Create a completely new resource. How you do this depends on whether you are creating a new table (FCT, DCT, and so on) or another resource (such as a group or SIT).
  • Format and view a dump of a resource.
  • Delete interval control elements and data queues
  • To view active resources
  • To view and delete data queue items
  • To view detailed information for a resource
  • To view and delete interval control elements
  • To create a resource from an existing resource
  • To view resources by group
  • To view resources by startup list
  • To view resources by type
Parent topic: Administering CICS-enabled Enterprise Servers
Related information
To view active resources
To view resources by group
To view resources by startup list
To view resources by type
To view detailed information for a resource
To view and delete data queue items
To view and delete interval control elements
To view resource locks
To create a resource from an existing resource
To create a resource table
To create a resource group
To delete a resource
To view a dump of a resource
To create a SIT
To create a startup list
To change the SIT associated with a server


MSS Aspects of Troubleshooting

This chapter covers some aspects of troubleshooting problems with running applications in an Mainframe Subsystem Support(MSS)-enabled enterprise server.

  • Introduction
  • Configuring Dumps for Data Capture
  • Viewing a System Trace
Parent topic: CICS Support


Introduction

Problem diagnosis on an MSS-enabled enterprise server is very similar to problem diagnosis on an enterprise server running Web services or EJB-type services, as described in the chapter Troubleshooting in the Enterprise Server Configuration and Administration Guide.

Parent topic: MSS Aspects of Troubleshooting


Configuring Dumps for Data Capture

When you are configuring dumps and traces for an MSS-enabled enterprise server, you might want to select dump on transaction abend; on the ESMAC Control page click Tran next to Dump on ABEND. Dumps created when transactions abend are internally triggered dumps. When you do your data capture, you should include the transaction abend dump, if one exists.

There is a fourth way of obtaining an externally triggered dump: issue an EXEC CICS DUMP command in a CICS program.

Parent topic: MSS Aspects of Troubleshooting


Viewing a System Trace

On the Trace page of ESMAC, which you see when you request a trace from the Diagnostics group in the menu, the process IDs that appear in the PIDs column can have the following additional prefixes:

3 | 3270 client
L | CCI listener
Q | MQSeries listener

The prefix J for journal control also covers extra-partition transient data

Parent topic: MSS Aspects of Troubleshooting


IMS Support

  • IMS Installation Verification
  • IMS Option Administration Information
  • Configuring IMS-enabled Enterprise Servers
    This chapter describes how to create and configure IMS-enabled enterprise servers.
  • Administering IMS-enabled Enterprise Servers
  • Migrating IMS Applications
  • Setting Checkpoints and Using Batch Backout
  • Support for IMS DB System Commands
  • WebSphere MQSeries Trigger Monitoring
Parent topic: MSS Configuration and Administration


IMS Installation Verification

This chapter takes you step by step through the process of configuring an enterprise server to run IMS applications, and then building and running an IMS application. This is intended both as an introduction to using IMS in Mainframe Subsystem Support (MSS), and as an Installation Verification Procedure (IVP) to confirm that the IMS support is correctly installed.

  • IVP Overview
  • Before Running the IVP
  • Running the IVP
Parent topic: IMS Support


IVP Overview

The IVP is based around a demonstration program called Mfdemo, which is installed into Studio Enterprise Edition X.X\Examples\Net Express IDE\MTO-IMS\IVP by default. Mfdemo is a system for capturing and maintaining table data. The tables are organized by table element within table name. The tables eliminate the program maintenance associated with traditional Data Division tables. The following source members are used by this application:

  • demo03dd.dbd
  • demo001t.psb
  • demo90.mfs
  • demo91.mfs
  • demo92.mfs
Parent topic: IMS Installation Verification


Before Running the IVP

This section describes the steps you need to perform before you can run the IVP. These steps are split into three sections:

  • Preparing the IVP. This section shows how to compile and generate the various source files that make up the IVP and load the database.
  • Updating the Resource Definition File. This section shows how to update your resource definition file with transactions required to run IMS applications.
  • Configuring an Enterprise Server for the IVP. This section shows how to configure an enterprise server so that you can run the IMS IVP.
  • Preparing the IVP
  • Updating the Resource Definition File
  • Configuring an Enterprise Server for the IVP
Parent topic: IMS Installation Verification
Preparing the IVP
Updating the Resource Definition File
Configuring an Enterprise Server for the IVP


Preparing the IVP

Although the Mfdemo application is supplied with your application software, you need to perform a number of operations on the source files before you can run it. These operations are:

  • Copy the IVP files to a new folder
  • Compile the COBOL programs
  • Generate the MFSs
  • Generate the DBD
  • Generate the PSB
  • Load the database

These operations are defined in the following sections.

  • Copying the IVP Files to a New Folder
  • Compiling the COBOL Programs
  • Generating the MFSs
  • Generating the DBD
  • Generating the PSB
  • Loading the Database
Parent topic: Before Running the IVP


Copying the IVP Files to a New Folder

  1. From an application command prompt, create a new folder to hold your version of the IVP files.
  2. Navigate to the folder containing the IVP files. This is <product> X.X\Examples\Net Express IDE\MTO-IMS\IVP by default.
  3. Copy the contents of the IVP folder to the folder you created at step 1.

In the above, <product> X.X is the product and version that you are using.

Parent topic: Preparing the IVP


Compiling the COBOL Programs

To compile the COBOL programs that comprise the Mfdemo application:

  1. In a command prompt, navigate to the folder containing Mfdemo's source files.
  2. Enter the following commands:
    cobol demo001b dialect(vsc24) noflag anim noobj charset(ascii) outdd"sysout 121 r e";
cobol cdlidemo dialect(mf) osvs cicsecm noflag charset(ascii) anim noobj;
cobol execdemo dialect(mf) cicsecm execdli noflag charset(ascii) anim noobj;
cobol demo001t dialect(vsc24) noflag charset(ascii) anim noobj;
cobol rghtjust dialect(mf) charset(ascii) anim noobj;

This creates an intermediate code (.int) and dictionary (.idy) file for each COBOL program.

Parent topic: Preparing the IVP


Generating the MFSs

Mfdemo includes three MFS files (demo90.mfs, demo91.mfs and demo92.mfs) that you need to generate. To generate theses MFSs:

  1. Enter the following command :
    mfims mfsgen demo90.mfs nocls
mfims mfsgen demo91.mfs nocls
mfims mfsgen demo92.mfs nocls
Note:

Because you are generating all of the MFSs in the current folder you could have used the Windows for command to simplify this operation:

for %i in (*.mfs) do mfims mfsgen %i nocls

In addition to the .mid, .mod, .dif and .dof files, generating the MFSs produces imsconfg.dat and imsconfg.idx. These files contain system configuration data and must not be edited, moved or deleted.

Parent topic: Preparing the IVP


Generating the DBD

Mfdemo includes one DBD file (demo03dd.dbd) that you need to generate. To generate the DBD:

  1. Enter the following command:
    mfims dbdgen demo03dd.dbd nocls echo(enderr,0,50)

Creating the DBD gens produces the following files:

  • dbdgen2.dat
  • dbdgen2f.dat
Note:

If dbdgen2.dat does not exist when you generate a DBD you see message DBDUT0U35U ("File not found DBDGEN2.DAT"). This message is for information only, and dbdgen2.dat is created.

These files contain DBD source information that has been extracted and formatted into a smaller structure optimized for faster access during execution. These files are indexed files and can contain information for one or more generated DBD members. Do not edit, move or delete these files.

Parent topic: Preparing the IVP


Generating the PSB

Once you have generated the DBD you need to generate the PSB. To generate Mfdemo's single PSB file (demo001t.psb):

  1. Enter the following command:
    mfims psbgen demo001t.psb nocls echo(enderr,0,50)

Generating the PSB produces the following file:

  • psbgen3.dat
Note:

If psbgen3.dat does not exist when you generate a PSB you see message DBDUT0U35U ("File not found PSBGEN3.DAT"). This message is for information only, and psbgen3.dat is created.

These files contain PSB source information that has been extracted and formatted into a smaller structure optimized for faster access during execution. These files are indexed files and can contain one or more generated PSB members. Do not edit, move or delete these files.

Parent topic: Preparing the IVP


Loading the Database

Next you need to load the databases that Mfdemo uses.

  1. Enter the following command:
    mfims imsdbu load demo03dd nocls
Parent topic: Preparing the IVP


Updating the Resource Definition File

IMS support includes two new transactions, /CIC and /IMS, that you use to switch enterprise servers to CICS and IMS modes respectively. In order for these new transactions to be available you need to update your resource definition file using the caspcupg command as follows:

caspcupg

See the section Adding IMS-specific Resource Definitions in the chapter Configuring MSS-enabled Enterprise Servers for IMS in your Mainframe Subsystem Support Configuration and Administration Guide for more information on the caspcupg command.

Parent topic: Before Running the IVP
Related information
Adding IMS-specific Resource Definitions


Configuring an Enterprise Server for the IVP

To enable IMS support in an enterprise server, you need to:

  1. Create an IMS-enabled enterprise server.
  2. Enable IMS for the enterprise server.
  3. Specify the location of files produced by gens.
  4. Specify the system initialization table (SIT) to use.
  5. Define a message processing region.

The sections below walk you through these tasks.

  • Creating an MSS-enabled Enterprise Server
  • Enabling IMS for an Enterprise Server
  • Specifying the Location of Required Files
  • Enabling JCL for an Enterprise Server
  • Specifying the SIT
  • Defining an Automatic Message Processing Region
  • Starting the Enterprise Server
Parent topic: Before Running the IVP


Creating an MSS-enabled Enterprise Server

To create an MSS-enabled enterprise server:

  1. On the Home page of Enterprise Server Administration, click Add at the bottom of the table of servers.
  2. On the first Add Server page:
    1. Type IMSIVP in Server Name.
    2. Under Working Mode, click 32-bit.
    3. Click Next.
  3. On the second Add Server page:
    1. Click Micro Focus Enterprise Server with Mainframe Subsystem Support enabled
    2. Click Next.
  4. On the third Add Server page:
    1. In the Creation Options group, check Create TN3270 listener, specify a port number in using port.
    2. Type Server for IMS IVP in Description.
    3. Click Add.
  5. The Home page is redisplayed, and a row for the IMSIVP enterprise server is shown in the table of servers.
Parent topic: Configuring an Enterprise Server for the IVP


Enabling IMS for an Enterprise Server

To enable IMS support for the IMSIVP enterprise server:

  1. Click Edit next to the IMSIVP row in the table of servers.
  2. The Edit page that appears contains a hierarchy of tabs. Click the Server, Properties, MSS, IMS and General tabs.
  3. Ensure that Mainframe Subsystem Support enabled is checked, then check IMS enabled.

    This specifies that the IMSIVP enterprise server can use the IMS support. Don't click Apply yet as there is more to do on this page.

Parent topic: Configuring an Enterprise Server for the IVP


Specifying the Location of Required Files

You need to specify the directory where the files produced by DBDGENs, IMSGENs, MFSGENs and PSBGENs are created, and where the application and database files are located.

  1. In the GEN file directory field, specify the name of the folder you created and copied the Mfdemo application files into.
  2. Click Apply.
  3. Click the Server, Properties, MSS, IMS, TM and General tabs.
  4. In the MFS path field, specify the name of the folder you created and copied the Mfdemo application files into.
  5. Enter the same information in the Application Path and the Transaction definition file directory fields.
  6. Click Apply to save the change.
  7. Click the Server, Properties, MSS, IMS, and DB tabs.
  8. In the Database path field, specify the name of the folder you created and copied the Mfdemo application files into.
  9. Click Apply to save the change.
Parent topic: Configuring an Enterprise Server for the IVP


Enabling JCL for an Enterprise Server

JCL support is required for any IMS-enabled enterprise server that needs a message processing region to start whenever the enterprise server starts. You will define such a message processing region later, so you need to enable JCL support for IMSIVP.

To enable JCL support for the IMSIVP enterprise server:

  1. Click the Server, Properties, MSS, JES and General tabs.
  2. Check Job Entry Subsystem enabled.
  3. Click Apply.
Parent topic: Configuring an Enterprise Server for the IVP


Specifying the SIT

You have now created the IMSIVP enterprise server and enabled it to use IMS and JCL, but you now need to specify that it uses a CICS SIT. You need to specify a SIT even though Mfdemo does not contain any CICS for two reasons:

  • You need a message processing region to start automatically whenever the IMSIVP enterprise server starts, and to do this you need to create a resource group and specify that resource group in a SIT's startup list. See the section Defining an Automatic Message Processing Region for more information.
  • You need to use the /IMS transaction that you added to the resource definition file in the section Updating the Resource Definition File.

To specify that the IMSIVP enterprise server uses the supplied SIT IMSSIT:

  1. Click the Server, Properties, MSS and CICS tabs.
  2. Specify IMSSIT in System Initialization Table. Leave the other fields blank as Mfdemo doesn't use CICS.
  3. Click Apply to save your change.
  4. Click Home to return to the Home page of Enterprise Server Administration.
Parent topic: Configuring an Enterprise Server for the IVP
Related information
Defining an Automatic Message Processing Region
Updating the Resource Definition File


Defining an Automatic Message Processing Region

To run an IMS application in an enterprise server you need at least one specialized service execution process (SEP) called a message processing region (MPR). To specify that a message processing region starts each time an enterprise server starts you need to in a resource group that is specified by the startup list in the SIT used by the enterprise server.

  1. Click the Server, Properties, MSS, IMS, TM, and MPRs tabs.
  2. Click Add.
  3. In the Name field, type IMSMPR.
  4. In the Transaction Class field, type 001.
  5. Click Add.
  6. Click Home to return to the Home page of Enterprise Server Administration.
Parent topic: Configuring an Enterprise Server for the IVP


Starting the Enterprise Server

  1. In the table of servers on the Home page of Enterprise Server Administration, click Start in IMSIVP's Current Status column.
  2. You can confirm that MSS and IMS are enabled by watching the startup messages in the Console Daemon window. Messages should also appear indicating that the message processing region has started.
Parent topic: Configuring an Enterprise Server for the IVP


Running the IVP

To start the demonstration application:

  1. Start a TN3270 emulator.
  2. Specify the following connection information. Note that field names could vary depending on the 3270 emulator you are using.
    Field | Value
    Host name | The name of the computer the enterprise server is running on. This is localhost if it is the current machine.
    Port | The number you specified for the field using port in the section Creating an MSS-enabled Enterprise Server.
  3. Connect.
  4. Specify a user id and password, then press Enter. If you have not configured Enterprise Server security you can use the user SYSAD with password SYSAD.
  5. Press Clear (3270 key).
  6. Enter MFDEMO (with a trailing space).

The following sections describe the demonstration program and how you navigate through its screens.

  • Mfdemo Screen Entries
Parent topic: IMS Installation Verification
Related information
Creating an MSS-enabled Enterprise Server


Mfdemo Screen Entries

For the screens which follow, enter the characters which are shown in green.

Note:

Each table you add must have a unique table ID.

Figure 1. The "Add Testdept Table" Screen in Transaction MFDEMO
The "Add Testdept Table" Screen in Transaction MFDEMO

Press Enter when you have finished entering data on a screen.

On the screens that follow press Tab to move to the next field. Press Shift+Tab to move to the previous field.

Figure 2. The "Add Testdept Elements" Screen
The "Add Testdept Elements" Screen
Figure 3. The "Change Testdept Table" Screen
The "Change Testdept Table" Screen
Figure 4. The "Change Testdept Elements" Screen
The "Change Testdept Elements" Screen
Figure 5. The "Add Testers Table" Screen
The "Add Testers Table" Screen
Figure 6. The "Add Testers Elements" Screen
The "Add Testers Elements" Screen
Figure 7. The "End Transaction" Screen
The "End Transaction" Screen
Figure 8. The "MFDEMO - ENDED" Screen
The "MFDEMO - ENDED" Screen
Parent topic: Running the IVP


IMS Option Administration Information

This chapter describes the following topics:

  • Sample Files
  • System Exits
  • Call Interface
  • ECHO System
  • IMS System Log
  • Restricting Access to DBDGEN and PSBGEN
Parent topic: IMS Support


Sample Files

These sample files are distributed with IMS Option. They are located in the \mfe\mfims\source folder unless customized during installation.

Sample File | Filename | Description
Mainframe IMS/ESA DB extract | IMSDBUV.CBL | Can be used on your mainframe to extract an IMS/ESA database into a variable length sequential file for downloading and subsequent loading by the IMSDBU utility. IMSDBUV creates a formatted file specifically for use by IMSDBU on the PC. It can optionally compress the segment data to reduce disk space and transfer time.
Mainframe IMS DB extract JCL | IMSDBUV.JCL | Sample JCL for use with the IMSDBUV
Mainframe IMS DB extract compression | IMSDBUC.CBL | Compression program for IMSDBUV
Alternative IMS DB extract
  • DBUTILV.CBL
  • DBUTILF.CBL
These programs can also extract an IMS/ESA database. It creates a 'generic' extract file which can be used by either IMSDBUV or DBUTIL utilities. DBUTIL was the primary database load utility before IMSDBU was introduced with version 3.1. DBUTILV creates a variable length output file suitable for downloading. DBUTILF creates a fixed length output file.
Alternative IMS DB extract JCL
  • DBUTILV.JCL
  • DBUTILF.JCL
Sample JCL for use with DBUTILV and DBUTILF
Dynamic DB attach interface
  • DDBA.CBL
  • DDBA.TXT
The Dynamic DB Attach interface is a flexible way to 'connect' to IMS Option for issuing database calls. DDBA.TXT describes the detailed specifications for this API. DDBA.CBL is a sample program to demonstrate its use. An MFIMSCOB.DLL is provided with the IMS Option installation to allow other language programs to call the dynamic attach interface. See the MFIMSCOB.TXT file for details.
Gen file access
  • IMS86GIO.TXT
  • CALLGIO.CBL
CALLGIO demonstrates using the IMS86GIO call interface to retrieve and update the Trancode, Printer, DBD, PSB and MFS Gen, DB Catalog and System Configuration. The IMS86GIO.TXT file provides a complete description of the parameters and use of these APIs.
Utility call interface | CALLUTIL.CBL | Demonstrates and documents the callable interface for running the IMS Option utilities.
IMSDBU call interface | DBUDEMO.CBL | Demonstrates the use of the direct call interface to IMSDBU for advanced DB administration
MFS color/attributes | MFSATTRS.MFS | Shows how the 3270 attribute and extended attributes will appear in your environment. The color and high-lighting appearance may vary based on your operating system and your terminal configuration.
Default MFS format source | DFHMO2.MFS | Allows manual Gen of the default MOD that is used by IMS Option
Remote IMS Requester configuration file | RMTIMS.INI | Example configuration file for the Remote IMS Requester
TSO CLIST | USERIMS.TSO | Sample TSO CLIST for IMS Option Application Region. Provides customization of IMS Option initialization and termination.
Parent topic: IMS Option Administration Information


System Exits

These programs are distributed with IMS Option. They are located in the \mfe\mfims\source folder unless customized during installation.

Sample Program | Filename | Description
Animating DBUTIL calls | DBUTIL2.CBL | Allows you to debug DL/I calls issued by the DBUTIL utility so that you can use the power of Debugger to modify or view the DL/I calls issued.
IMSDBU Load and Unload exits | DBUPARMS.CPY | IMSDBU provides two exits during Load, Add and Unload processing. One allows for selecting and changing segments. The other provides for compression/decompression of the input and output sequential files.
COBOL MFS MFLD exit | DFSME000.CBL | A COBOL implementation of the DFSME000 Assembler MFS field edit exit routine provided with the IMS/ESA product.
COBOL MFS MFLD exit | DFSME127.CBL | A COBOL implementations of the DFSME127 Assembler MFS segment edit exit routine provided with the IMS/ESA product.
IMS2ASM for MF370 MVS mode | IMS2ASM.MLC | A 'glue' module between IMS Option and Assembler Option for support of Assembler IMS system exits.
Custom SQL syncpoint exit | IMS2SQL.CBL | Allows integration of SQL products into the IMS Option syncpoint coordinator. Can also be used to replace the built-in SQL support for additional security, database selection, or other purposes.
DC CHNG call exit | IMS86ALT.CBL | Can programmatically add printer definitions and change transaction definition information during application execution. This exit is invoked each time an application issues a CHNG call.
User entry point management | IMS86ENT.CBL | Provides for programmed customization of IMS Option initialization and termination and invocation of IMS applications.
MFS display exit
  • MFSDISP.TXT
  • MFSDISP.CBL
Enables you to replace the terminal handling built-in to IMS Option to re-map the 3270 MFS screens into a different format (such as a GUI) or to send the screens from/to other systems.
MFSGEN preprocessor exit | MFSPREPR.CBL | Allows programmed modification of MFS source input to the MFSGEN utility.
COBOL DB sparse routine | SPARSRTN.CBL | A COBOL example for implementing Database Secondary Index sparse routines in COBOL.
User DB handler exit
  • USERDB.TXT
  • USERDB.CBL
Provides for programmatic control of the DB Catalog setting for a database instead of using the defined DB Catalog. Also, this exit can process DL/I calls completely, for example, to map DL/I calls into VSAM I/O requests.
User written CBLTDLI | USRTDLI.CBL | Provides for programmed customization of the CBLTDLI interface or to provide alternate DL/I interfaces.
Parent topic: IMS Option Administration Information


Call Interface

The call interface is used to run the IMS Option utilities directly from a COBOL program by issuing a CALL and passing a command line. It is intended for specialized situations where you need to provide a highly integrated or automated environment.

A sample program named CALLUTIL.CBL is provided in the \mfe\mfims\source folder to demonstrate its use. This sample also provides the technical specifications for this interface.

The call interface provides for specialized integration between the utilities and other routines and it requires you to develop a COBOL program to CALL the utilities. The COBOL return-code special register contains the utility's ending return code. For example, you could develop a program which uses the IMS86GIO routine to get a list of the Genned DBDs. You could then call the IMSDBU utility to reorganize all of the databases.

The following files are provided in the \mfe\mfims\source folder to further document and demonstrate this interface:

File | Description
CALLGIO2.CBL | CALLGIO2.CBL combines IMS86GIO with other features to reorganize the Gen files from a command line and other sample uses
CALLUTIL.CBL | Demonstrates use of the callable interface for the utilities
Parent topic: IMS Option Administration Information


ECHO System

The ECHO system is a simple but powerful mechanism for controlling the display and interaction of the IMS Option utilities. It is driven by two basic factors - what to display and when to stop (or prompt) for instructions. The subsections below describe the Echo system. The section IMSGEN Directives in the chapter Developing IMS Applications in your User's Guide describes the specific features of Echo that the DBD, PSB and MFS utilities supports. Most of the utilities support all of the features listed in this section.

This ECHO system provides flexible control of the IMS Option utilities. Optimal settings for your environment may not be obvious. However, the default ECHO settings result in a reasonable behavior for many uses and one which is compatible with previous versions of IMS Option. It may require that you do some experimentation to develop the settings to suit your preferences. You may find you prefer different settings for different utilities.

  • Categories of Output and Messages
  • ECHO Directive Details
  • Expert Quick Lookup
  • Example ECHO Uses
Parent topic: IMS Option Administration Information


Categories of Output and Messages

The ECHO system works by grouping the displayed data into four categories, expanding the groupings of the error messages into seven groups and providing control of these groups by use of a single utility directive. The categories for the displayed data are:

Category | Description
Process statement | Identifies major steps in a utility. For example, 'MFSGEN starting'
Source statements or detail information | The input source statements for DBD, PSB and MFS Gen or other detailed information for other utilities. For example, with the PSBGEN Verify utility, this would be the display of the verification results of each PCB instead of just the final result.
Warning and Error messages | Messages which result from the utility
Ending message | The final result of the utility. For example, DBDGEN for MYDBD successful RC=04.

The categories for the Warning and Error messages are:

4 | General warning message | For example, a minor coding error in DBD source which DBDGEN can make an assumption about and continue.
6 | IMS Option specific warning message | For example, a warning that a keyword or statement is not supported and is ignored - processing can continue.
8 | General severe error | For example, an incorrect coding in DBD source which cannot be compensated for such as 'no DBD statement'.
10 | IMS Option specific severe error | For example, an unsupported feature was defined which cannot be compensated for such as 'Exceeded some maximum'.
12 | Severe error - possible temporary condition | Generally an I/O error. For example, a 'file locked' or 'database locked' status.
16 | Severe error - permanent - likely installation problem | Generally an I/O error. For example, an invalid data set name or member name was input to a utility or an environment variable is not set correctly.
20 | Severe error - permanent | An unrecoverable I/O error or some other unexpected error.

In Mainframe Express these error message categories have the following mapping:

I/O Error | Maps to
4 and 6 | 'W' suffix meaning Warning
8 and 10 | 'E' suffix meaning Error
12 | 'S' suffix meaning Severe
16 and 20 | 'U' suffix meaning Unrecoverable
Parent topic: ECHO System


ECHO Directive Details

The directive used to control the interaction with the utilities is ECHO. You can specify three values for this directive which instruct:

  • Which categories of information are to be displayed
  • The severity of messages to display
  • The severity of messages which stop for user input

It is specified as:

ECHO(keyword,msglevel,stoplevel)

The default setting is ECHO(MSGS,4,8) which results in you seeing the processing steps, all warning and error messages, stopping for error messages and display of an ending message.

The msglevel and stoplevel values are 4 through 20 to indicate the message categories described earlier. There is also special purpose settings of 0 and 50. You do not have to specify msglevel and stoplevel values with an Echo Keyword, but, if you specify one level you must specify the other.

If the older ECHO(ON) or ECHO(OFF) directive from version 2.5 of IMS Option is used for MFSGEN, it is converted as follows:

IMS Option v 2.5 | MFSGEN
ECHO(ON) | Converts to ECHO(ALL)
ECHO(OFF) | Ignored since it matches the new ECHO default settings

The table below describes the ECHO values:

keyword | Description
ALL | Always displays processing messages, input source or detail information and the ending message. Warning and error messages are displayed and stop for user input if the message level is equal to or greater than the msglevel and stoplevel values.
MSGS | Always displays processing messages and the ending message. No source or detail information is displayed. Warning and error messages are displayed and stop for user input if the message level is equal to or greater than the msglevel and stoplevel values.
ERREND | Always displays the utility ending message. Warning and error messages are displayed and stop for user input if the message level is equal to or greater than the msglevel and stoplevel values.
ENDMSG | Displays ending message only if the utility ending return code is equal to or greater than MsgLvl. A 'Press any key to continue' message is displayed and stops for input if the utility ending return code is equal to or greater than the stoplevel. Enter a msglevel and/or stoplevel value of zero to display and/or stop on every ending message.
COND Both the warning/error and ending messages are conditional on the msglevel and stoplevel values. Warning and error messages are displayed and stop for user input if the message level is equal to or greater than the msglevel and stoplevel values. The ending message is displayed if the ending return code is equal to or greater than msglevel. You see the message
Press any key to continue

which requires input if the utility ending return code is equal to or greater than the stoplevel.
ERRORS | You see warning and error messages which require input if the message level is equal to or greater than the msglevel and stoplevel. You do not see the ending message.

NOECHO disables all display and stopping for user input. Setting NOECHO also sets the NOCLS directive to prevent the screen from clearing. For the MFSGEN utility, it also forces the NO/FOR directive. The NOECHO directive provides a video and keyboard 'quiet' mode of operation.

Interaction details - stoplevel

The stoplevel can be equal to or higher than the msglevel. A stoplevel less than the msglevel results in using the default ECHO settings. Specifying a msglevel with no stoplevel also defaults the ECHO settings. If an ECHO keyword only is specified, the msglevel and stoplevel defaults of 4,8 apply. A stoplevelof 50 disables all stopping for user input.

Example inputs:

Setting | Description
ECHO(ALL) | Valid - same as ECHO(ALL,4,8)
ECHO(ENDMSG) | Valid - same as ECHO(ENDMSG,4,8)
ECHO(MSGS,4,16) | Valid
ECHO(MSGS,0,16) | Valid
ECHO(ALL,6) | Error - defaults to ECHO(ENDMSGS,4,8)
ECHO(MSGS,,6) | Error - defaults to ECHO(MSGS,4,8)
ECHO(MSGS,8,4) | Error - defaults to ECHO(MSGS,4,8)
ECHO(BAD,6,10) | Error - defaults to ECHO(MSGS,4,8)

stoplevel only indicates which messages are paused awaiting input from the user. It does not override the normal error handling of the utility. For example, DBD, PSB and MFS Gen utilities cannot continue once an error message level 8 or above is encountered. If stoplevel exceeds 8, these utilities do not stop on those errors and immediately display the ending message indicating a failure.

In association with these options, additional actions are allowed when a warning or error message is paused. The actions that are offered depends on the utility being run, but, in general, the following actions apply:

Action | Description
Warning messages | Continue, Quit, Zoom (suppress pausing) and Up Lvl (quit pausing at this message level)
Severe errors | Generally just Quit but some utilities offer Continue, Zoom and Up Lvl. For example, PSBGEN Verify can continue verifying the remaining PCBs even if one PCB has an error.
Parent topic: ECHO System


Expert Quick Lookup

Column | Category of data is:
'X' | Always displayed
'-' | Never displayed
Echolvl | Controlled by msglevel and stoplevel settings
Keyword | Source/ detail | Process messages | Warn/Err messages | Ending message
ALL | X | X | EchoLvl | X
MSGS | - | X | EchoLvl | X
ERREND | - | - | EchoLvl | X
ENDMSG | - | - | - | X
COND | - | - | EchoLvl | X
ERRORS | - | - | EchoLvl | -
Parent topic: ECHO System


Example ECHO Uses

ECHO(MSGS,4,8)

Displays process, warning, error and ending messages. Any error causes the utility to stop for input from the user.

ECHO(ALL,4,8)

Same as ECHO(MSGS,4,8) but adds the display of source statements or other detail information depending on the utility.

ECHO(ERREND,10,12)

Displays IMS Option specific errors and the ending message. Severe errors cause the utility to stop for input from the user.

ECHO(ENDMSG,0,6)

Displays every ending message since the utility ending return codes will all be equal to or greater than zero. The ending message will stop for input from the user if the ending return code is 6 or higher indicating an IMS Option specific warning message or higher.

ECHO(ENDMSG,0,50)

Displays every ending message since the utility ending return codes will all be equal to or greater than zero. The ending message does not stop for input from the user because no ending return code can exceed 50.

ECHO(ERRORS,8,8)

Displays error message and stops for input from the user.

ECHO(COND,8,8)

Same as ECHO(ERRORS,8,8) but the ending message is also displayed if the ending return code is 8 or higher; the ending message also stops and waits for input from the user.

Parent topic: ECHO System


IMS System Log

The IMS System Log is a general-purpose log file. It is used to provide descriptive information for serious problems encountered when debugging, running or using the IMS Option utilities. It consists of the Mainframe Express IDE's IMS Log tab and the imsmto.log file in the Listing folder.

  • The Mainframe Express IDE's IMS Log tab:

    This contains messages produced during the current execution of the IDE. When you start the IDE, the IMS Log tab is disabled until a message is produced. You can clear the IMS Log tab at any time during an IDE session.

  • The imsmto.log file in the Listing directory:

    This is a historical log file. The most recent log entries are added to the end of an existing imsmto.log file. It is an ASCII text file and is created the first time a message needs logging. You may need to delete this file periodically as it could grow quite large. The 'mto' in imsmto stands for 'Master Terminal Operator'.

Parent topic: IMS Option Administration Information


Restricting Access to DBDGEN and PSBGEN

You can restrict developers' access to the DBDGEN and PSBGEN utilities by deleting the library (.lbr) file containing the respective utility:

  • \mfe\mfims\bin\mfimsdbd.lbr to remove DBDGEN
  • \mfe\mfims\bin\mfimspsb.lbr to remove PSBGEN

If you try to use DBDGEN or PSBGEN after deleting the library, you see the error message "Utility not installed".

Note:

You must retain at least one copy of the library files for your DBD and PSB Gens to run.

Parent topic: IMS Option Administration Information


Configuring IMS-enabled Enterprise Servers

  • Overview
  • MSS and CICS Support
  • Adding IMS-specific Resource Definitions
  • Enabling MSS for an Enterprise Server
  • Enabling IMS for an Enterprise Server
  • Specifying the Location of Genned Files
  • Specifying IMS Resources to a Resource Group
  • Adding a Resource Group to a Startup List
  • Enabling JCL for an Enterprise Server
  • Defining Transactions
  • Calculating Shared Memory Area Requirements
Parent topic: IMS Support


Overview

If you want to run IMS applications in an enterprise server, you can either create a new enterprise server specifically for this purpose, or use an existing enterprise server. If you create a new enterprise server, you should choose Micro Focus Enterprise Server with Mainframe Subsystem Support on the first page of the Add Server dialog.

Once you have created a new enterprise server or modified an existing one, you can configure it for IMS. Depending on your IMS applications, the various configuration operations you need to perform are as follows:

  • enabling IMS
  • enabling JCL
  • specifying the location of genned files
  • creating a resource group
  • adding a resource group to a startup list
  • defining transactions
  • calculating shared memory area requirements

These operations are covered in the following sections.

Resources, SITs and startup lists are all CICS concepts. This is because support for IMS in Enterprise Server is closely integrated with support for CICS. As a result, much of the configuration necessary to run CICS applications in an enterprise server is also necessary to run IMS applications.

Parent topic: Configuring IMS-enabled Enterprise Servers


MSS and CICS Support

This section provides a brief overview of the CICS concepts with which you need to be familiar in order to configure enterprise server for use with IMS. This is necessary because support for IMS in Enterprise Server is integrated with support for CICS. If you are familiar with basic CICS concepts you can skip this section.

In CICS, items of software or hardware for use by applications are called resources. Mainframe Subsystem Support adds to Enterprise Server facilities for defining, controlling and monitoring resources. These facilities have been extended to include resources needed by IMS applications. You don't need CICS experience to use these, but you do need a basic understanding of the structure, so for readers unfamiliar with the CICS model, here is a quick overview.

In CICS, you define sets of resources. These sets of resources are called resource groups.

A CICS region is an environment for running CICS applications. When you create a region, you specify a system initialization table (SIT), which gives details of how the region is to be configured. One item specified by the SIT is called a startup list; this is a list of resource groups that are to become available automatically when the region is started.

An enterprise server is equivalent to a CICS region. To run IMS applications, you need to define special service execution processes (SEPs) called message processing regions (MPRs). You define these MPRs as CICS-style resources. Resources always belong to resource groups, so you also need to define a resource group, which needs to be referenced by a startup list, which needs to be referenced by a system initialization table (SIT). You then need to specify that the enterprise server is to use this SIT.

The figure below shows the hierarchical structure of SITs, startup lists, resource groups, and individual resources. The bottom line of the figure shows some more types of CICS resources - a program control table (PCT), file control table (FCT) and program processing table (PPT).

Figure 1. Structure of CICS Resources
Structure of CICS Resources

For more information about CICS Support within MSS, see Part 2 of this book. For more information about Enterprise Server, see your Enterprise Server Configuration and Administration Guide.

Parent topic: Configuring IMS-enabled Enterprise Servers


Adding IMS-specific Resource Definitions

IMS support includes two new transactions, /CIC and /IMS, that you use to switch enterprise servers to CICS and IMS modes respectively. In order for these new transactions to be available you need to update your resource definition file using the caspcupg command.

To update your resource definition file, enter the following command:

caspcupg /dp=resourcedefinitionpath /o

where resourcedefinitionpath is the path to the system resource defintion file to be updated. If you are using the default system resource defintion file ( Studio Enterprise Edition X.X\Base\FILES\sys\dfhdrdat ) you can omit /dp=resourcedefinitionpath. See caspcupg for more inforrmation on the caspcupg utility.

Updating a resource definition file with the /CIC and /IMS transactions in this way is a one-off process. Once you have used caspcupg to upgrade a resource definition file, any enterprise server that uses the updated resource definition file can use the new transactions.

Parent topic: Configuring IMS-enabled Enterprise Servers


Enabling MSS for an Enterprise Server

IMS support is part of Mainframe Subsystem Support (MSS), so before you enable an enterprise server for IMS you must enable it for MSS.

Note: When enabling an enterprise server for MSS you do not need to specify any settings for the CICS search paths unless your IMS application also includes CICS.
  • To enable MSS for an enterprise server
Parent topic: Configuring IMS-enabled Enterprise Servers


Enabling IMS for an Enterprise Server

Once you have enabled MSS for an enterprise server you can enable IMS for it.

Note:
  • Enabling an enterprise server for IMS sets up the basic support for IMS, but additional configuration is required, as described in the section Specifying the Location of Genned Files.
  • You also need to perform the basic configuration that any enterprise server needs. For more information see the section Enterprise Servers in the chapter Configuration in your Enterprise ServerConfiguration and Administration Guide. You do not need to define services, request handlers or implementation packages in order to run migrated IMS applications in an IMS-enabled enterprise server. However, you should not delete the system services and request handlers that are automatically associated with an enterprise server when you create it.
  • To enable IMS for an MSS-enabled enterprise server
  • Using IMS Connect with Enterprise Server
  • Using OTMA with Enterprise Server
Parent topic: Configuring IMS-enabled Enterprise Servers
Related information
To enable IMS for an MTO-enabled enterprise server
Specifying the Location of Genned Files


Using IMS Connect with Enterprise Server

To enable Enterprise Server to use IMS Connect, you must create a custom listener.

  1. Click the Listeners tab in Enterprise Server Administration.
  2. Click Add.
  3. Enter a unique name for the new listener.
  4. From the Endpoint Protocol drop-down list, choose TCP .
  5. Enter an appropriate port for IMS Connect in the Endpoint Address text box.
  6. Select a Supported Conversation Type of Custom and enter mfcs-ims-connect in the text box.
  7. Optionally, add trace details in the Configuration Information text box, for example:
    [Trace]
trace=y
data-trace=all
allmax=255
  8. Click Add.
Note:

The following IMS features are supported by Enterprise Server:

  • Conversational (SPA) and non-conversational transactions that do not use the IMS SETO functionality
  • Support for IMS commands
  • Security for all IMS Connect listeners
  • The following IBM-supplied I/O exits:
    • HWSIMSO0 '*IRMREQ*' Yes
    • HWSIMSO1 '*IRMRE1*' Yes
    • HWSSMPL0 '*SAMPLE*' Yes (unmodified - same as HWSIMSO0)
    • HWSSMPL1 '*SAMPL1*' Yes (unmodified - same as HWSIMSO1)
    • HWSJAVA0 '*HWSJAV*' No
    • HWSCSLO0 '*HWSCSL*' No
    No exit screening configuration is provided.
  • The return MOD name control
  • Persistent, non-persistent and transactional socket control
  • End-to-end ASCII flows

There is limited support for flow control and Syncpoint/Commit controls

The following are not supported:
  • Modified Sample I/O exits or target resolution exits
  • The return OTMA headers control
  • UTF and UCS codesets
  • The Translate control
  • The IRM timer
  • The One Message and One Message No Wait" controls
  • The Auto Flow and no Auto Flow controls
  • Asynchronous and unsolicited output to an IMS Connect client
Parent topic: Enabling IMS for an Enterprise Server


Using OTMA with Enterprise Server

If you are using Open Transaction Manager Access (OTMA) to communicate with IMS, no special configuration is needed. However you can specify the amount of time that an OTMA client should wait for an MPR to process a message. The default is 120 seconds, but you can change this period using the environment variable ES_OTMA_TIMEOUT.

Enterprise Server's OTMA C/I (Call Interface) supports the following calls:
  • CALL FUNCTION otma_create - creates storage structures to support communications but does not establish a connection with IMS.
  • otma_open - establishes a connection with IMS. Issue an otma_create prior to establishing an otma_open call.
  • otma_alloc - creates an independent transaction session.
  • otma_send_receive - ends to IMS and passes parameters for receive functions.
  • otma_free- releases the independent transaction session.
  • otma_close - ends the connection with IMS.
Parent topic: Enabling IMS for an Enterprise Server


Specifying the Location of Genned Files

After you have enabled IMS for an enterprise server you need to specify the directory the enterprise server is to search for the IMS-related files it needs for your IMS applications.

  • To specify the location of genned files
Parent topic: Configuring IMS-enabled Enterprise Servers
Related information
To specify the location of genned files


Specifying IMS Resources to a Resource Group

Before you can run an IMS application in an enterprise server you ensure that the following resources are included in a resource group:

  • the list of transactions (and their associated programs) that the IMS application can perform
  • the message processing regions that the enterprise server will use

You can add these resources to an existing resource group or create a new one for them.

To update an enterprise server's resource groups you must first start the enterprise server then use Enterprise Server Monitor and Control (ESMAC). See the chapter Administering Servers Using ESMAC in your Enterprise Server Configuration and Administration Guide for more information on Enterprise Server Monitor and Control.

  • To create a resource group
  • To modify a resource
  • Adding a Transaction to a Resource Group
  • Adding a Message Processing Region to a Resource Group
Parent topic: Configuring IMS-enabled Enterprise Servers
Related information
To create a resource group
To modify a resource


Adding a Transaction to a Resource Group

You add a transaction to a resource group by adding a PCT.

Parent topic: Specifying IMS Resources to a Resource Group


Adding a Message Processing Region to a Resource Group

Every enterprise server that will be used to run IMS applications must have at least one message processing region. By adding a message processing region to a resource group you ensure that the message processing region starts each time the enterprise server starts.

  • To add a message processing region to a resource group
Parent topic: Specifying IMS Resources to a Resource Group
Related information
To add a message processing region to a resource group


Adding a Resource Group to a Startup List

Having created a resource group for the resources needed by your IMS application, you need to add the resource group to a startup list.

  • To add a resource group to a startup list
Parent topic: Configuring IMS-enabled Enterprise Servers
Related information
To add a resource group to a startup list


Enabling JCL for an Enterprise Server

If your IMS application includes any JCL you need to configure the enterprise server as described in the chapter Configuring MSS-enabled Enterprise Servers for JCL.

Parent topic: Configuring IMS-enabled Enterprise Servers


Defining Transactions

Usually, a transaction definition must exist for any program you want to run. There are two ways of creating transaction definitions:

  • Define them manually.
  • Import them from a mainframe stage 1 file.

These two methods are covered in the following sections.

  • Defining Transactions Manually
  • Importing Transactions
Parent topic: Configuring IMS-enabled Enterprise Servers


Defining Transactions Manually

Before you can run any transaction you must define it.

  • To define a transaction manually
Parent topic: Defining Transactions
Related information
To define a transaction manually


Importing Transactions

The transaction import facility enables you to extract IMS transactions from an IMS stage 1 file downloaded from the mainframe, and automatically add the transactions to your IMS project. Importing transactions is a process with two steps:

  1. The stage 1 file is read and all the transaction definitions are extracted into another file, known as a transaction file. Note that the stage 1 file never contains any transaction definitions for DLI programs as these are batch programs that run outside the IMS region.

    To create a transaction file from a stage 1 file enter the following command:

    mfims stage1ext stage1file transactionfile

    where:

    stage1file | is the stage 1 file downloaded from the mainframe.
    transactionfile | is the transaction file to be created to contain the transaction and printer definitions needed to subsequently import into Enterprise Server. This is a flat text file, so you can edit it to remove any definitions that are not needed for the application to run under Enterprise Server.
  2. The transaction file from the first step is read and transaction definitions are added to the IMSGEN2.DAT file in the current directory.

    To import transaction defintions from a transaction file enter the following command from an application command prompt:

    mfims stage1imp transactionfile [ADDREPL] [DELEXIST]

    where:

    transactionfile | is the transaction file created by step 1.
    ADDREPL | specifies that you want to add new transactions and replace existing transactions. If you do not specify ADDREPL, new transactions are added but existing transactions are left unchanged.
    DELEXIST | specifies that you want to delete all the existing transaction definitions in the IMSGEN2.DAT file before any are imported.
Parent topic: Defining Transactions


Calculating Shared Memory Area Requirements

The shared memory area calculation for an IMS-enabled enterprise server is essentially the same as for a Web services enterprise server. Your calculation should also include 512 bytes for each 3270 client that will be concurrently connected to the enterprise server. Note that you must include your message processing regions in the total number of service execution processes.

If you are using CICS or JCL applications in the same enterprise server you will also need to perform the calculations described in Shared Memory Area in the chapter Configuring MSS-enabled Enterprise Servers for CICS and Shared Memory Area in the chapter Configuring MSSenabled Enterprise Servers for JCL and add the relevant results to the figure you calculcated for IMS.

Parent topic: Configuring IMS-enabled Enterprise Servers
Shared Memory Area


Administering IMS-enabled Enterprise Servers

This chapter describes how you can use Enterprise Server Monitor and Control to run IMS applications on an MSS-enabled enterprise server.

  • ESMAC
  • Temporary MPRs
Parent topic: IMS Support


ESMAC

You can use Enterprise Server Monitor and Control (ESMAC) to run and monitor IMS applications. You can also use all the facilities described in the chapter Administering Servers Using ESMAC in your Enterprise Server Configuration and Administration Guide , and in the help topics grouped under Administer a Server Using ESMAC. You should familiarize yourself with the contents of that chapter and the associated help topics before reading this chapter. If you want to find out about maintaining resources for running CICS applications, see the chapter Administering CICS-enabled Enterprise Servers using ESMAC .

  • Visual Appearance
Parent topic: Administering IMS-enabled Enterprise Servers
Related information
To create an ESMAC user
To start ESMAC for a server
To monitor services
To configure dumps
To view a dump
To initiate a system dump
To specify what information is traced
To change the trace dataset
To transfer the in-memory trace data to the auxiliary dataset at rollover
To view a system trace
To record service input and output
To view a local trace for a SEP
To view a local trace for a client process
To kill a SEP
To reply to an ACCEPT FROM CONSOLE statement
To shut down a server


Visual Appearance

When you first view ESMAC for an IMS-enabled enterprise server, the Server Information page is displayed, as shown in the figure below:

Figure 1. ESMAC Server information page for IMS
ESMAC Server information page for IMS

When you run ESMAC on an IMS-enabled enterprise server, you can use it to perform a wide range of administrative functions. Because of the integration between support for IMS and CICS within Enterprise Server, most of these administrative functions are described in the chapter Administering CICS-enabled Enterprise Servers. In addition, you can use ESMAC to create temporary MPRs, as described in the section Temporary MPRs.

Parent topic: ESMAC
Related information
Administering CICS-enabled Enterprise Servers
Temporary MPRs


Temporary MPRs

As well as defining permanent message processing regions, as described in the section Adding a Message Processing Region to a Resource Group in the chapter Configuring IMS-enabled Enterprise Servers , you can define temporary ones that exist only until an enterprise server is stopped.

To start a temporary MPR:

  1. In the dropdown list under Resources on the ESMAC menu, select IMS.
  2. Click Control in the Resources part of the ESMAC menu.

    The IMS Control page that appears is for starting MPRs and creating an internal diagnostic view of IMS TM message queues.

  3. In MPR Classes field, type the list of message classes you want this MPR to be able to run.
  4. If you are defining an MPR for transactions that you want to debug, check Debug.
  5. Click Start.

    The MPR starts immediately and lasts until the enterprise server is stopped.

Like all SEPs, any MPRs you define are shown, together with their statuses, on the SEPs page in ESMAC. Click SEPs near the top left of the ESMAC menu to display this. MPRs are displayed in the IMS MPR section.

Parent topic: Administering IMS-enabled Enterprise Servers
Related information
Adding a Message Processing Region to a Resource Group


Migrating IMS Applications

This chapter describes the process you should use to migrate your IMS applications from the mainframe to Enterprise Server and lists issues you might encounter while doing so.

  • Migration Procedure
  • Migration Issues
Parent topic: IMS Support


Migration Procedure

  1. Download the following application files from the mainframe to your PC:
    1. Source (program + PSB/DBD + MFS)
    2. Stage 1 definition
    3. Unloaded database data
  2. Create a Mainframe Express project containing these downloaded files:
    1. Add the source files to the project.
    2. Build the project.
    3. Load the database data in EBCDIC.
    4. Import the Stage 1 files.
    5. Create segment layout (.slf) files for all segments.

    See your Mainframe Express documentation for information on performing these operations.

  3. Test the project.
  4. Remove any unsupported features and languages, including Assembler exits.
  5. Move the project to the PC environment using the Move Project to NetX tool provided with the Migration Development Kit (MDK).
  6. Configure Enterprise Server for IMS support.
  7. Configure Enterprise Server for CICS and JCL support as required.
  8. Import the Stage 1 files.
  9. Generate the DBDs, PSBs and MFSs.
Parent topic: Migrating IMS Applications
Related information
Configuring CICS-enabled Enterprise Servers
Configuring IMS-enabled Enterprise Servers
Configuring JCL Timeouts
Developing and Testing the Application


Migration Issues

Future versions of Enterprise Server for IMS will support the running of applications compiled using the EBCDIC character set and dependent on the EBCDIC collating sequence. Currently, however, all applications must use the ASCII character set.

When migrating from EBCDIC to ASCII, you may encounter problems where character literals have been used in assignments and comparisons. The binary value represented by a particular character depends on the character set used: an 'A' is equivalent to the hexadecimal value C1 when using EBCDIC, but 41 when using ASCII.

  • Special Characters in MFS Attributes
  • Null MFS Fields
Parent topic: Migrating IMS Applications


Special Characters in MFS Attributes

Issue

If you have used character literals to specify the values of MFS attributes, the resulting values will be different when you compile using ASCII from those that you obtain when compiling using EBCDIC. For example, the two code fragments below give the same results when compiling with the EBCDIC character set. When using ASCII, however, the first example will give different behavior: '{A' now translates as hexadecimal 7B41 rather than C0C1.

Attributes specified using character literals

05 ATTRIBUTE-VARIABLES.
   10 CURSOR-ATTR          PIC X(2) VALUE '{A'.
   10 ERROR-ATTR           PIC X(2) VALUE '{I'.
   10 OK-ATTR              PIC X(2) VALUE ' A'.
   10 PROT-ATTR            PIC X(2) VALUE ' 1'.

Attributes specified using hexadecimal/binary notation

05 ATTRIBUTE-VARIABLES.
   10 CURSOR-ATTR          PIC X(2) VALUE X'C0C1'.
   10 ERROR-ATTR           PIC X(2) VALUE X'C0C9'.
   10 OK-ATTR              PIC X(2) VALUE X'00C1'.
   10 PROT-ATTR            PIC X(2) VALUE X'00F1'.

Resolution

To facilitate the migration of programs, you can specify at the level of the transaction or the system whether MFS attribute values have been coded using character or binary notation. (The value specified for the transaction definition overrides that for the system.)

Where you specify that the attribute values have been coded as character literals, Enterprise Server will automatically translate the values of MFS attributes to those that would be used if the program were compiled as EBCDIC. For example: the hexadecimal 7B41 value produced by assigning '{A' to an attribute and compiling with ASCII, will be converted to the correct C0C1 value. Where you specify that attribute values have been coded as binary data, Enterprise Server will take no action.

As an alternative solution, edit your programs to use x'nn' notation (as used in the second example above) instead of characters.

  • To define how MFS attributes are coded
Parent topic: Migration Issues
Related information
To define how MFS attributes are coded


Null MFS Fields

Issue

On the mainframe, the MFS null character, which is used to truncate fields, is defined as being x'3F'. However, in the ASCII character set, this represents the question mark (?) character. Therefore, where an ASCII application uses the question mark character in display data (whether held as literals within the program or obtained from an external source) an alternative null character must be chosen.

Resolution

Enterprise Server allows you to specify at the level of the transaction or the system which character is the null character. The default for this is x'1A'.

You must also edit any programs that use x'3F' to use the new null character instead.

  • To define the MFS null character
Parent topic: Migration Issues
Related information
To define the MFS null character


Setting Checkpoints and Using Batch Backout

The topics in this section describe the checkpoint functionality, and how you can use this functionality with Batch Backout.

  • About Using Checkpoints
  • About the Checkpoint Files
  • Avoiding Dataset Contention
  • IMS Batch Backout
Parent topic: IMS Support


About Using Checkpoints

The MSS IMS functionality provides for symbolic checkpoint and restart calls and the basic checkpoint call. The symbolic checkpoint call can provide a checkpoint ID and save areas. These checkpoint ID and save areas are stored in a file named IMSLOGR.DAT and IMSLOGR.IDX. IMS Option also writes the system generated checkpoint ID to the IMS System Log file so you can specify the system checkpoint ID as the restart ID instead of the optional user specified checkpoint ID.

If a restart call indicates that a restart should take place, the save areas are restored into the program's Working-Storage. The restart's checkpoint ID can be specified in the XRST call itself or as part of the Batch Program Command used to start the batch program. All restart calls, successful or not, are logged in the IMS System Log.

An XRST call does not reposition any databases and will not restore any PCB information. Whether or not database updates were rolled back depends on whether you are using databases which support dynamic backout. IMS Option supports dynamic database backout with its Fileshare databases and with Remote IMS databases. See the Sync Point Coordination chapter in the Technical Reference for more information.

IMS Option GSAM files are not affected by checkpoint or restart calls. A checkpoint call will not affect GSAM database position. GSAM updates are committed to the data file when the update call completes.

Parent topic: Setting Checkpoints and Using Batch Backout


About the Checkpoint Files

The IMSLOGR files contain the save areas and checkpoint IDs for Symbolic Checkpoint (CHKP) calls. The IMSLOGR files are created the first time a CHKP call is made and added to for each subsequent CHKP call. It is read when a Symbolic Restart call (XRST) is issued to restore the program save areas. You will need to delete this file periodically as it could grow quite large. Once deleted, you cannot use XRST calls to restart from the deleted checkpoints.

These files are in the Listing directory.

Parent topic: Setting Checkpoints and Using Batch Backout


Avoiding Dataset Contention

IMS programs that make use of checkpoint/restart, for example the Batch Backout functionality can use the IMSLOGR DD statement to define the input log file to use.

You can use this in the JCL to avoid dataset contention with other concurrent checkpoint/restart programs. This log file is used to store checkpoint IDs, GSAM reposition information and application save areas during extended checkpoint processing.

Parent topic: Setting Checkpoints and Using Batch Backout


IMS Batch Backout

The Batch Backout utility allows database changes made by IMS batch applications (DLI and DBB) to be recovered either to a point prior to the start of the application or to a checkpoint.

Note:
  • Batch Backout is available only for offline batch IMS programs that access non-shared IMS databases. Batch IMS programs, both DLI and DBB, can only update IMS databases that are taken offline and made unavailable to online systems such as BMP programs, IMS transactions, CICS transactions and ODBA applications.
  • The Batch Backout utility can only be used for recovery of updates performed to offline IMS databases.
  • Batch Backout Implementation
  • Enabling Batch Backout Logging
  • Recovering Database Changes with the Batch Backout Utility
  • Rebuilding Corrupted Databases
  • Restrictions and Limitations
  • Error Conditions
Parent topic: Setting Checkpoints and Using Batch Backout


Batch Backout Implementation

To use the Batch Backout utility, you configure your IMS database update process to create batch backout log files. The Batch Backout process uses these log file to reverse changes. You can use the checkpoints that your applications set in these log files to back out selected changes only.

The Enterprise Server Batch Backout utility is similar in functionality to the IBM IMS batch backout implementation. The Enterprise Server implementation differs in the following ways:

  • The names of utilities, such as the backout program must not correspond to any names of similar utilities on the mainframe.
  • The format of the log files used as part of the database recovery process in the Enterprise Server implementation differs and is not compatible with the log files that are produced on the mainframe.
Note: Online IMS databases implemented in an Enterprise Server environment include dynamic (automatic) backout functionality. That is, when an application that has updated an online Enterprise Server environment IMS database abends, the uncommitted unit-of-work is backed out automatically, and does not require use of the Batch Backout utility. As a result, the features of Batch Backout that relate to the recovery of online databases are not needed and therefore unsupported in Enterprise Server.
Parent topic: IMS Batch Backout


Enabling Batch Backout Logging

Batch Backout logging for a batch IMS program is enabled in JCL by the presence of the BBOLOG DD statement. For example:

**REVIEW** Do we need a couple of words to describe what this line does?

//BBOLOG  DD DSN=HLQ.PRJ01.BBOLOG.DEMO001T,DISP=(NEW,CATLG,DELETE)

IEFRDER and IEFRDER2 DD statements are ignored to avoid confusion with mainframe IMS logging and log record formats.

When enabled, updates to all IMS databases, along with checkpoint calls issued by the application program, are written to the BBOLOG dataset. Backup log files are extended as required in the event that they exceed size restrictions.

Standard JCL DSN management can be used for tracking these log datasets in the Micro Focus Server catalog.

CAUTION:
When logging is enabled, the primary log file and any extensions must not exist. If the job detects that the primary or extended log file already exists, then the job terminates with an appropriate error message.

Below is sample batch JCL that specifies a BBOLOG dataset:

//IMSBATCH JOB 'MICRO FOCUS',CLASS=A,MSGCLASS=A
//* DLI PROGRAM EXECUTION
//*
//S01       EXEC PGM=DFSRRC00,REGION=4M,
//          PARM='BMP,DEMO001B,DEMO001T,,,,,,,,,CDLI,,N,N'
//REPORT1   DD  SYSOUT=*
//BTSLST    DD  SYSOUT=*
//IMSERR    DD  SYSOUT=*
//IEFRDER   DD  DUMMY
//BBOLOG    DD  DSN=HLQ.PRJ01.BBOLOG.DEMO001T,DISP=(NEW,CATLG,DELETE)
//PRINTDD   DD  SYSOUT=*
//SYSOUT    DD  SYSOUT=*
//SYSPRINT  DD  SYSOUT=*
//
Parent topic: IMS Batch Backout


Recovering Database Changes with the Batch Backout Utility

The Batch Backout utility processes a backout log file and removes the updates to the IMS databases that were issued from the program that created the log file. The log file is processed in reverse. Database updates can be rolled back either for the entire batch job or back to a specific checkpoint ID.

The input log file to the Batch Backout utility is specified on the BBOLOGI DD statement. The log file must be catalogued in Micro Focus Server as follows:

//BBOLOGI DD DSN=HLQ.PRJ01.BBOLOG.DEMO001T,DISP=SHR

You can specify an optional recovery log file using the BBOLOGO DD statement. It too must be catalogued in Micro Focus Server, for example:

//BBOLOGO DD DSN=HLQ.PRJ01.BBOLOG.RECOVERY,DISP=(NEW,CATLG,DELETE)

You can use this log output file in the event that the database file needs to be restored to its state before the backout utility was run. In this event, use this recovery log as the input log (BBOLOGI) to a subsequent run of the backout utility.

CAUTION:
it is important to be aware of the existence of the extension logs when backing up the logs or moving them to alternate locations. The recovery log to be created (that is the file associated with ddname BBOLOGO) data file and any extensions associated with it must not exist. In this event, the recovery job terminates with the appropriate error message.
  • Using Checkpoints with Batch Backout
  • Using Extended Log Files
  • Batch Backout Example JCL
Parent topic: IMS Batch Backout


Using Checkpoints with Batch Backout

Database updates can be rolled back either for the entire batch job or back to a specific checkpoint ID. The backout functionality is implemented in the MFDBUJCL IMS Database Utility JCL interface. You specify PARM='BBO' to activate batch backout. For example:

//BACKOUT EXEC PGM=MFDBUJCL,PARM='BBO'

If restarting from a checkpoint, the checkpoint ID is specified in the SYSIN DD:

  //SYSIN   DD *
  CHKPT CHECK001
  /*

The checkpoint id, for example CHECK001 in the code above, is limited to eight characters.

Parent topic: Recovering Database Changes with the Batch Backout Utility


Using Extended Log Files

When database logging is enabled, it is possible that the log file can become so large that it is necessary to create one or more extended log files. In this event, the extended log file or files are created in the same directory as the primary log file. These files are not catalogued with Enterprise Server.

The naming convention for extended logs is that an underscore and a sequential numeric value is added to the end of the name of the primary log file. For example, if the primary log file is named BankDemoLog.dat, then the extended log files are named BankDemoLog.dat_1, BankDemoLog.dat_2, . . . BankDemoLog.dat_nn, . . .

CAUTION:
When a database batch job is submitted and logging is enabled, the primary log file and its extensions must not exist. If the job detects that the primary or extended log file already exists, then the job terminates with an appropriate error message. Similarly for the batch backout utility, if you want the optional recovery log to be created (that is the file associated with ddname BBOLOGO) , then that recovery data file and any extensions associated with it must not exist.

Consequently, it is important to be aware of the existence of the extension logs when backing up the logs or moving them to alternate locations.

Parent topic: Recovering Database Changes with the Batch Backout Utility


Batch Backout Example JCL

Below is sample JCL that invokes the backout process . In the example code:

  • The process uses the HLQ.PRJ01.BBOLOG.DEMO001T log file.
  • The backout process starts from the end of the log file, and backs out to the checkpoint CHECKOO1
  • The process creates the output log file: BBOLOG.BBOLOG2
//BBO    JOB 'IMSDBU BATCH BACKOUT',CLASS=A,MSGCLASS=A
//*
//* THIS JOB DEMONSTRATES THE BATCH BACKOUT UTILITY
//*
//BACKOUT EXEC PGM=MFDBUJCL,PARM='BBO'
//SYSOUT  DD SYSOUT=*
//SYSIN   DD *
CHKPT CHECK001
/*
//BBOLOGI DD DSN=HLQ.PRJ01.BBOLOG.DEMO001T,DISP=SHR
//BBOLOGO DD DSN=HLQ.PRJ01.BBOLOG.BBOLOG2,DISP=(NEW,CATLG,DELETE)
Parent topic: Recovering Database Changes with the Batch Backout Utility


Rebuilding Corrupted Databases

When a database file has become corrupt, you must re-build it. This situation is rare, but can occur if, for example, the file was open during a system crash.

To rebuild a corrupted database, use JCL submission executing the database utility program: MFDBUJCL

With MFDBUJCL:

  • The SYSIN data can specify a fully qualified database file or just the database file name.
  • Specify REBUILD as the parameter.
  • Use SYSIN data to name the file to be rebuilt and, optionally, an output file.

    With these files, the file extension, .DAT may be specified or not. If not specified, it is automatically appended.

  • The OUTPUT file is optional. If it is not included, then the database file is rebuilt in place.

    If you specify an OUTPUT file, then it becomes the rebuilt file and the INPUT file remains unchanged. In this situation, you must make sure that this output file is renamed to the original file name before it can be used.

Note:
  • If a database file requires a rebuild, then you should consider whether any associated index files should be rebuilt as well.
  • Make sure that there is enough free space on disk before submitting the rebuild job.

    You will need as much space as the file to be rebuilt requires, and if you have specified an OUTPUT file to be created in the same directory, then you need to account for the extra space requirement.

An example of JCL for restoring a corrupted database is below:

  //DBUJCL01 JOB 'IMS DATABASE UTILITY',CLASS=A,MSGCLASS=A
//*--------------------------------------------------------------------
//* Copyright (C) 1991-2010 Micro Focus (IP) Limited.
//* All rights reserved.
//*-------------------------------------------------------------------
//*
//* THIS JOB REBUILDS THE IMS DEMONSTRATION DATABASE
//* 'DBDNP' USING THE IMSDBU JCL INTERFACE MFDBUJCL.
//*
//*
//STEP01  EXEC PGM=MFDBUJCL,PARM='REBUILD'
//SYSOUT  DD SYSOUT=*
//SYSIN   DD *
INPUT=DBDNP.DAT
OUTPUT=DBDNP.OUT.DAT
/*
//
Parent topic: IMS Batch Backout


Restrictions and Limitations

Batch Backout is not supported for the following cases:

  • BMP programs: BMP programs participate with online shared IMS databases and are not eligible for backout processing.
  • GSAM databases are not supported for batch backout.
  • Databases which have been made available to online BMP programs, IMS transactions, CICS transactions or ODBA applications are no longer eligible for batch backout processing.
  • Batch Backout processing is currently limited to a single input log file. DD concatenation or multiple input DD statements are not supported. If there are multiple input log files, then you need to run the backout utility multiple times. Take care to process the files in the correct order.
  • Recovery after a crash in the Micro Focus Server database engine may not be possible without external intervention.
Parent topic: IMS Batch Backout


Error Conditions

If the backout fails due to an error, the job returns an error condition of 20, and the database file is unchanged.

A return code of zero indicates success.

If an error occurs, then the following messages can be displayed in the job log. Use these messages to assist in problem determination and correction.

Message | Description
MFDBUJCL: PROBLEM WITH THE INPUT BACKOUT LOG | The input backout log may be corrupt or unreadable.
MFDBUJCL: PROBLEM WITH THE OUTPUT RECOVERY LOG. | In this event, the physical name of the recovery log file is displayed.
MFDBUJCL: PROBLEM WITH THE FILE TO BE RECOVERED | The physical name of the database file is displayed. If the file has been determined to be corrupt, then the error message indicates this as well as instructions for rebuilding the data file.
MFDBUJCL: ILLEGAL CONFIGURATION ITEM | This is an internal message.
MFDBUJCL: CHECKPOINT SET BUT NOT FOUND | A checkpoint was supplied in the SYSIN data but was not found in the log file.
MFDBUJCL: BACKOUT SUCCESSFUL. HOWEVER THE RECOVERY DATASET SHOULD NOT BE TRUSTED TO RUN A RECOVERY | This is a warning message. The backout of the dataset was complete, but the recovery log may be invalid and should not be used in a recovery of the dataset.

Additionally, the job log may display reason codes, files status codes or other messages which may help in problem determination.

Parent topic: IMS Batch Backout


Support for IMS DB System Commands

Enterprise Server currently provides support for issuing a subset of DB system commands. These commands enable you to control and query the statuses of IMS databases.

  • Supported IMS DB commands
  • Database command interfaces
  • ES server warm/cold start
Parent topic: IMS Support


Supported IMS DB commands

/DIS[PLAY] DB ALL | database1 [database2] ...
  • This returns the current status of each of the named databases.
  • 1 to 16 databases can be specified or the “ALL” parameter.
  • ES-IMS only returns database status for those databases it knows about. ES-IMS accesses databases as they are accessed by application programs and system commands, so the list of "known" databases grows dynamically.
  • Database statuses are described below:
    • UNKNOWN - The database name is not valid. There is no ACB defined for this DB.
    • NOTOPEN - The database is defined but has not been accessed.
    • OPEN - The database is currently being accessed by an application program.
    • CLOSED - The database has been opened but is not currently open.
    • STOPPED - The database is stopped and not available to MPP, BMP or CICS-DLI programs.
/STO[P] DB database1 [database2] ...
  • The STOP command stops a database or a list of databases.
  • When a database is stopped, it is not accessible from MPP, BMP or CICS-DLI programs. The database is only accessible from IMSDBU or batch DLI programs.
  • This command is run synchronously. It will suspend until the database is closed and stopped.
/STA[RT] DB database1 [database2] ...
  • The START command starts a database or a list of databases.
  • Use the START command to make the database available to online, BMP and CICS-DLI programs.
Parent topic: Support for IMS DB System Commands


Database command interfaces

TN3270
  • Database commands can be entered via a TN3270 session connected to /IMS.
  • The response output from the command will be sent back to the terminal session.
ESMAC
  • DB commands can be entered via the ESMAC IMS Control panel.
  • The response output is sent back to the ESMAC panel.
JCL
  • DB commands can be entered via the IMSDBU JCL interface using the PARM parameter
  • The response output is sent back to the job in the SYSOUT DD for the job step.
  • Step condition code is set if command fails.
  • Sample JCL step
    //STEP01  EXEC PGM=MFDBUJCL,PARM='/DIS DB DEMO03DD'
//SYSOUT  DD SYSOUT=*
  • Only one command can be entered per JOB step.
Parent topic: Support for IMS DB System Commands


ES server warm/cold start

  • All database statuses are set to NOTOPEN when a server is first started.
  • In future, initial database status will be configurable by DB name.
  • There is no current support for warm restart of the database status.
  • In future, database statuses will be stored on disk and will be used during warm restart.
Parent topic: Support for IMS DB System Commands


WebSphere MQSeries Trigger Monitoring

reUZE Server provides functionality for WebSphere MQSeries Trigger Monitoring for IMS, allowing IMS MPP programs to be scheduled when WebSphere MQ messages arrive on a designated WebSphere MQ queue.

To enable trigger monitoring, IBM WebSphere MQSeries Server or IBM WebSphere MQSeries Client must be installed on the machine where Enterprise Server is running.

WebSphere MQ objects required for triggering must be defined. These are:
  • An application queue with the trigger control set on, a recommended trigger type of 'First'. The application queue will reference the process and initiation queue.
  • A process definition with the application type set to an integer value of 3 and an application id set to the IMS MPP transaction to be started. (The integer value of 3 for the application type is the numeric designation for IMS and ensures compatibility with WebSphere MQ UNIX installations.)
  • An initiation queue
The objects need to be defined from the WebSphere MQ command line or IDE. See IBM WebSphere MQ Queue Parameters for details on how to do this.
  • Configuring Enterprise Server for WebSphere MQSeries Trigger Monitors
  • Security
  • Error Handling
  • Enabling IMS Trigger Monitor Tracing
  • What You Can Do
Parent topic: IMS Support


Configuring Enterprise Server for WebSphere MQSeries Trigger Monitors

The Enterprise Server region must be configured for both IMS and JES. For JES, you must define a batch initiator to process “class A” jobs. You need to ensure that enough initiators are defined for the job class to run all instances of the trigger monitor plus any other submitted jobs that will run under that class.

You also need to generate a PSB for the trigger monitor and create an XA resource to allow MPP applications to interface with IBM WebSphere MQ. A sample PSB definition is included in the base\source folder.

The path to the CSQ4TRMN executable must be added to the JES Program Path. The path to any IMS MPP transactions that are started by the Trigger Monitor must be present on the IMS TM Application Path.

Parent topic: WebSphere MQSeries Trigger Monitoring


Security

If security is enabled, the trigger monitor will run under the userid that submitted the JCL to start the trigger monitor.

Parent topic: WebSphere MQSeries Trigger Monitoring


Error Handling

The trigger monitor will put messages in the WebSphere MQ dead-letter queue (if specified) under the following conditions:

  • There is an error starting the desired IMS transaction
  • The length of the message on the Initiation Queue is incorrect
  • The version (MQTMC-VERSION) of the trigger message is not 1
  • The application type specified in the trigger message is not IMS
Parent topic: WebSphere MQSeries Trigger Monitoring


Enabling IMS Trigger Monitor Tracing

You can dynamically control the IMS Trigger Monitor tracing. You do this by putting specific messages on the MQSeries Initiation Queue that the trigger monitor monitors. You can write a program to place these messages on the queue, or you can use an IBM supplied utility such as amqsput, or amqsputc.

You use the CSQ4TRMN:TRACE message to toggle tracing on and off:

  • If trace is currently OFF, putting a message with the CSQ4TRMN:TRACE massage string toggles the trace setting in the IMS Trigger Monitor ON.
  • If trace is currently ON, putting a message with the CSQ4TRMN:TRACE massage string toggles the trace setting in the IMS Trigger Monitor OFF.

You can also terminate the Trigger Monitor job by putting a specific message on the MQSeries Initiation Queue that the trigger monitor monitors. As with dynamic control, you can write a program to place these messages on the queue, or you can use an IBM supplied utility such as amqsput, or amqsputc.

To terminate the Trigger Monitor job, place the following message on the MQSeries Initiation Queue that is being monitored:

CSQ4TRMN:STOP

Parent topic: WebSphere MQSeries Trigger Monitoring


What You Can Do

Depending on your user granted permissions, you can do all or some of the following:

  • Start and stop the trigger monitor
  • Generate the PSB for the trigger monitor
  • Create the required XA resource
  • To start a WebSphere MQSeries trigger monitor
  • To stop a WebSphere MQSeries trigger monitor
  • To generate a PSB for a Trigger Monitor
  • To create an XA resource for a trigger monitor
Parent topic: WebSphere MQSeries Trigger Monitoring


JCL Support

  • Configuring Enterprise Servers for JCL
  • Administering JCL-enabled Enterprise Servers
  • Extensions to JCL and IDCAMS
  • Configuring JCL Timeouts
  • JCL Aspects of Troubleshooting
Parent topic: MSS Configuration and Administration


Configuring Enterprise Servers for JCL

This chapter describes how to create and configure JCL-enabled enterprise servers.

  • Enabling JCL for an Enterprise Server
  • SEPs for JCL
  • Shared Memory Area
  • Environment Validation
  • Spooler Housekeeping
  • Running the Spool Housekeeping Program from JCL
  • Controlling where Datasets are Created
  • Restarting Jobs
Parent topic: JCL Support


Enabling JCL for an Enterprise Server

You enable JCL on an enterprise server by using Enterprise Server Administration (for an introduction to this tool, see the chapter Introduction to Enterprise Server Administration in your Enterprise Server Configuration and Administration Guide ).

Note: You need the appropriate license before you can use an JCL-enabled enterprise server.
  • To enable JCL support
  • To enable MSS for an enterprise server
Parent topic: Configuring Enterprise Servers for JCL
Related information
To enable MTO for an enterprise server
To enable JCL support


SEPs for JCL

Two special types of service execution process are required to run JCL jobs. These are:

  • Batch initiator SEPs. A batch initiator SEP runs jobs.
  • Batch printer SEPs. A batch printer SEP handles the sending of output to a printer.

Both types of SEP have a class property. The JOB CLASS of a JCL jobstream must match the class of a batch initiator SEP in order for the SEP to run the job. The MSGCLASS or SYSOUT class must match the class of a batch printer SEP in order for the SEP to print the output.

You can either define permanent batch initiator and printer SEPs or create SEPs during a session that exist only until the end of the session.

When you define a batch printer SEP, you can specify a printer exit module, which enables you to perform additional formatting of output data before it is printed. For more information see the section Printer Exit Modules in the chapter JCL Support in your MTO Developer's Guide, if you have the development documentation available.

If you want to create a batch printer SEP that uses a printer accessed across a network, you need to have started the enterprise server from the command line or from the Studio Enterprise Edition IDE; if you start it from ES Admin, it runs as a system service and the network printers defined on your machine are not available.

  • To define a batch initiator or printer SEP
  • To start a batch initiator or printer immediately
Parent topic: Configuring Enterprise Servers for JCL


Shared Memory Area

The shared memory area calculation for a JCL-enabled enterprise server is the same as for a Web services enterprise server. You must include your batch initiator and batch printer SEPs in the total number of service execution processes.

If you also run CICS applications in the same enterprise server, you will also need to perform the calculations described in the section Shared Memory Area in the chapter Configuring MSS-enabled Enterprise Servers for CICS and add the results to the total.

Parent topic: Configuring Enterprise Servers for JCL


Environment Validation

When you start an enterprise server, a utility called DFHZJCL2 runs automatically to check for some common set-up errors that might otherwise be hard to spot. For example, it checks that the system catalog and default allocation location are both usable. If a problem is found, it displays a message on the console log.

For example, should the catalog be unusable there will be a message in the log saying: "Catalog Open IVP test failed".

Once it has completed the validation DFHZJCL2 schedules the spool housekeeping by issuing a CICS START for transaction JCL1.

Parent topic: Configuring Enterprise Servers for JCL


Spooler Housekeeping

When you start an enterprise server, a CICS transaction called JCL1 runs to delete old spool files. You can configure how often this happens and how long spool files are kept for.
Note: This process does not run automatically. You need to configure it using the PTLPI process. You also need to configure the CICS region to use spooler housekeeping. SSTM is mandatory to enable support for the spooler.

The housekeeping process involves the following programs: DFHZJCL1, DFHZJCL3, MVSP0027. The validation program described in the previous section starts the transaction JCL1, which runs the program DFHZJCL1. This program does the following:

  • LINKS to DFHZJCL3 to get the Housekeeping Frequency (i.e. how often spool housekeeping should be run) and the Housekeeping Retain Period (i.e. how long spool files should be kept prior to automatic deletion).
  • CALLS MVSP0027 passing the Housekeeping Retain Period. MVSP0027 deletes any spool files older than the retain period.
  • STARTS JCL1 after the interval specified in Housekeeping Frequency
  • Displays messages on the console saying that the spool housekeeping has:
    • started: SPOOL CLEAN-UP started

      and

    • finished (successfully or not ): SPOOL CLEAN-UP ended normally, maximum retain period is 6 days.
Note:

The preferred way of running Spool Housekeeping is using JCL, as described in this help. The job can then be scheduled to reflect the realities of the customer's environment.

You can also run spool housekeeping using a CICS trancode. To do this:
  • Define the CICS trancode for JCL1 that points to program DFHZJCL1.
To set that this trancode runs automatically upon server startup, add the group that contains that trancode to the startup list.
  • Setting the Retain Periods
  • Setting the Default Retain Period and Run Frequency
  • Setting the Retain Period and Archive Flag for Specific Held Classes
Parent topic: Configuring Enterprise Servers for JCL


Setting the Retain Periods

You configure the retain periods by editing and recompiling DFHZJCL3, one of the programs run during the housekeeping process.

Note: When you configure a retain period less than the default clean up date, only HELD output is deleted before the default cleanup date. The JESYSMSG spool file is not deleted until the default clean up date is reached regardless of what class it is. Other processes depend on this file while any spool output is retained.

For example, a job produces JESYSMSG and SYSPRINT output to class B. If the retain period for class B is 2 days and the default retain period is 7 days, and class B is HELD, only the SYSPRINT will be deleted after 2 days.

If class B is not HELD, neither spool file is deleted after 2 days. All spool output, including the JESYSMSG regardless of whether HELD or not, will be deleted after 7 days.

DFHJCL3 uses a user modifiable copybook which contains the run frequency and retain period values. The copy book is SPOOLHK.CPY a portion of which is reproduced below. Set the values as required (see below) and recompile DFHZJCL3.

      **********************************************************************************
      *  This copy book controls the spool housekeeping.
      **********************************************************************************
      *      ws-run-frequency
      *          this field controls how often the spool clean-up is run
      *          it is stated in days
      *      ws-keep-for
      *          this field contains the default retention period in days for
      *          spooled output
      **********************************************************************************
           03  default-settings.
             05  ws-version                      pic x(8)
                          value 'SPHK 1.0'.
             05  ws-run-frequency                pic 99999 value 1.
             05  ws-keep-for                     pic 99999 value 6.
      **********************************************************************************
      *    The following fields contain the retention periods for spooled output by class
      *    and a flag indicating whether spool files in this class should be archived on
      *    deletion.  There are 36 entries, A through Z and 0 through 9.
      *    If the value is set to 99999 then the default value from ws-keep-for
      *    will be used. A Y indicates that spool files should be archived upon deletion.
      *    These ws-keep-for values are DAYS.
      *    To change the retention period edit the appropriate values and recompile
      *    DFHZJCL1.cbl
      *    e.g.  to change the class A retention period to 1 week and specify that no
      *    archiving is required:
      *    edit the first  filler for class A so that the value is 7
      *    edit the second filler for class A so that the value is N
      *    giving:
      *      class A
      *      05  filler                           pic 99999 value 00007.
      *      05  filler                           pic x     value 'N'  .
      **********************************************************************************
           03 ws-class-settings.
      *      class A
             05  filler                           pic 99999 value 00001.
             05  filler                           pic x     value 'N'  .
      *      class B
             05  filler                           pic 99999 value 00002.
             05  filler                           pic x     value 'N'  .
Parent topic: Spooler Housekeeping


Setting the Default Retain Period and Run Frequency

The comments in the copybook, SPOOLHK.CPY explain the field values

 05  ws-run-frequency                pic 99999 value 1
Change the value of ws-run-frequency to the number of days that you want to elapse between runs of spool housekeeping.
Note: The ws-run-frequency value is used only if the spool housekeeping is run using CICS. It has no meaning with the recommended method, that is when you schedule a batch job to run spool housekeeping.
05  ws-keep-for                         pic 99999 value 6

This is the default retain period and applies to ALL spool output. Change the value of ws-keep-for to the maximum number of days that you wish to keep spool output for. (This includes: i) Any held output for SYSOUT classes with no specific retention period ii) Any output that was scheduled for printing which is still on the spool print queue)

Note:

The retain interval is in days. Using one day is not recommended as a run shortly after midnight would delete spool files written the late previous night; that is, files that are only a few minutes or hours old.

Parent topic: Spooler Housekeeping
Related information
Setting the Retain Periods


Setting the Retain Period and Archive Flag for Specific Held Classes

             05  filler                                 pic 99999 value 99999.
             05  filler                                 pic x     value 'N'  .

For those HELD output classes where the output should be deleted after a SHORTER interval than the above default retain period, edit the first value for the appropriate class.

If you want to archive the contents of the MVS SPOOL spool file prior to deletion, change the second value to ‘Y’. The file will be copied to the location specified in the environment variable MF_SPOOL_ARCHIVE_LOC.

Parent topic: Spooler Housekeeping


Running the Spool Housekeeping Program from JCL

The spool house keeping program, MVSP0027, can be called in batch from a user-written program run by JCL.

To do this, you must write your program to assign the fields as indicated by the instructions in copyfile, spoolhk.cpy(this can be found in your base/source directory), and call MVSP0027. For example:

Example JCL to call your program

//EXAMP1 JOB 'CPTEST',CLASS=A,MSGCLASS=A
//STEP01 EXEC PGM=MFSPHK01
//SYSOUT DD SYSOUT=*
//OFILE  DD SYSOUT=*

Example program to invoke housekeeping

000100 IDENTIFICATION DIVISION.
000300 PROGRAM-ID. MFSPHK01.
003100***************************************************************
004600 ENVIRONMENT DIVISION.
004700 input-output section.
       file-control.
           select infile assign to ifile organization is sequential
                  file status is status-codei.
           select outfile assign to ofile organization is sequential
                  file status is status-codeo.
       DATA DIVISION.
       file section.
       fd  infile.
       01  inrec                         pic x(80).
       fd  outfile.
       01  outrec                        pic x(120).
       WORKING-STORAGE SECTION.
       01 status-codei                   pic xx.
       01 status-codeo                   pic xx.
       01 ws-message                     pic x(120).
       01  spool-hk-settings.
           copy spoolhk.cpy.
       01  ws-mvsp0027-rc                pic xx comp-5.
       01  ws-mvsp0027-reason            pic xx.
       01  disp-num                      pic 99.
       PROCEDURE DIVISION.

      *****************************************************************
      *                                                               *
      *****************************************************************
       0000-MAINLINE-MODULE.
           move 0 to ws-mvsp0027-rc
           call 'mvsp0027' using spool-hk-settings
                                ws-mvsp0027-rc
                                ws-mvsp0027-reason
           move spaces to ws-message
           evaluate ws-mvsp0027-rc
             when 0
               string
                    'SPOOL CLEAN-UP ENDED NORMALLY' delimited by size
                    ' maximum retain period is '    delimited by size
                     ws-keep-for                    delimited by size
                     ' days. '                      delimited by size
               into ws-message
             when 4
               string
                    'SPOOL CLEAN-UP ENDED, '        delimited by size
                    ' empty CASSPOOL/MVSSPOOL  '    delimited by size
                    ' maximum retain period is '    delimited by size
                     ws-keep-for                    delimited by size
                     ' days. '                      delimited by size
               into ws-message
           when other
               move  ws-mvsp0027-rc  to disp-num
               string
                    'SPOOL clean-up failed RC = '  delimited by size
                     disp-num                      delimited by size
                    ' reason code = '              delimited by size
                     ws-mvsp0027-reason            delimited by size
               into ws-message
           end-evaluate
           display ws-message upon console
           goback.

       FILE-INPUT SECTION.
           perform open-infile
           perform read-infile
           PERFORM UNTIL status-codei NOT = '00'
              *> populate mvsp0027 parms
              perform read-infile
           end-perform
           .

       open-infile section.
           open input infile
           if status-codei = '00'
               continue
           else
               move 12 to return-code
               goback
           end-if
           .
       read-infile section.
           read infile
           evaluate status-codei
               when '00'
               when '10'
                   continue
               when other
                   move 16 to return-code
                   goback
           end-evaluate
           .
Parent topic: Configuring Enterprise Servers for JCL


Controlling where Datasets are Created

To override the default location used during the creation of datasets, you can configure Enterprise Server to consult a file containing rules that determine where new datasets are created.

You do this by setting the ES_ALLOC_OVERRIDE environment variable to the location of the "rules" file. Each rule in the file specifies: an offset from the beginning of the catalog record, a value that will be found at the offset in records for datasets that match the rule, and a directory in which the files for those datasets will be created.

For example, the following rule:

OFFSET(n) VALUE (MYSTRING) SUBDIR (C:\MYDIR\MYSUBDIR)

will allocate to C:\MYDIR\MYSUBDIR all files that contain the string "MYSTRING" at position n of the catalog record. The catalog structure is defined in the copyfile: mvscatlg.cpy. This is located in your install-dir/base/source directory.

Each rule must occupy only 1 line and all keywords must be in uppercase. Rules are processed in the order that they appear in the file, and the first one that matches is the one that is used; that is, no further rules are consulted for that dataset.

Example rules file

#  Key off of the spool indicator
OFFSET(313) VALUE(S) SUBDIR(C:\MVSP0030\SPOOL)
#  Key off of the VOLUME value.
OFFSET(314) VALUE(CSIWRK) SUBDIR(C:\MVSP0030\VOLUME)
#  Key off of the DSORG
OFFSET(324) VALUE(VSAM) SUBDIR(C:\MVSP0030\VSAM)
#  Key off of the LRECL
OFFSET(469) HEXVALUE(0063) SUBDIR(C:\MVSP0030\LRECL99)
#  Key off of the first 6 bytes of the dataset name
OFFSET(1) VALUE(MFIDMF) SUBDIR(C:\MVSP0030\MFIDMF)
#  Key off of the DATACLAS value.
OFFSET(449) VALUE(MFIDMFY) SUBDIR(C:\MVSP0030\DATACLAS)
Note:
  • If you want your catalogs to be portable it is a good practice to have the "Subdir" directories at the same level in the directory structure or in directories that are children of the directory containing the catalog.dat file. In the example below we recommend that the catalog.dat be located in C:\MVSP0030\ This is not an absolute requirement, but will help your maintenance.
  • When you are specifying the name of the subdirectory to which files should be allocated, you can specify the string <CatalogFolder> to indicate the directory in which the catalog is stored. For example:
    OFFSET(313) VALUE(S) SUBDIR(<CatalogFolder>\SPOOL)
  • You can also use environment variables when specifying the subdirectory to which files should be allocated. For example:
    OFFSET(313) VALUE(S) SUBDIR($APPROOT\SPOOL)
    where APPROOT is the environment variable. The environment variable will be expanded before it is used in the pc dataset name field in the system catalog.
Parent topic: Configuring Enterprise Servers for JCL


Restarting Jobs

Enterprise Server provides support for restarting JCL jobs at a specified step and optionally a procstep. A typical sequence of events is as follows:

  • The job completes and remains on the Output Hold queue.
  • The user requeues the job for restart using either ESMAC, the casout command, or the callable API, specifying the step and (optionally) the procstep.
  • The job is put back into the Input queue.
  • The job is rescheduled and restarts at the specified step/procstep.
  • Enabling job restart functionality
  • Restarting a Job
  • Non-restartable steps
  • Processing during restart
  • GDG Processing during Restart
Parent topic: Configuring Enterprise Servers for JCL


Enabling job restart functionality

The restart functionality is governed by two environment variables:

ES_JES_RESTART Setting this variable to Y has the following effects:
  • ESMAC will display new fields for a job's details on the Output Hold queue, along with a Restart button. The new fields allow you to specify the step and procstep at which the job is to restart.
  • When the job is run, the lexical files (MFELX*.DAT) associated with the job will no longer be cleaned up when the job is completed; instead, these files will be cleaned up when the job is deleted.
MF_UCC11 Setting this environment variable to Y enables:
  • Automatic reset of the GDG bias to the level of the prior run of the job; that is, the restart will automatically pick up the "correct" GDG Bias.
  • Restarting a job with DISP=(NEW,CATLG) datasets will not result in job failure due to the dataset already being cataloged.
  • COND Code Processing and IF/THEN logic that is dependent upon COND codes from prior steps that are skipped by the RESTART will work as expected with no changes to the JCL.

When this environment variable is set to M, on a restart a catalogued a dataset is presumed to have an initial disposition of MOD rather than NEW. As a result, any new data is appended to the existing dataset.

Parent topic: Restarting Jobs


Restarting a Job

You can restart a job through:

  • the ESMAC Job Details Page for a job on the "Output Hold" queue
  • the casout command line (e.g. casout -r<Servername> -j<jobnumber:step:procstep> )
  • driving the casout callable api

CASOUT provides the following return codes:

Code | Description
0 | Success
8 | The job is not in the "Output Hold" queue
12 | There was a failure in moving the job to the input queue. For more detailed diagnostic information on the cause of the failure, you can turn on CTF tracing for the "restart" property of the mf.mvs.casspool component.
16 | The job does not exist
32 | Restart processing is not turned on. (You must set the ES_JES_RESTART environment variable in order to enable restart processing.)
Parent topic: Restarting Jobs


Non-restartable steps

You cannot restart a job at a step if that step contains:

  • a //UCC11NR DD DUMMY statement
  • any temporary datasets that have DISP of SHR or OLD
Parent topic: Restarting Jobs


Processing during restart

On a restart:

  1. The joblog and all other SYSOUTs will be extended with new data unless they have already been printed/deleted.
  2. Any DISP=NEW datasets will cause an already existing dataset to be deleted before allocation.
  3. Any DISP=MOD datasets that already exist will be extended.
  4. Any DISP=OLD datasets will be over-written.

At the conclusion of the restarted job, its new execution state (step condition codes) will be saved for a future restart.

Note:
  • A non-unique restart step/procstep is resolved to its first occurrence and a message is issued upon restart. This is the same behavior as RESTART= on the JOB statement.
  • When a job is deleted from the Output Hold queue in ESMAC, from the casout command, or via the automated spool cleanup mechanism, all traces of the job are removed and it can no longer be restarted.
Parent topic: Restarting Jobs


GDG Processing during Restart

When a job that uses GDG bias is restarted, all references to a GDG relative bias (e.g. +1, -3) will cause the DD statement to reference the same physical file as the original job. The only time that this will not be true is where the processing of the original job (or of other jobs that were run after the original job) has caused the GDG Bias to be rolled off, scratched, or deleted.

In the case of most mainframe jobs there will be no issues but you should be aware of the following scenarios:

  1. Where a job runs to successful (non-abend) completion and this results in a GDG Bias being rolled off, that Bias will not be available on the restart and any step which references that bias will fail with a "dataset not found" message.
  2. Where a different job, which references the relevant GDGs and creates new relative biases, runs between the end of the job in question and before the job restart takes place, it is possible that the bias referenced by the restarted job will no longer be present.
  3. Where a job abends prior to completion, the abnormal termination disposition is applied as specified by the DISP= statements in the JCL. In this scenario you will encounter problems if the step at which you restart references a bias that doesn't exist as a result of the prior abnormal termination.
Parent topic: Restarting Jobs


Administering JCL-enabled Enterprise Servers

This chapter describes how you can use Enterprise Server Monitor and Control to run JCL jobs on an MSS-enabled enterprise server. It also covers the use of commands to use some JCL facilities.

  • ESMAC
  • On-the-fly SEPs for JCL
  • Running and Controlling JCL Jobs
  • Running JCL jobs held on the enterprise server machine
  • Managing and Viewing Spool Queues
  • Viewing the Catalog and Data Sets
  • Importing and Exporting a Catalog: import export utility
    Describes how to use the catalog import-export utility
  • Using JCL Facilities from the Command Line
  • Interacting with JCL Jobs
  • Character Sets
Parent topic: JCL Support


ESMAC

You can use Enterprise Server Monitor and Control (ESMAC) to run and monitor JCL jobs. You can also use all the facilities described in the chapter Administering Servers Using ESMAC in your Enterprise Server Configuration and Administration Guide , and in the help topics grouped under Administer a Server Using ESMAC. You should familiarize yourself with the contents of that chapter and the associated help topics before reading this chapter.

As an alternative to using the ESMAC interface, you can use some JCL facilities from the command line. For more information see the section Using JCL Facilities from the Command Line.

  • Visual Appearance
Parent topic: Administering JCL-enabled Enterprise Servers
Related information
To create an ESMAC user
To start ESMAC for a server
To monitor services
To configure dumps
To view a dump
To initiate a system dump
To specify what information is traced
To change the trace dataset
To transfer the in-memory trace data to the auxiliary dataset at rollover
To view a system trace
To record service input and output
To view a local trace for a SEP
To view a local trace for a client process
To kill a SEP
To reply to an ACCEPT FROM CONSOLE statement
To shut down a server
Administering Servers Using ESMAC
Using JCL Facilities from the Command Line


Visual Appearance

When you first view ESMAC for a JCL-enabled enterprise server, the Server Information page is displayed, as shown below:

Figure 1. ESMAC Server information page for JCL
ESMAC Server information page for JCL

When you run ESMAC on a JCL-enabled enterprise server, you can use it to:

  • Run on-the-fly SEPs for running JCL jobs and handling printer output
  • Submit and monitor JCL jobs
  • View the catalog
  • View spool queues
Parent topic: ESMAC


On-the-fly SEPs for JCL

As well as defining permanent batch initiators and printer SEPS, as described in the chapter Configuring JCL-enabled Enterprise Servers, you can run temporary ones that exist only until the end of the session.

Like all SEPs, the initiators and printers defined are shown, together with their statuses, on the SEPs page in ESMAC. Click SEPs near the top left of the ESMAC menu to display this.

  • To define a batch initiator or printer SEP
  • To start a batch initiator or printer immediately
Parent topic: Administering JCL-enabled Enterprise Servers
Related information
To define a batch initiator or printer SEP
To start a batch initiator or printer immediately


Running and Controlling JCL Jobs

ESMAC provides facilities for running and controlling JCL jobs, using the JCL Control page.

When a job is submitted, it is immediately syntax checked, and then put onto an input queue to await execution. It goes into execution once an initiator of a corresponding class becomes available. If two or more jobs of the same class are on the input queue, the one with the highest priority is scheduled for execution first.

The default behavior when using ESMAC to submit JCL jobstreams to an Enterprise Server is for the file to be uploaded by the web browser and submitted across the wire (if the Enterprise Server is remote) along with other form data. In previous releases, you could use the ESMAC JES "Control" page (CASRDO44) to enter a file name that is only visible to the Enterprise Server instance.

Security changes implemented with Mozilla Firefox V3 and IE 8 prevent us from supporting this behavior. If you are using an older browser that still allows this behavior you can override it and cause only the filename to be submitted to the Enterprise Server.

Once the job has completed, you can view details of its execution from the JCL Control page.

You see the JOBnnnnn page appears, where nnnnn is the number of the job. This page gives you access to several more facilities, described under the next section, Viewing Spool Queues .

You can view resource locks; you might want to do this if you suspect that a resource locking issue is holding up one of your JCL jobs.

  • To run a JCL job
  • To run a JCL job on a remote enterprise server
  • To view details of a job's execution
  • To view resource locks
Parent topic: Administering JCL-enabled Enterprise Servers
Related information
To run a JCL job
To run a JCL job on a remote enterprise server
To view details of a job's execution
To view resource locks
Viewing Spool Queues


Running JCL jobs held on the enterprise server machine

When you are accessing an enterprise server session remotely, by default, ESMAC submits JCL jobs held on the machine running the web browser. If you are using a ESMAC and web browser to connect to a remote machine and you want to submit JCL that is only visible to the remote machine, then you will need to override the default behavior.

To access files from the machine running the Enterprise Server, configure the following environment variable:

CASRDO44_NEWSUB=OFF

See Environment Variables for details.

With this environment variable configured, from a remote machine, you can browse for and run JCL jobs located on the machine running the Enterprise Server session.

It is important to note that this behavior will only function if you are using a browser that allows an HTML element of TYPE=FILE to be used as an entry field for a filename, as opposed to the actual file being submitted as part of a MIME multi-part form.

(Firefox V3.0 and later and IE8 and later no longer allow this behavior.

Parent topic: Administering JCL-enabled Enterprise Servers


Managing and Viewing Spool Queues

You can manage and view the spool queues from ESMAC.

The queues are listed below:

Button | Shows: | Details
Input | Input queue | Jobs waiting to start (usually waiting for an initiator for the correct class to be available)
In Hold | Held input queue | Jobs that are held (HOLD on the job card, or Hold button on a job’s entry in the Input Queue)
Active | Active jobs queue | Jobs currently running
Output | Output queue | Output files waiting to be printed (usually waiting for a printer for the correct class to be available)
Out Hold | Held output queue | Output files that are held (Hold button on a job’s entry in the Output Queue)
Printing | Print queue | Output files currently being printed

A spool queue that is not empty consists of entries for each job in the queue, with a button bearing the job number at the left-hand side of the page. You can click a job number button to view more details of the job. You see the JOBnnnnn page, where nnnnn is the number of the job. This page gives you access to several more facilities. You can:

  • Hold the job, that is, prevent the job from being executed if it is in the input queue or its output files from being printed if it is in the output queue
  • Update the control information for the job; this includes Class and Priority; you can use one or both of these to change the order in which jobs are run
  • Purge the job
  • View the details of any of the outputs from the job

The output file details page gives you access to some facilities for controlling and viewing individual output files. You can:

  • Hold the job, that is, prevent the job from being executed if it is in the input queue or its output files from being printed if it is in the output queue
  • Update the control information for the job; this includes Class and Priority; you can use one or both of these to change the order in which jobs are run
  • Purge the output file
  • View the contents of the output file
  • To view the spool queues
  • To delete a job
  • To delete a job output file
  • To delete all jobs in a queue
  • To hold or release a job
  • To update control information for a job
  • To view details of a job output file
  • To view details of a job's execution
  • To view the contents of a job output file
  • Active output jobs and server re-starts
    Describes the effect of running jobs when a region is re-started.
  • Spool Housekeeping Return and Reason Codes
    Describes the return output from spool housekeeping operations
Parent topic: Administering JCL-enabled Enterprise Servers
Related information
To view the spool queues
To view details of a job's execution
To hold or release a job
To update control information for a job
To delete a job
To view details of a job output file
To delete a job output file
To view the contents of a job output file
To delete all jobs in a queue


Active output jobs and server re-starts

If you boot an Enterprise Server region that shares a catalog with another Enterprise Server region that is currently running, the boot process flushes the currently running server's active jobs to the Held Output queue. As a result, the jobs disappear from the region's Active queue.

When a job is moved from Active to Output Hold as a result of a server restart, the Completion Code as viewed in the JES Output Hold queue is set to RFLS. This indicates that the job was flushed as a result of a restart.

To modify this behaviour, there is an environment variable that you can set to disable it.

If the environment variable ES_JES_DISABLE_RESTART_FLUSH is set to any value, then a region's jobs are not moved from the Active queue to the Output Hold queue when the region is re-started.

The recommended way to use this environment variable is to:

  • Set the ES_JES_DISABLE_RESTART_FLUSH environment variable for all online servers that share the Batch server's catalog.
  • Do not set the ES_JES_DISABLE_RESTART_FLUSH environment variable for all the Batch server.

This prevents the Online servers from purging the JES Active queue when they are cycled.

Parent topic: Managing and Viewing Spool Queues


Spool Housekeeping Return and Reason Codes

When you run a spool housekeeping operation, the return code is displayed on the console log. Possible values are as follows:

Return code | Reason
0 | The operation completed successfully without errors.
4 | No spool records were found. You would expect this when a server is first started, if spool housekeeping is scheduled via CICS.
8 | This is a warning, and the processing continues. It indicates that a spool record that was a candidate for deletion could not be deleted (possibly in use), or a catalog entry for a spool record that was a candidate for deletion is not present.
16 | This indicates a fatal error. Processing is terminated. Generally, it is the result of an unexpected file status code from IO on casspool.dat, mvsspl01.dat or catalog.dat.

These return codes indicate that the file i/o on the associated file has returned an unexpected status code. This can happen for a number of reasons. For example, because another process has the file locked, because an expected record no longer exists or an invalid catalog or archive location has been specified. If the resulting return code indicates a serious error (16) or the errors are persistent, CTF tracing for the housekeeping process is available (which will log the file status codes encountered for a precise diagnosis). The appropriate settings for CTF are:

mftrace.level.mf.mvs.mvsp0027  = debug
mftrace.comp.mf.mvs.mvsp0027#entry      = true
mftrace.comp.mf.mvs.mvsp0027#delete     = true
mftrace.comp.mf.mvs.mvsp0027#warning    = true

This configures that when the spool housekeeping operation fails, the return is accompanied by a reason code. These reason codes can help locate the source of the spool houskeeping problem, and they can also help to diagnose errors.

Return code | Reason
01, 02 | Read next record on casspool. operation failed.
03 | Purge record on casspool operation failed.
04 | Delete record on casspool operation failed.
05 | Start on casspool operation failed.
10 | Open on mvsspool operation failed.
11 | Delete record on mvsspool operation failed.
12 | Read next record on mvsspool operation failed.
13 | Keyed read on mvsspool operation failed.
20 | Open on profile (the .pro file describes the spool archive file for data file editor - only when archiving requested ) operation failed.
21 | Write on profile ( only when archiving requested ) operation failed.
30 | The Copy spool to archive operation failed. The spool archive directory may not exist.
40 | The Read record on catalog.dat file operation failed.
41 | The delete record from catalog.dat file operation failed.
Parent topic: Managing and Viewing Spool Queues


Viewing the Catalog and Data Sets

You can view the catalog from ESMAC.

From the catalog page you can:

  • Create a catalog entry for a new data set
  • View the details of an existing catalog entry
  • Update an existing catalog entry
  • Delete a catalog entry
  • Copy a catalog entry to create a new entry
  • Import a system catalog from an XML file
  • Export the contents of an existing catalog to an XML file
  • View the contents of a cataloged data set
  • To view the catalog
  • To copy a catalog entry for a data set
  • To create a catalog entry for a data set
  • To delete a catalog entry for a data set
  • To update a catalog entry for a data set
  • Importing and Exporting a Catalog: import export utility
    Describes how to use the catalog import-export utility
  • To view the contents of a data set
  • To view the details of a catalog entry
Parent topic: Administering JCL-enabled Enterprise Servers


Using JCL Facilities from the Command Line

You can use some JCL facilities from the command line. Commands are provided for:

  • Submitting JCL jobs
  • Starting batch initiator SEPs

These commands are described in detail in this chapter.

For any particular enterprise server, if you are going to invoke any functions via commands, you must use commands to start and stop that enterprise server. These commands are introduced in the section Command-line Interface in the chapter Servers in your Configuration and Administration Guide. All the commands are specified in detail in the help topics Commands.

  • Starting a Batch Initiator SEP
  • Submitting JCL Jobs
Parent topic: Administering JCL-enabled Enterprise Servers


Starting a Batch Initiator SEP

You use the command cassi to start a batch initiator or batch printer SEP from the command line. Before you use cassi to start a batch initiator or batch printer SEP, you must already have started the enterprise server using the command casstart.

For a full definition of cassi see the topic cassi (JCL version).

Here are some examples:

casstart -rJCLDEMO
start cassi -bABC -rJCLDEMO

This starts a batch initiator SEP for the classes A, B and C on the enterprise server JCLDEMO.

casstart -rJCLDEMO
start cassi -pA -q"HP LaserJet 4L" -rJCLDEMO

This starts a batch printer SEP for the class A on the enterprise server JCLDEMO using the printer defined on your machine as "HP LaserJet 4L".

casstart -rJCLDEMO
start cassi -pA -q"HP LaserJet 4L" -rJCLDEMO -zSAMPPRNX -a

This is as above, with the differences that the SEP is started for debug and the printer exit SAMPPRNX is installed.

Note that it’s advisable to run the command cassi in a separate session, using the Windows start command as shown.

Parent topic: Using JCL Facilities from the Command Line
Related information
cassi (JCL version)


Submitting JCL Jobs

You use the command cassub to submit a JCL job from the command line to an enterprise server running either on your own machine or a remote machine.

For a full definition of cassub see the topic cassub.

  • Submitting to a Local Machine
  • Submitting to a Remote Machine
Parent topic: Using JCL Facilities from the Command Line


Submitting to a Local Machine

Before you use cassub to submit a JCL job on your machine, you must already have started the enterprise server using casstart.

If the enterprise server does not have a batch initiator SEP defined that handles jobs of the same class as the job you want to submit, you must also start a suitable batch initiator SEP using the command cassi.

For example:

casstart -rjcldemo
cassub -jC:\Documents and Settings\user-ID\My Documents\Micro Focus\Net Express ver\workarea\jcldemo\esjcl\esjcl.jcl -rjcldemo

This submits the JCL in the file C:\Documents and Settings\user-ID\My Documents\Micro Focus\Studio Enterprise Edition X.X\workarea\jcldemo\esjcl\esjcl.jcl to the enterprise server jcldemo.

Parent topic: Submitting JCL Jobs


Submitting to a Remote Machine

Before you use cassub to submit a JCL job to a remote machine, you must find out the address of the Web Services listener associated with the service MF JES. To do this:

  1. Open ES Admin for the remote machine.
  2. On the Home page of ES Admin click Details next to Services in the Objects column for the server that you want to submit a job to.
  3. Note the address of the listener for the service with a service class of MF JES.

You then specify this address using the -s parameter of cassub. For example:

cassub -jc:\program files\micro focus\Studio Enterprise Edition X.X\base\workarea\jcldemo\esjcl\esjcl.jcl -stcp:192.168.1.102:2811
cassub -j/var/mfcobol/es/jcldemo/esjcl/esjcl.jcl -stcp:192.168.1.102:2811

This submits the JCL in the file c:\program files\micro focus\<product name>X.X\base\workarea\jcldemo\esjcl\esjcl.jcl on your machine to an enterprise server running on a remote machine. The enterprise server must already have been started.

You can verify that you have successfully submitted the job by using the ESMAC Log feature: click Log in the Diagnostics group of the menu, and then click Display. You will be able to see messages relating to the job submission.

You can view the remote machine's spool queues and catalog entries in the usual way.

  • To View and Use Remote Directory Server Instances
Parent topic: Submitting JCL Jobs
Related information
To view and use remote Directory Server instances


Interacting with JCL Jobs

You can run jobs on an enterprise server that include ACCEPT FROM CONSOLE and DISPLAY UPON CONSOLE statements. When execution reaches a DISPLAY UPON CONSOLE statement, the display text is displayed in the console log and the job log, and the job continues. When execution reaches an ACCEPT FROM CONSOLE statement, the job pauses and asks for input using pages in ESMAC.

There is also a facility for replying to ACCEPT FROM CONSOLE statements in basic ESMAC for running Web services, and this is available to JCL jobs. For more information see the sectiion Interacting with Services in the chapter Administering Servers Using ESMAC in your Configuration and Administration Guide.

  • To reply to an ACCEPT FROM CONSOLE statement
Parent topic: Administering JCL-enabled Enterprise Servers
Related information
To reply to an ACCEPT FROM CONSOLE statement


Character Sets

Migrated JCL applications used to run on the mainframe using the EBCDIC character set. However, the native character set on Windows machines is ASCII. On Enterprise Server you can continue to run JCL applications in EBCDIC if you wish, or you can run them in ASCII. There are both program and data considerations.

  • Programs
  • Data
Parent topic: Administering JCL-enabled Enterprise Servers


Programs

The default mode for an enterprise server is ASCII, since Windows is an ASCII environment. Programs can be run in EBCDIC as long as they have been compiled using directive CHARSET"EBCDIC". At the beginning of a program execution, that is, the execution of a program invoked by the CALL command, the RUN sub-command (of DSN), or by a job step (PGM=), the JCL engine detects the character set of the program. The character set of the program remains constant throughout its execution.

Steps in a JCL job stream can use different character sets. But if a program initiated by a job step then calls another program, it's up to the programmer to make sure that the character sets used by the programs are compatible (for example for call parameters) or that they handle any incompatibilities themselves.

Parent topic: Character Sets


Data

The programmer needs to ensure that any data files they read are in the character set that matches the program. The File Handler will issue an abend if it is asked to open a file whose catalog entry has a different character set from the character set of the program.

In-stream data and line sequential files are automatically converted to match the mode of the application program. Data in all other files is not converted.

All data presented to or exchanged with the program is either ASCII or EBCDIC depending on the character set of the program. Conversions are done as appropriate. This includes data in MVS control blocks.

Pointer data is native unless AMODE is in effect, in which case, it is big-endian (network order). This includes data in MVS control blocks.

Binary data is always big-endian. This includes data in MVS control blocks.

Parent topic: Character Sets


Extensions to JCL and IDCAMS

When running JCL or IDCAMS in Mainframe ExpressEnterprise Server, you can use Micro Focus extensions to the JCL and IDCAMS command languages.

  • Extensions
  • %PCSDN
  • %REPRO
Parent topic: JCL Support


Extensions

You write the extensions as comments, so that if you move your JCL or IDCAMS back to the mainframe they will be ignored. The start of the Micro Focus extensions within a comment is indicated by the four-character string “MFE:”. Extensions are identified by keywords. These keywords begin with the % sign, to avoid any possible conflict with MVS keywords.

There is no change to standard JCL or IDCAMS comments.

Parent topic: Extensions to JCL and IDCAMS


%PCSDN

The %PCDSN extension can be used both in JCL and in IDCAMS. You use it when creating a new data set. It specifies a physical PC filename to be associated with the MVS data set name. If you do not use it, a PC filename is generated automatically.

For example, to assign a PC physical filename to a data set you are creating using JCL:
//SYSUT2 DD DSN=MFIDSA.NONVSAM.WITH.SPECIFIC.PCNAME,//
DISP=(NEW,CATLG),SPACE=(TRK,1)
//*MFE: %PCDSN='<CATALOGFOLDER>\MYFILE.NONVSAM.DAT'

The extension comes after a “//*”, so that the mainframe will see it as a comment. It must be on a line by itself and must follow the last of the DD statement lines to which it applies. The string “<CATALOGFOLDER>”, written exactly as shown, means the folder containing the catalog. The quotes (note: single quotes) surrounding the value are needed if the name does not conform to JCL’s rules; for example, if it contains spaces or lower-case characters.

Note:

You can create dynamic PDSs by using this extension syntax as illustrated in the following example:

//DD1      DD DSN='TEST.DYN1',DISP=(NEW,CATLG),//
DCB=(RECFM=FB,LRECL=123,DSORG=PO)
//*MFE: %PCDSN=C:\DPDS\*.DAT
This will create TEST.DYN1 as a dynamic PDS whose members are files in the directory C:\DPDS with the extension .DAT. The data set organization must be PO.
Similarly, to assign a physical PC filename to a data set you are creating using IDCAMS:
DEFINE CLUSTER( -
NAME(DSA.LIB.VSAMSRC2 ) -
CONTROLINTERVALSIZE (4096) -
RECORDSIZE(4088 4088) -
REUSE -
NUMBERED -
SHAREOPTION (4 4) -
CYLINDERS (2 1) -
) -
;MFE:%PCDSN(E:\MYDIR\MYFILE.DAT)

The extension comes after a semicolon, so that the mainframe will see it as a comment. We recommend that it be on a line by itself. Just as in JCL, you can use “<CATALOGFOLDER>” to mean the folder containing the catalog; and single quotes are needed surrounding the value if the name does not conform to IDCAMS’s rules.

To continue the %PCDSN parameter over more than one line, you must following the JCL rules for continuations.
//SYSUT2 DD DSN=MFIDSA.TEST.NONVSAM.WITH.LONG.PCNAME,
// DISP=(NEW,CATLG),SPACE=(TRK,1),LRECL=80,RECFM=F,DSORG=PS
//*MFE: %PCDSN='<CatalogFolder>/DATA/pcname_long_name.node_name3.node_n
//*MFE:        ame4.node_name5.node_name6.node_name7.node_name8.node_na
//*MFE:        me9.with.long.pcname.for.nonvsam.dataset'

In this case, the name begins immediately after "=", goes on until column 71 (there is nothing in column 72), then resumes on the next line at column 16 and so on, finishing with the ending quote. Make sure you have //*MFE: in columns 1 through 7 of all records.

If the name ends exactly in column 71, the only thing left to put in the next line in column 16 is the ending quote:
//SYSUT2 DD DSN=MFIDSA.TEST.NONVSAM.WITH.LONG.PCNAME,
// DISP=(NEW,CATLG),SPACE=(TRK,1),LRECL=80,RECFM=F,DSORG=PS
//*MFE: %PCDSN='<CATALOGFOLDER>/DATA/PCNAME_LONG_NAME.NODE_NAME3.FL.DAT
//*MFE:        '
Finally, if you are using this in IDCAMS, then you follow IDCAMS rules (+ at the end etc. but columns 17/71 do not matter). For example:
DEFINE CLUSTER(NAME(MFIDSA.TEST.VSAMKSDS.WITH.LONG.PCNAME ) -
TRK(1 1) -
RECSZ(80 80) KEYS(9 0) ) -
;MFE:%PCDSN -
('<CatalogFolder>/DATA/pcname_long_name.node_name3.node_t+
ame4.node_name5.node_name6.node_name7.node_name8.node_nam+
e9.with.long.pcname.for.vsamksds.dataset')
Parent topic: Extensions to JCL and IDCAMS


%REPRO

The %REPRO extension can be specified on the PARM keyword of the EXEC statement invoking IDCAMS, and on the PARM command. The syntax is:

%REPRO(VSAM | VSAMLAX | OSCOPY | OSCOPYLAX)

  • %REPRO(VSAM) provides the normal REPRO host compatible behaviour and is the default. In this case, for example, out of sequence records, when REPROing to a KSDS, will be flagged as an error.

  • %REPRO(VSAMLAX) provides the Micro Focus relaxed REPRO behavior. In this case, for example, out of sequence records, when REPROing to a KSDS, will be indicated with an information message.

  • %REPRO(OSCOPY) attempts to use the operating system’s “file copy” facility to copy the underlying PC files. %REPRO(OSCOPY) is faster than %REPRO(VSAM), and is performed only if the data set attributes of the input data set match those of the output data set as indicated in the table below. An informational message is always issued indicating that the operation that took place.

  • %REPRO(OSCOPYLAX) is the same as %REPRO(OSCOPY), except that it still uses the operating system’s “file copy” facility to copy the underlying PC files even if a subset of attributes do not match. The table below indicates which attributes must match for each command option. If the attributes at the bottom of the table (CHARSET, EXTENDED-TYPE, REUSE/NOREUSE, UNIQUEKEY/NONUNIQUEKEY) do not match, a message is issued but the system still proceeds with the operating system's “file copy”.

Attribute | Must match for
RECFM | OSCOPY and OSCOPYLAX
DSORG | OSCOPY and OSCOPYLAX
VSAM-KEY-OFFSET | OSCOPY and OSCOPYLAX
VSAM-KEY-LENGTH | OSCOPY and OSCOPYLAX
LRECL | OSCOPY and OSCOPYLAX
LRECL-MAX (system managed) | OSCOPY and OSCOPYLAX
LRECL-MIN (system managed) | OSCOPY and OSCOPYLAX
CHARSET (EBCDIC or ASCII) | OSCOPY
EXTENDED-TYPE (system managed. Indicates base cluster, aix, etc.) | OSCOPY
REUSE/NOREUSE | OSCOPY
UNIQUEKEY/NONUNIQUEKEY (for AIXs and PATHs) | OSCOPY
For example:
//STEPAMS  EXEC PGM=IDCAMS,PARM=';MFE:%REPRO(OSCOPY)'
//SYSPRINT  DD SYSOUT=*
//VSAMDATA  DD *
AA
BBB
//SYSIN  DD *
  PARM ;MFE: %REPRO(VSAM)
  /* Next REPRO will use normal REPRO */
  REPRO  IFILE (VSAMDATA)                          -
         ODS   (MFIDSA.REPROOS.KSDS1)
  PARM ;MFE: %REPRO(OSCOPY)
  /* All REPRO(s), until another PARM command specifies –
     otherwise, will use OS copy if possible */
  REPRO  IDS   (MFIDSA.REPROOS.KSDS1)              -
         ODS   (MFIDSA.REPROOS.KSDS2)

The extension comes after a semicolon, so that the mainframe will see it as a comment. However, if the extension is the only option to the PARM command, the mainframe reports an error. To prevent this, you must code at least one option in addition to the extension. For example, rather than coding exactly as in the example above, you could code:

PARM='MAR(2,72);MFE: %REPRO(OSCOPY)'

or equivalently:

PARM MAR(2,72);MFE: %REPRO(OSCOPY)

Parent topic: Extensions to JCL and IDCAMS


Configuring JCL Timeouts

This chapter describes how you can configure timeouts for JCL jobs.

  • Overview: JCL Timeouts
  • Difference with the TIME= parameter
  • How the timeout is calculated
  • Establishing "Default" and "By Class" timeout values
  • New Messages
  • CTF Tracing/CAS AUX Tracing
Parent topic: JCL Support


Overview: JCL Timeouts

On a Z/OS system, both runaway and looping batch jobs can be controlled by the use of the TIME= parameter. This can operate on the JOB card. The TIME= parameter takes the form of: TIME=(x,y) where x is a time value in CPU minutes, and y is a time value in CPU seconds.

The Enterprise Server environment does not recognize the concept of CPU seconds. To allow for this, Enterprise Server includes a mechanism that enables you to configure a value in real seconds to equate to the CPU seconds that are coded in your JCL. Using this mechanism, you can configure a JCL job to abend long running jobs if they take longer than the boundaries you set.

A timeout can only be applied to a job when you have defined a class-specific timeout multiplier and/or a Default multiplier. If no class-specific or Default multiplier has been defined, a multiplier of 1 (one) is used. If multiple initiators are active, and a job is started, and then held awaiting the completion of another job of the same name, the time spent waiting is included in the job's elapsed time, when determining if the job has exceeded it's allotted time span.

Parent topic: Configuring JCL Timeouts


Difference with the TIME= parameter

The following topics illustrate the differences between JCL timeouts and using the TIME= parameter.

  • Abends - S322:
  • Maximum number of actual Seconds
  • Rerun/Recovery method
Parent topic: Configuring JCL Timeouts


Abends - S322:

On a mainframe, a job abends with an S322 abend code when the TIME value has been exceeded on a per job or per step basis.

The method used to end a job is as follows:

  • the process first attempts a "soft kill." If this is unsuccessful it is immediately followed by a "hard kill".

    on Enterprise Server running on a PC, it is possible that your code is executing in a loop that is so tight that the timing mechanism is unable to break execution to terminate the job gracefully. In this event, it performs a "hard kill" on the process.

For all timeouts, the ESMAC Condition Code associated with the job is an S322. The job termination codes, as shown in the joblog, are either S222 in the event of a successful "soft kill" or nothing in the event of a successful "hard kill" In both cases a message similar to the one below is written to the console.log file:

CASKC6002I JOB10347 terminated due to exceeding TIME parameter 05:01:20

Parent topic: Difference with the TIME= parameter


Maximum number of actual Seconds

The maximum number of "real" seconds that can be used for a timeout value (calculated) for a JOB/STEP is 65533, or approximately 18.2 hours. If the time as calculated exceeds 65533 seconds, then a JES000034E message, as shown below, is issued to the console and the maximum value of 65533 seconds is applied to the job.

JES000034E JOB10348 - TIME parameter exceeds 65533 after applying class multiplier (0100)

Parent topic: Difference with the TIME= parameter


Rerun/Recovery method

On a mainframe, the third dataset disposition (abnormal termination) is always triggered and processed upon receipt of an S322 abend.

In the Enterprise Server environment however , the abnormal dataset disposition processing for an S322 abend is ONLY processed when a "soft kill" can be issued. The DBMS commit/rollback can be used, and will process as expected

Parent topic: Difference with the TIME= parameter


How the timeout is calculated

The timeout calculation is made by first attempting to apply a job CLASS-specific multiplier. If this multiplier is not present, the process applies the default setting. If neither is present, then a timeout multiplier of 1 (one) is applied to the job. In the example jobstream below, the job has specified a maximum TIME of 20 seconds of CPU time.

If CLASS=C jobs run with a multiplier of 2, then the job will run for between 40 and 50 seconds before being cancelled automatically by the system. This run time refers to actual execution time only, and does not include the time that the job spends in the INPUT or INPUT HOLD queues.

The Overhead value is a machine-dependant figure that is typically between 6 and 10 real seconds. It can vary in either direction depending upon the machine's workload and CPU speed. Any minutes specified on the JOB card are converted to CPU seconds before calculating.

The timeout is is calculated as follows:

Real Seconds = (TIME * Multiplier) + Overhead

For example, in the code below, the timeout is set for around 40 seconds.

//DMFBR14 JOB 'DMFBR14',CLASS=C,MSGCLASS=A,TIME=(,20)
//**************************************************************
//* Timeout after running for about 40 seconds. (Class C Multipler of 2)
//**************************************************************
//* Copyright (C) 1985-2008 Micro Focus International Ltd.
//* All rights reserved.
//**************************************************************
//*
//* Run one step for about 1 minute
//*
//STEP1 EXEC PGM=INFINITE,PARM='00012'
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//JBSTATUS DD SYSOUT=*,DCB=(LRECL=80,RECFM=FB,DSORG=PS)
//*
Parent topic: Configuring JCL Timeouts
Related information
To define a batch initiator or printer SEP
To start a batch initiator or printer immediately


Establishing "Default" and "By Class" timeout values

The sample jobstream below can be used to display and/or modify the settings used to calculate the number of actual seconds that can elapse before a job is cancelled automatically. In the code below:

  • The first step, LIST01, lists the current settings. These are written to the SYSPRINT DD and viewable via ESMAC in the Output Hold queue entry for the job.
  • .The second step, STEP10, establishes multipliers for classes A, B, C, and D, and sets a default setting of 10. The multiplier values must be 4 digits and can have a range of 0001 to 9999.
//SETMULT JOB 'SETMULT',CLASS=A,MSGCLASS=X,NOTIFY=MFIDMF
//*
//* List out all the values contained in jesinfo.dat
//*
//LIST01 EXEC PGM=MVSP0036,PARM='LIST'
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*,HOLD=Y
//SYSIN DD *
/*
//*
//* Set the values in jesinfo.dat for TIME= multipliers
//* as a default and on a class by class basis.
//* The multipliers are used in an attempt to equate CPU Seconds
//* to "real" seconds.
//*
//STEP10 EXEC PGM=MVSP0036,PARM='JESMULTIPLIER'
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*,HOLD=Y
//SYSIN DD *
DEFAULT(0010)
A(0009)
B(0004)
C(0002)
D(0100)
/*

Note the following:

  • The JESINFO.DAT file should not be manually edited. Its contents should only be updated via the MVSP0036 utility.
  • The JESINFO.DAT is in the same location as your catalog file, typically catalog.dat.
  • The settings in JESINFO.DAT are specific to an Enterprise Server region. These settings should not be shared among multiple servers.
Parent topic: Configuring JCL Timeouts
Related information
To view resource locks


New Messages

This functionality generates the following messages:

  • CASKC6002I JOBnnnnn terminated due to exceeding TIME parameter
  • JES000034E JOBnnnnn - TIME parameter exceeds 65533 after applying class multiplier (nnnn)

Parent topic: Configuring JCL Timeouts


CTF Tracing/CAS AUX Tracing

The following tracing functionality has been added:

  • The DISP property of mf.mvs.casspool ctf tracing has been enhanced to show the calculation for adjusted timeouts.
  • A trace has been added to the CAS Aux tracing for jobs that terminate due to a timeout. This trace is from the casmgr process, and shows the name of the job that timed out.
Parent topic: Configuring JCL Timeouts


JCL Aspects of Troubleshooting

This chapter covers some aspects of troubleshooting problems with running JCL applications in an MSS-enabled enterprise server.

  • Introduction
  • Consolidated Tracing Facility
  • MVSJOBNO
Parent topic: JCL Support


Introduction

Problem diagnosis on a JCL-enabled enterprise server is very similar to problem diagnosis on an enterprise server running Web services or EJB-type services, as described in the chapter Troubleshooting in the Enterprise Server Configuration and Administration Guide.

Parent topic: JCL Aspects of Troubleshooting


Consolidated Tracing Facility

The Consolidated Tracing Facility (CTF) allows you to produce diagnostic information detailing the operation of Micro Focus software components and your own programs.

Parent topic: JCL Aspects of Troubleshooting
Related information
Introduction to the Consolidated Tracing Facility


MVSJOBNO

If you get MVSJOBNO I/O error 42, delete the file mvsjobds.dat, which you will find in the same directory as your catalog, and then try the failed operation again.

Parent topic: JCL Aspects of Troubleshooting


Using Fileshare

  • Using Enterprise Server with Fileshare
  • Using Fileshare - More Features
  • Fileshare - Further Details
Parent topic: MSS Configuration and Administration


Using Enterprise Server with Fileshare

This Part describes how to configure an enterprise server so that I/O for CICS- or JCL-related files is handled by a Fileshare server. The major reason for doing this is that it provides transactional VSAM file access for CICS-related files. This Part covers only stand-alone Fileshare servers. A stand-alone Fileshare server is one that you run separately from Enterprise Server, by running fs.exe. Enterprise Server's built-in Fileshare server is not recommended for this use.This chapter is intended to help you get up and running quickly. After a brief overview and an outline of the main points of configuration, it walks you through a typical configuration. The chapter Using Fileshare - More Features gives brief introductions to other useful and important aspects. The chapter Fileshare - Further Details goes into more detail.

  • Overview
  • Details of Configuration
  • Walkthrough
Parent topic: Using Fileshare


Overview

Fileshare is a client/server file handler, supplied as part of Enterprise Server. When you configure an enterprise server to use Fileshare, you are making the enterprise server a Fileshare client, so that some or all file I/O requests coming from applications running in that enterprise server will be handled by a Fileshare server.

You can configure some or all files that are accessed from CICS applications to be accessed via Fileshare. You can also configure files accessed by JCL, and even the catalog itself, to be accessed via Fileshare, if you wish. However, the major benefit of Fileshare is when used with CICS.

Although its name implies file sharing, the primary reason for using Fileshare is to support transactional access to data files using the COMMIT and ROLLBACK verbs or EXEC CICS SYNCPOINT when using CICS. Without it, there is no transactional behavior in CICS. Fileshare also provides rollforward recovery to ensure the integrity of your files in the event of a system failure.

  • Transactional VSAM Access
  • Configuration
Parent topic: Using Enterprise Server with Fileshare


Transactional VSAM Access

On an IBM mainframe, when a CICS application accesses a VSAM dataset, the access is transactional. This means that CICS, acting as a Transaction Manager (TM), ensures that the updates to the VSAM dataset are committed or rolled back as appropriate. The application can control the transaction boundaries with explicit EXEC CICS SYNCPOINT commands, and CICS implicitly controls the transaction at end of task.

In Mainframe Subsystem Support, CICS provides VSAM emulation but does not provide transactional access to these resources. Fileshare does provide such access. Mainframe Subsystem Support acts as the TM and uses Fileshare's Resource Manager (RM) to provide behavior compatible with mainframe CICS.

No changes to your program source are needed to take advantage of Fileshare. If a resource definition indicates that a resource uses Fileshare, the default configuration provides backward recovery for that resource. This means that if an application explicitly backs out updates to a VSAM dataset, or CICS rolls back an update because of an application failure, Fileshare ensures that the dataset is returned to a consistent state.

If a file is accessed only from JCL, not CICS, then there is no advantage in using Fileshare for it. However, if it is accessed by both, and you configure it to use Fileshare for the sake of transactional VSAM access, then Fileshare is used for all accesses to it, whether from CICS or JCL. The later chapter Using Fileshare - More Features describes how to handle potential conflicts between accesses from CICS and JCL.

Parent topic: Overview


Configuration

You need to configure both the enterprise server and the Fileshare server:

  • You configure the Fileshare server by parameters on the command line when you start it.
  • You specify via ES Admin and ESMAC which files are to be accessed via Fileshare. You can:
    • Configure an individual file to be accessed via Fileshare.
    • Configure all files to be accessed via Fileshare.
    • Configure the catalog itself to be accessed via Fileshare.

Sections in this chapter cover these topics in detail. The final section is a walkthrough of a typical configuration.

Parent topic: Overview


Details of Configuration

This section briefly summarizes what you need to do. A later section walks you through a typical example.

  • Start a Fileshare Server
  • Configure Which Files to Access via Fileshare
Parent topic: Using Enterprise Server with Fileshare


Start a Fileshare Server

You start the Fileshare server from an application command prompt, in the directory where you want the files it manages to reside. We'll call this the Fileshare directory. When you later configure your enterprise server, you can specify subdirectories of this directory for particular files.

You start it using the command:

start fs /s fs-server-name

or, if you want tracing:

start fs /s fs-server-name /tr f

A Fileshare console window opens. If you specified /tr f, the trace is written to this window and also to a file called fsscreen.lst in your Fileshare directory. You should normally delete fsscreen.lst before starting a Fileshare server, or your new trace output will be concatenated to whatever is currently in the file, which can be confusing when trying to track down problems.

You can turn tracing on or off while Fileshare is running, by pressing F2.

You should not normally use tr f in production, as it has a detrimental effect on performance.

Be sure to start your Fileshare server before your enterprise server, so that the Fileshare server is available right from the start to service any I/O requests the enterprise server may send.

To close the Fileshare server, press Esc in the Fileshare console window. You would normally do this only after stopping your enterprise server.

Parent topic: Details of Configuration


Configure Which Files to Access via Fileshare

You need to tell your enterprise server which files are to be accessed via the Fileshare server.

  • Format of the Fileshare Server Name
  • Accessing All Datasets via Fileshare
  • Accessing an Individual Dataset via FiIeshare
  • Dataset Created by a Batch Job
  • Accessing the Catalog via Fileshare
Parent topic: Details of Configuration


Format of the Fileshare Server Name

Remember that a dataset is represented by a physical file on disk, and although the enterprise server can create a default name for the physical file there are various places where you can override this default and specify a name of your own choosing. To specify that a file is to be accessed via Fileshare, you specify the path and filename of the physical file and include in the path the name of the Fileshare server to use.

Wherever you specify the Fileshare server, you precede its name with "$$". For example:

$$server1
Parent topic: Configure Which Files to Access via Fileshare


Accessing All Datasets via Fileshare

You can configure an enterprise server so that all datasets are accessed via Fileshare.

In ES Admin, on the Edit page for the server, on the JES tab, include the name of the Fileshare server in the path for the Default Allocated Dataset Location. You then don't need to specify anything for individual datasets, unless you want to override this.

Changes made on this page are picked up when you next start the enterprise server.

Parent topic: Configure Which Files to Access via Fileshare


Accessing an Individual Dataset via FiIeshare

You can configure an individual dataset to be accessed via Fileshare, or by a specific Fileshare server overriding the one specified in the Default Allocated Dataset Location.

Go to the FCT page for the file (in ESMAC, select Start L on the Resources dropdown list, then click FCT, then click Details by the file), and then:

  • If the FCT entry is not linked to a catalog entry (there is no check mark by Use Catalog), look at the group of fields provided for specifying a physical filename to override the default location. Enter the name of the Fileshare server in the Fileshare Server field.
  • If the FCT entry is linked to a catalog entry, go to the Catalog page for the file (select JES on the Resources dropdown list, click Catalog, then click Details by the file) - you see a Physical File field provided for specifying a physical filename to override the default location. Include the name of the Fileshare server in the path/filename you specify here.

    (Because JCL does not need transactional VSAM access, the catalog page does not have an explicit Fileshare Server field as the FCT entry does. However, simply including the Fileshare server name in the path in the Physical File field does as well.)

Note that the FCT page has check boxes called Backward Recovery and Forward Recovery. These are for use with integrated Fileshare, and are not relevant to stand-alone Fileshare.

In a similar way, you can specify that an extrapartition transient data file is to be accessed via Fileshare, by naming a Fileshare server on the file's DCT page in ESMAC. Also, the SIT page in ESMAC has four fields where you can specify that temporary storage queues (recoverable and non-recoverable) and intrapartition transient data files (recoverable and non-recoverable) are to be accessed via Fileshare.

Parent topic: Configure Which Files to Access via Fileshare


Dataset Created by a Batch Job

You can specify that an individual file created by JCL or IDCAMS is to be accessed via Fileshare, or by a specific Fileshare server overriding the one specified in the Default Allocated Dataset Location.

In the DD or DEFINE command that creates it, use the extension %PCDSN (see the chapter Extensions to JCL and IDCAMS ) to specify a physical filename to override the default location - include the name of the Fileshare server in the path/filename you specify here.

Parent topic: Configure Which Files to Access via Fileshare


Accessing the Catalog via Fileshare

You can configure an enterprise server so that the catalog itself is accessed via Fileshare.

In ES Admin, on the Edit page for the server, on the JES tab, include the name of the Fileshare server in the path for the System Catalog.

This also causes the spool files to be accessed via Fileshare.

Changes made on this page are picked up when you next start the enterprise server.

In the real world you would probably not put system files such as the catalog under the control of Fileshare, since accesses to these are managed by enterprise server and it would not bring any advantage, just the additional overhead of Fileshare communications.

Parent topic: Configure Which Files to Access via Fileshare


Walkthrough

The configuration you create in this walkthrough makes all I/O for applications running in your enterprise server go via a Fileshare server.

  • Configure the Fileshare Server
  • Add an Enterprise Server
  • Configure All Datasets to go via Fileshare
  • Run a JCL Job
Parent topic: Using Enterprise Server with Fileshare


Configure the Fileshare Server

In this walkthrough, we'll assume your Fileshare server runs on the same machine as your enterprise server. We'll create a directory to use as the Fileshare directory. Within this, we'll create a subdirectory to contain the the user files created and accessed by applications.

  1. Start an application command prompt.
  2. Create directory c:\fsdir and then within it create subdirectory datasets.
  3. Change into the directory c:\fsdir, and enter:
    start fs /s server1

    This starts a Fileshare server named server1.

    The Fileshare console window appears, as shown below.

    Fileshare console window

    If you have the ES Admin home page visible at this point, you may notice that an entry appears for SERVER1. This is because Fileshare is implemented using Micro Focus's Common Communications Interface (CCI), and a Fileshare server is an example of a CCI server. ES Admin shows CCI servers as well as enterprise servers. The current status is shown as Registered.

Parent topic: Walkthrough


Add an Enterprise Server

We will create a new enterprise server to use for this walkthrough. You could alternatively apply your changes to an existing enterprise server.

  1. On the ES Admin home page, click Add.
  2. Enter FSDEMO as the name for the new server, and click Next..
  3. Select Micro Focus Enterprise Server with Mainframe Subsystem Support to make it MSS-enabled. Click Next.
  4. Click Add.
Parent topic: Walkthrough


Configure All Datasets to go via Fileshare

We next configure this enterprise server to send all I/O requests for all datasets accessed by applications running in it to the Fileshare server.

  1. On the ES Admin home page, click Edit next to FSDEMO.
  2. Click the MSS tab and make sure the check box "Mainframe Subsystem Support enabled is checked. Click OK.
  3. Click the JES tab.

    Select the checkbox Job Entry Subsystem enabled.

  4. In the four fields on this page, you enter filenames and paths as described in the chapter JCL Walkthrough:
    1. In the JES Program Path, System Catalog and System Procedure Library fields, enter the usual values for your installation. (If you want to use the values used in the chapter JCL Walkthrough, they are in the section Configuring Program Paths in that chapter.)
    2. In the Default Allocated Dataset Location field, you use the $$ format to specify the name of the Fileshare server to use, followed by the name of the subdirectory you created above. Type:
      $$server1\datasets
  5. Click OK.
  6. Click OK.
  7. You now need to start FSDEMO. You will find steps in the next section more convenient if you start it from the command line rather than from ES Admin. So, in your application command prompt, enter:
    casstart /rFSDEMO
Parent topic: Walkthrough


Run a JCL Job

Important: If you are using Microsoft Internet Explorer's Enhanced Security Configuration feature you must disable it before following this procedure. For example:
  1. Close all instances of Internet Explorer.
  2. Select Start > Administrative Tools > Server Manager. If a User Account Control dialog box appears, click Continue..
  3. Under Security Summary, choose Configure IE ESC.
  4. Make sure both Administrators and Users are not selected.
  5. Click OK.

Now that your Fileshare server server1 and your enterprise server FSDEMO are both running, we will run a simple JCL jobstream to verify that new datasets are created correctly and that everything is working.

  1. We will run iefbr14.jcl, supplied in the directory Examples\Studio Enterprise Edition IDE\ESFS\ESFS. For convenience, copy it to c:\fsdir.

  2. Because you used the casstart command to start FSDEMO, you can submit the JCL from the Studio Enterprise Edition command line. In your c:\fsdir directory, enter:

    cassub -rFSDEMO -jc:\fsdir\iefbr14.jcl

    If you had started FSDEMO via ES Admin, you would have had to submit the JCL using the JES Control page in ESMAC.

    The job is parsed and then waits for a batch initiator to run it.

  3. In ES Admin, click Details in the Current Status column of FSDEMO, and then click ES Monitor and Control.
  4. With JES selected in the Resources dropdown list, click Control to display the JES Control page.
  5. Type A in the Classes field and click Start to start a class A initiator.

    The JCL job runs.

  6. Click Spool to display the JES Spool page and click the Output radio button. You should see something similar to the following:

  7. Put a check mark by the "DMFBR14" line and click Display to display the details for the DMFBR14 jobstream, as follows:

  8. Click Details next to the SYSLOG.

    You should see something similiar to the following. Note how the Physical File field is qualified using the Fileshare server name.

  9. Click Display.

    You should see the joblog displayed below. The PC filenames have now been resolved to be qualified by the Fileshare server name. ($$SERVER1).

  10. Now click Back and then click Catalog to display the JES Catalog page. The click Details by the entry for the newly created dataset DMF.TEST.DSN.

    Catalog Entry for Created Dataset

You have now verified that everything is configured and working.

Parent topic: Walkthrough


Using Fileshare - More Features

This chapter describes various features and aspects of behavior that will often be useful when configuring an enterprise server to use Fileshare.

  • Files Accessed by Both CICS and JCL
  • Bulk Update of Catalog
  • FSView
  • Performance
  • Configuration File
  • Installing Fileshare as a Service
  • Walkthrough
Parent topic: Using Fileshare


Files Accessed by Both CICS and JCL

If a batch job needs exclusive access to a dataset that is also accessed by CICS, then the dataset must be closed and disabled before the batch job can run. The batch job waits until this has been done before executing.

If the batch job does not require exclusive access, there is no problem - it can access the dataset at the same time as CICS.

You can use the casfile command to close and disable a dataset, and to open and enable it again after the batch job has finished with it. You call casfile from the application command prompt. You could call it indirectly from within a JCL jobstream, by writing a simple COBOL program to call it and then calling the COBOL program from the jobstream.

Here are some examples of casfile, showing its most important parameters. See casfile for full details.

To close and disable a file called payroll in an enterprise server called FSDEMO, enter:

casfile -rFSDEMO -oc -ed –dPAYROLL

Where:

  • -oc means set the Open status to "closed"
  • -ed means set the Enable status to "disabled"
  • the -d parameter gives the dataset name as shown in the FCT.

To open and enable the same file, enter:

casfile -rFSDEMO -oo -ee –dPAYROLL

Where:

  • -oo means set the Open status to "open"
    Note: Note:

    This sets the status to open, but the file is not physically opened until it is first accessed.

  • -ee means set the Enable status to "enabled"

You can call casfile from a COBOL program via x"91" function 35 (not on UNIX), CBL_EXEC_RUN_UNIT or simply by CALL "CASFILE" using ..., where the input consists of a string containing the options that you use on the command line prefixed with its length, as indicated below.

01  lk-cmd-line.
        05  lk-cmd-len                pic x(02) comp-x.
        05  lk-cmd-data               pic x(1024).

A return code of 0 indicates success. Any other value indicates an error.

Parent topic: Using Fileshare - More Features


Bulk Update of Catalog

If you move a number of datasets from one place on your PC or PC network to another - from one directory to another, from one network server to another, or from the control of one Fileshare server to another - you need to make sure each one's catalog entry shows the new path in the physical filename.

If the catalog and the datasets reside together on the same path, there is no problem. By default, paths in the catalog are stored as relative paths (although they are expanded before being displayed), so the relocation of the files is reflected automatically.

However, if the catalog resides in a different location to the data files, you must update the catalog entries. You can update them all in one command, using the utility mvspcrn.exe in a COBOL command environment.

Before running the utility, you must set the environment variables:

  • MFSYSCAT - full path and filename of the catalog to be updated.

  • MFALLOC_LOC - full path of the Default Allocated Dataset Location.

In fact the value in MFALLOC_LOC is ignored, but it must be set. It's good practice to set it to the Default Allocated Dataset Location.

The format of the command line is:

mvspcrn old-string new-string [options]

The options are:

-y Specifies quiet mode - no prompts are given

In each catalog entry where the physical filename (including path) starts with old-string, old-string is replaced by new-string.

If the quiet mode option is not set the utility displays two prompts, asking you to confirm the setting of MFSYSCAT and the parameters, and then updates the catalog.

The parameters are not case sensitive.

The utility does not actually move or rename any files. It only updates their catalog entries.

The utility affects entries for spool files as well as entries for cataloged datasets.

We strongly recommend that you back up your catalog before running this utility. Check that your MFSYSCAT points to the correct catalog.

old-string is compared to the string actually stored in the catalog, so, in the case of a file accessed via a Fileshare server, old-string should start with the Fileshare server name preceded by $$.

  • Examples
Parent topic: Using Fileshare - More Features


Examples

In all these examples, we'll assume your catalog is c:\catalog\catalog.dat.

  • Example 1
  • Example 2
  • Example 3
  • Example 4
  • Example 5
  • Example 5
Parent topic: Bulk Update of Catalog


Example 1

You have a set of datasets in directory c:\datasets and you move them all to e:\datasets. To update the catalog:

set mfsyscat=c:\catalog\catalog.dat
set mfalloc_loc=e:\datasets
mvspcrn c e
Parent topic: Examples


Example 2

You have a set of datasets in directory c:\datasets and you move them all to e:\data. To update the catalog:

set mfsyscat=c:\catalog\catalog.dat
set mfalloc_loc=e:\datasets
mvspcrn c:\datasets e:\data
Parent topic: Examples


Example 3

You have a set of datasets accessed via Fileshare server server1. They are in c:\fsdir\datasets, where c:\fsdir is the Fileshare directory for server1. You do not move the datasets, but you stop the server and restart it with a different name, server2. To update the catalog:

set mfsyscat=c:\catalog\catalog.dat
set mfalloc_loc=$$server1\datasets
mvspcrn $$server1 $$server2
Parent topic: Examples


Example 4

You have a set of datasets accessed via Fileshare server server1. They are in c:\fsdir\datasets, where c:\fsdir is the Fileshare directory for server1. You move the datasets to c:\fs2dir\data, where c:\fs2dir is the Fileshare directory for server2. In future you want to access them via server2. To update the catalog:

set mfsyscat=c:\catalog\catalog.dat
set mfalloc_loc=$$server1\datasets
mvspcrn $$server1\datasets $$server2\data
Parent topic: Examples


Example 5

You have a set of datasets accessed via Fileshare server server1. They are in c:\fsdir\datasets, where c:\fsdir is the Fileshare directory for server1. Those associated with your payroll application all have names beginning payroll, and you move these to c:\fs2dir\data, where c:\fs2dir is the Fileshare directory for server2. In future you want to access these files via server2. To update the catalog:

set mfsyscat=c:\catalog\catalog.dat
set mfalloc_loc=$$server1\datasets
mvspcrn $$server1\datasets\payroll $$server2\data\payroll
Parent topic: Examples


FSView

FSView is a command-line utility for administering Fileshare servers. Entering the command fsview puts you into FSView mode, where you can enter a range of commands..

When you use some of the features described later in this chapter, you cannot control Fileshare interactively from the Fileshare console window. So you need to use FSView instead, most importantly for closing a Fileshare server. This section gives brief instructions on FSView, to enable you to do this.

Fileshare security is off by default. However, to use FSView you must create a password for the special user ID FSVIEW and enter this user ID and password when you connect to your Fileshare server from the FSView utility.

You specify passwords in a password file, containing a password for each user who will be connecting to the Fileshare server. You do this by running a command for each user. The first such command creates the file.

If this file contains more than one entry, specifying this file when starting a Fileshare server turns on security for that server. All clients then have to specify their user IDs and passwords when they connect. However, since for our present purpose we need only create one entry, this does not happen.

  • Walkthrough
Parent topic: Using Fileshare - More Features
Related information
Fileshare Guide


Walkthrough

Here is a brief walkthrough to demonstrate FSView. In the following, you create the password file, start a Fileshare server, and then use the FSView utility to close it.

  1. At an application command prompt, in your Fileshare directory c:\fsdir, enter:
    fs /pf pass.dat /u FSVIEW /pw Meryton

    This creates a password file called pass.dat, containing an entry for the user ID FSVIEW with password Meryton. The contents of this file are encrypted for secrecy.

    User IDs and passwords are case-sensitive.

    Note this call of fs.exe does not start a server, as you have not specified the /s parameter.

  2. Start a Fileshare server, by entering:
    start fs /s server1 /pf pass.dat /sc
  3. At an application command prompt, still in c:\fsdir, enter:
    fsview

    You now see the FSView command prompt.

  4. Give your logon credentials by entering the FSView command:
    admin logon FSVIEW Meryton
  5. To connect FSView to your Fileshare server and send the server your logon credentials, enter:
    server set server1
  6. To close the server, enter the command:
    server shutdown

    The server does not close yet. This command does not take effect until you exit from FSView.

  7. To close FSView, enter:
    exit

    FSView and the Fileshare server both close.

Parent topic: FSView


Performance

There are a number of changes you can make to your Fileshare server to make it run faster.

  • Synchronous Communications
  • Processor Affinity
Parent topic: Using Fileshare - More Features


Synchronous Communications

The Synchronous Communications option can improve performance up to the order of 10 times. You enable this simply by specifying the /sc parameter on the fs.exe command line.

This improves performance greatly but has no impact on the ability of the client (in this case an enterprise server) to interact with the Fileshare server.

However, it means Fileshare polls the keyboard very seldom, so it is impractical to administer Fileshare from the keyboard - for example, you cannot close a Fileshare server by entering Esc. Instead you must use the FSView utility, which is briefly described in the section FSView.

Parent topic: Performance
Related information
FSView


Processor Affinity

If your server machine is a multi-processor machine, you can use a mechanism called processor affinity for fs.exe. You can experiment with this setting via a popup menu accessible from the Process List on the Task Manager. Right-click fs.exe in the process list, and you can then select a context for the process. If you have the Windows Server resource kit installed, it includes a utility called imagecfg which you can use to permanently set processor affinity for a given .exe file.

Parent topic: Performance


Configuration File

You can specify your parameters to fs.exe in a configuration file, as an alternative to the command line.

If you give no parameters on the command line, then fs.exe looks for a configuration file. By default it looks for a file called fs.cfg in the Fileshare directory, that is, the directory where you started fs.exe. You can use the /cf parameter to specify a different path and/or filename.

For example, you could have a configuration file c:\fsdir\fsconf.cfg containing:

/s server1
/tr f

and start your server server1, from your application command prompt, by entering the command:

fs /cf fsconf.cfg

Another example: you could have a configuraiton file c:\fsdir\fs.cfg containing:

/s server1

and start your server by entering:

fs
Parent topic: Using Fileshare - More Features


Installing Fileshare as a Service

You can install Fileshare as a Windows service. You install it by entering:

fsservice -i FS32SEV1 /wd C:\support\FS32\DATA /cf C:\support\FS32\FSAD32.CFG
at an application command prompt, where
FS32SEV1
A unique file name.
wd
The fileshare working directory.
cf
The fully-qualified fileshare server configuration file.
You can then start and stop it from the Windows Control Panel.

You uninstall Fileshare by entering:

fsservice -u

When you run Fileshare as a service, you must use a configuration file to pass your settings, and this file must be called fs.cfg. It must be in your c:\windows\system32 directory if the cf setting is not used.

In your configuration file, you can use the wd setting to specify your Fileshare directory. The wd setting can also be used when installing the service

When Fileshare is running as a service, you do not get a Fileshare console window, so cannot control it interactively via this window. Consequently:

  • You have to use FSView to control Fileshare and therefore must create a password file
  • We strongly recommend that you use sc, since it gives great performance gains, and the only reason for not using it was loss of interactive control.
  • You should specify /tr f in the configuration file if you want tracing, as you cannot use F2.
Parent topic: Using Fileshare - More Features
Related information
FSView


Walkthrough

This example demonstrates several of the features described in this chapter. We'll start a Fileshare server, just as we did in the chapter Using Enterprise Server with Fileshare, but this time we'll use a configuration file, install Fileshare as a Windows service, and enable synchronous communications and tracing.

First make sure you do not have a Fileshare server currently running.

  1. In your c:\windows\system32 directory, create file fs.cfg, containing:
    /s server1
/wd c:\fsdir
/pf pass.dat
/sc
/tr f
  2. If you have not already done so (you may have already done this in the Walkthrough in the section FSView), create file pass.dat in your c:\fsdir directory by entering:
    fs /pf pass.dat /u FSVIEW /pw Meryton

    The existence of this password file enables you to use FSView.

  3. At a command prompt, enter:
    fsservice -i

    to install the Fileshare service.

  4. Click Start > Control Panel > Administrative Tools > Services
  5. Select Micro Focus Fileshare Service and click Start.

    You can also if you wish double-click Micro Focus Fileshare Service and change its Startup Type to Automatic, so that it will start whenever you start Windows.

Parent topic: Using Fileshare - More Features


Fileshare - Further Details

This chapter explains how to set up Fileshare. It covers the following topics:

  • Running a Fileshare Server

  • Setting up an enterprise server as a Fileshare client

You should read the first two chapters in this Using with Fileshare Part before reading this chapter.

For more information about Fileshare and its more advanced features see the Fileshare Guide.

  • Overview
  • Running a Fileshare Server
  • Setting Up an MSS-enabled Enterprise Server as a Fileshare Client
  • Specifying Fileshare Servers in the RDF
Parent topic: Using Fileshare


Overview

Fileshare provides MSS with VSAM data integrity, enabling you to use SYNCPOINT and SYNCPOINT ROLLBACK commands. Fileshare also enables you to access data files on other systems running on the same network as the machine running MSS.

MSS can connect to up to sixteen Fileshare Servers, giving you the option of splitting your data across several machines. You can also run a Fileshare Server as a separate process on the same machine running MSS. This means you can effectively test a network application without a network.

Fileshare Servers can be used for the following MSS resources:

  • Application data files
  • Extrapartition transient data files
  • Intrapartition transient data and temporary storage queues

Fileshare works in a client/server setup, with the Fileshare Server being the server and an MSS-enabled enterprise server being the Fileshare client. The two can communicate with each other over a variety of protocols. The support for these protocols is provided by Micro Focus Common Communications Interface (CCI) modules. You establish the protocols to be used by each server by specifying the appropriate CCI modules when you start the Fileshare Server. Fileshare files can still be accessed by non-MSS applications at the same time.

The remainder of this chapter explains how to set up both the Fileshare Server and the client region to communicate over these protocols.

Parent topic: Fileshare - Further Details


Running a Fileshare Server

Before you try to run a Fileshare Server, you must ensure that Fileshare is available on the server machine.

You must run Fileshare commands from the command prompt.

To start a Fileshare Server, enter the following:

fs /s server-name

where server-name names the server, and corresponds to the ID by which the client region knows the server. The /s parameter is mandatory on each Fileshare command. For a list of valid parameters, see the section Using a Fileshare Server Configuration File.

This command starts a server with the default protocol enabled, and with no password-checking performed when a client tries to access the server. The default protocol is TCP/IP. You can use the /cm switch to explicitly name the protocols to be used. For example:

fs /s fstest /cm ccitc32 /cm ccinb32

In this example, ccitc32 and ccinb32 are the CCI modules required for TCP/IP and NetBIOS, respectively.

The following example starts a server with password-checking applied through the file fs.pwd:

fs /s fstest /cm ccitc32 /pf fs.pwd

The section Using a Fileshare Password File explains how password-checking works.

You can avoid specifying a list of parameters whenever you start the server by creating a Fileshare Server configuration file, as the next section explains.

  • Using a Fileshare Server Configuration File
  • Fileshare Options
  • Using a Fileshare Password File
  • Monitoring Fileshare
  • Stopping a Fileshare Server
Parent topic: Fileshare - Further Details
Related information
Using a Fileshare Server Configuration File
Using a Fileshare Password File


Using a Fileshare Server Configuration File

If you enter the fs command with no parameters, Fileshare looks for a server configuration file named fs.cfg in your current directory.

You can also specify a configuration file of a different name with the /cf option, for example:

fs /cf c:\filesh.cfg

A Fileshare Server configuration file is an ASCII text file that contains one option per line.

Parent topic: Running a Fileshare Server


Fileshare Options

The Fileshare Server configuration file, fs.cfg, contains the Fileshare configuration options described below. Only the /s option is required. The /pf option is strongly recommended, however, as without it you cannot enforce any Fileshare security, although MSS does provide Resource Security Level (RSL) checking.

/s server-name

Specifies that server-name is the name that the Fileshare Server registers on the network. The name specified has to be unique to that Fileshare Server and must correspond to the Fileshare Server ID specified in the enterprise server's Resource Definition Tables. If a Fileshare Server with that name is already registered on the network, an error is returned.

[/d database-reference-file]

Specifies database-reference-file as the name of the database reference file that the Fileshare Server is to use.

/t nnnnnnnn

Sets the transaction processing timeout, in seconds. If the server does not hear from its client in this period, and another client has requested access to records locked as part of the transaction, all files involved in the transaction are rolled back to their original state and all locks are removed.

The default timeout is 60 seconds. You can disable timeout by setting this to 0. The valid values are 0 through 99999999.

[/m record-size]

Specifies the maximum record size that the Fileshare Server processes in kilobytes. The valid values for record-size are 16 through 64. If you specify a value less than 16, the Fileshare Server uses a maximum record size of 16K. If you specify a value greater than 64, the Fileshare Server uses a maximum record size of 64K. if you do not include this option, the Fileshare Server uses a maximum record size of 64K. Setting a lower value than the default value reduces the amount of memory that the Fileshare Server needs to run.

/cm cci-protocol

Specifies cci-protocol as one of the CCI communications protocols that the Fileshare Server can use to receive communications from a Fileshare Client. Repeat this option for every communications protocol that you want to use to contact this Fileshare Server. Valid values for cci-protocol are:

  • CCITC32 for TCP/IP
  • CCINB32 for NetBIOS
  • CCIIX32 for IPX

If you do not specify any entries, the default is CCITC32.

[/cf configuration-file]

Specifies the name of the Fileshare Server configuration file. Use this option only on the command line. When using this option, you must specify the required Fileshare Server options in the configuration file. If you do not specify a name for the configuration file, it defaults to fs.cfg in the Fileshare Server's current directory.

/pf password-file

Names the password file used by this server. This option activates the Fileshare Password system. If you do not use this option, the Fileshare Server runs without security enabled.

[/tr f]

Specifies that the Fileshare Server trace option is activated as soon as the Fileshare Server starts. The trace echoes to the screen and a file called fsscreen.lst in the Fileshare Server's current directory. This option seriously impacts the Fileshare Server's performance. Use it only for problem investigation.

Examples

Assume the file fs.cfg contains the following lines:

/s fsserv1
/cm ccitc32
/cm ccinb32
/pf serv1.pwd

If you enter the command:

fs

Fileshare reads fs.cfg and starts a server named FSSERV1, with the TCP/IP and NetBIOS protocols enabled. It uses the file serv1.pwd for password security.

Parent topic: Running a Fileshare Server


Using a Fileshare Password File

A Fileshare Server uses its password file to verify that a client enterprise server is entitled to access its files. Although Fileshare can run without a password file, you must use one if you want to apply any security through the Fileshare Server itself. This is strongly recommended, since Fileshare has access to all the files on your system.

The Fileshare Server uses its password file only when the enterprise server makes its first attempt at access (that is, when it starts up). File-level security is controlled by MSS itself, through the resource definitions you make.

The only way to maintain a password file is through this command line:

fs /pf pwd-filename options

Depending on the options you specify, Fileshare creates, modifies, or deletes pwd-filename. You can name the password file whatever you want, but it must correspond to the name you specify with the /pf option when configuring the Fileshare Server.

The options are as follows:

/u username | The user name used by the enterprise server to log onto the server. (This must correspond to the value specified in the FS user name field in the enterprise server's SIT.) Can be up to 20 characters.
/pw password | The enterprise server's password. (This must correspond to what is specified in the FS password field in the enterprise server's SIT.) Can be up to 20 characters.
/e | Erases the specified user from the password file. You must specify both the /u and /pw options on the same command line when you are using /e. If you delete all the entries in the password file, the Fileshare server deletes it.
Note: Note:

Both passwords and user names are case-sensitive.

Examples

Assume no password file exists, and you want to create one with two entries. The following commands:

fs /pf fssecu.pwd /u mtoServ1 /pw fspass1
fs /pf fssecu.pwd /u mtoserv2 /pw fspass2

result in the password file fssecu.pwd being created, with entries for both mtoserv1 and mtoserv2. The mtoserv1/fspass1 and mtoserv2/fspass2 combinations must correspond to FS username and FS password fields in the enterprise servers' SIT.

To put password checking into effect on a Fileshare Server called FSSERV (for example), you must use the /pf option when starting it:

fs /s fsserv /cm ccitcp /pf fssecu.pwd

To disable mtoserv2's access to this Fileshare Server, use the following command:

fs /pf fssecu.pwd /e /u mtoserv2 /pw fspass2

If you now enter this command:

fs /pf fssecu.pwd /e /u mtoserv1 /pw fspass1

Fileshare removes the entry for mtoserv1, and deletes the file fssecu.pwd.

Parent topic: Running a Fileshare Server


Monitoring Fileshare

You can monitor the activity on a Fileshare Server by pressing F2 from the same session in which you started the server. This turns on Fileshare's trace facility, which displays file requests as they occur. For each request, you see the user identifier, opcode, requested filename, and file status bytes of the reply to the user.

You should use this facility only as a diagnostic aid, since it can degrade performance. Press F2 again to turn it off.

Parent topic: Running a Fileshare Server


Stopping a Fileshare Server

Before stopping a Fileshare Server, you must either stop all enterprise servers connected to it or make sure that all the files held on Fileshare servers are closed..

To stop a Fileshare Server locally, go to the session from which you started it, and press the Esc key. You see the prompt:

FS097-I Are you sure you wish to close the Fileshare Server? (Y/N)

Enter Y to continue the shutdown; enter any other key to let the server continue running.

If any database files are open when you reply Y, a second prompt appears:

FS111-I Warning - database files are still open
    Continue with the close (Y/N)?

If you enter Y, Fileshare closes all open files and shuts down. Enter any other key to cancel the shutdown.

Parent topic: Running a Fileshare Server


Setting Up an MSS-enabled Enterprise Server as a Fileshare Client

If you have enabled Fileshare security, you must first give the enterprise server a Fileshare user name and password. These must be specified in the FS user name and FS password fields of the enterprise server's SIT. The enterprise server uses this user name and password combination to log on to all its Fileshare Servers. The combination must appear in the password file for each Fileshare server the enterprise server wants to access.

Next you should name the servers the enterprise server is to connect to. For data files you can have a choice of mechanisms for doing this:

  • Entries in the File Control Table (FCT) of the Resource Definition File (RDF)
  • Entries in the Fileshare client configuration file, fhredir.cfg

For extrapartition transient data queues and intrapartition transient data and temporary storage queues you must name the servers in the RDF. If you do not explicitly name the servers in the RDF, and you have an entry in the fhredir.cfg file that simply names a server (/s servername), then all file requests that do not have an explicit Fileshare server defined will be redirected to the named Fileshare server. If you are running multiple enterprise servers this will cause file contention problems.

Finally, you must specify the protocols over which the region communicates with its servers. You do this in the client configuration file fhredir.cfg.

MSS consults the fhredir.cfg file whenever a region requires a resource from a server. You should not, therefore, change this file while any regions using servers defined by it are running.

For full details of fhredir.cfg entries and examples see the chapters Standard Operation and Configuration in your Fileshare Guide

The next section explains how to specify Fileshare servers in the RDF to enable Fileshare access.

Parent topic: Fileshare - Further Details


Specifying Fileshare Servers in the RDF

Through the Resource Definition File, you can specify that any of the following resources reside on a Fileshare Server:

  • Application data files (through the FCT)
  • Extrapartition transient data queues (through the DCT)
  • Intrapartition transient data and temporary storage queues (through the SIT)

The FCT, DCT, and SIT contain fields for specifying the name of a Fileshare Server. If you fill one of these fields in, MSS looks for the resource on a Fileshare Server.

The FCT fields are on the FCT Details page of ESMAC.

The fields are:

Field | Description
Fileshare Server | The Fileshare Server through which MSS accesses the file. This name must correspond to the name you give the server when you start it. This field is mandatory.
Override Filename | The filename Fileshare uses to find the file. This field is optional. it defaults to the name of the FCT entry.
File Path | The path Fileshare uses to find the file. This field is optional. It must be specified if the path defined by the Mainframe Express project does not exist on the Fileshare server machine.
File Extension

Specifies the file extension Fileshare uses to find the file. This field is optional. For indexed files, this results in a filename and its index component as follows:

  • filename.dat

  • filename.idx

The DCT fields are on the DCT Details page of ESMAC.

The fields are:

Field | Description
Fileshare | The Fileshare Server through which MSS accesses the file. This name must correspond to the name you give the server when you start it. This field is mandatory.
File Name

The filename Fileshare uses to find the file. This field is optional. The name defaults to the name of the DCT entry

The path Fileshare uses to find the file. This field is optional. It must be specified if the path defined by the Mainframe Express project does not exist on the Fileshare server machine.

Extension

The file extension Fileshare uses to find the file. This field is optional. For indexed files, this results in a filename and its index component as follows:

  • filename.dat

  • filename.idx

In the SIT, there are two sets of fields through which you specify Fileshare Servers for temporary storage and intrapartition transient data queues. You do not have to specify the Fileshare Server and path for each individual queue.

The SIT fields are on the SIT Details page of ESMAC.

There are four sets of the following fields, one each for:

  • Recoverable temporary storage queues
  • Unrecoverable temporary storage queues
  • Recoverable transient data queues
  • Unrecoverable transient data queues

The fields are:

Field | Description
Fileshare Srvr | The Fileshare Server through which MSS accesses the file. This name must correspond to the name you give the server when you start it. This field is mandatory.
Path | The path Fileshare uses to find the file. This field is optional. It must be specified if the path defined by the Mainframe Express project does not exist on the Fileshare server machine

Parent topic: Fileshare - Further Details


Running EZASOKET Applications on Enterprise Server

Enterprise Server with Mainframe Subsystem Support can run CICS and JCL applications that use the EZASOKET APIs. Applications use the features provided by these APIs to establish and manage connections, and to exchange data, over TCP/IP networks.

This section describes the support of EZASOKET in Enterprise Server. It does not provide a guide to EZASOKET programming.

For instructions on developing CICS and JCL applications to run on Enterprise Server, please see your Mainframe Subsystem Support Developer's Guide.

  • Introduction
  • Prerequisites
  • Supplied Transactions and Programs
  • Items Omitted from this Release
  • Notes on Individual Functions
  • Configuring and Managing EZASOKET Support for CICS Applications
Parent topic: MSS Configuration and Administration


Introduction

Micro Focus EZASOKET is designed to emulate, as closely as possible, the IBM implementation documented in SC31-8518-01, "OS/390 SecureWay Communications Server: IP CICS Sockets Guide Version 2 Release 8" (1999). It also supports some, though not all, of the features introduced in the z/OS implementation documented in SC31-8807-02, "z/OS Communications Server: IP CICS Sockets Guide Version 1 Release 5" (2004).

However, there are some differences. Micro Focus EZASOKET makes use of the local platform's native TCP/IP support. Due to differences between TCP/IP implementations, there are some circumstances in which Micro Focus EZASOKET does not behave identically to the IBM implementation. These differences are documented in the section Notes on individual functions.

Parent topic: Running EZASOKET Applications on Enterprise Server
Related information
Notes on individual functions


Prerequisites

You must have reUZE Developer with Mainframe Subsystem Support.

You must ensure that your enterprise server has Mainframe Subsystem Support enabled.

You must specify a suitable SIT for your enterprise server.

To run CICS applications on your enterprise server:

  • You must ensure that you have a TN3270 listener defined
  • You may also need to define the CICS search paths

To use JCL with an enterprise server, you must:

  • Enable JES for the server
  • Define batch initiators and printers for the server

You may also need to define the JES program paths in Server Enterprise Edition Administration.

To ensure 64-bit applications that use EZASOKET work correctly, you must compile these applications with the compiler directive AMODE set.

Note: Beyond the requirements stated above, the support of EZASOKET for JCL does not need any special configuration. EZASOKET CICS support needs additional configuration as described in the section Configuring and managing EZASOKET support for CICS applications.
Parent topic: Running EZASOKET Applications on Enterprise Server
Related information
To enable MTO for an enterprise server
To change the SIT associated with a server
To specify a listener for TN3270 terminals
To configure CICS search paths
To enable JCL support
To define a batch initiator or printer SEP
Configuring and managing EZASOKET support for CICS applications


Supplied Transactions and Programs

This section lists the programs and transactions supplied with Server Enterprise Edition.

  • Standard Transactions and Programs
  • Test Transactions
  • Demonstration Programs
Parent topic: Running EZASOKET Applications on Enterprise Server


Standard Transactions and Programs

For more information on these items, please refer to the IBM document SC31-8807-02, "z/OS Communications Server: IP CICS Sockets Guide Version 1 Release 5".

  • DFHEZA: group containing the EZASOKET definitions for CICS
  • EZAC: transaction to define/alter/display/delete the CICS/Sockets listeners
  • EZAO: transaction to start/stop CICS/Sockets listeners
  • EZACIC20: program used in PLTPI/PLTSD or as a linked program to start/stop CICS/Sockets listeners
  • EZACICSE: (default security exit, ASCII) can be replaced with your own exit
  • EZACIC02: (default listener IPv4) can be replaced by your own listener
  • EZACIC04: EBCDIC to ASCII translation program
  • EZACIC05: ASCII to EBCDIC translation program
  • EZACIC14: EBCDIC to ASCII translation program using a fixed table
  • EZACIC15: ASCII to EBCDIC translation program using a fixed table
  • EZACIC06: Translates bit-masks into character arrays and character arrays into bit-masks
  • EZACIC08: Interprets the variable length address list in the HOSTENT structure returned by GETHOSTBYNAME or GETHOSTBYADDR.
  • EZACIC25: Domain Name Server (DNS) cache module emulation
Parent topic: Supplied Transactions and Programs


Test Transactions

  • EZPI: transaction to test CICS/Sockets listener CSKL is defined properly
  • EZPO: transaction used by EZPI to test CICS/Sockets is defined properly
Parent topic: Supplied Transactions and Programs


Demonstration Programs

  • EZAPING: Client demo program
  • EZAPONG: Server demo program started by EZAPING
Parent topic: Supplied Transactions and Programs


Items Omitted from this Release

The features not available this release are:

  • IPv6 support
  • raw sockets
  • multicasting
  • full support for Out-Of-Band (OOB) data

The following APIs are not available:

  • FREEADDRINFO
  • GETADDRINFO
  • GETNAMEINFO
  • INITAPIX
  • READV
  • RECVMSG
  • SENDMSG
  • WRITEV

The EZACIC09 utility program (which is used with GETADDRINFO) is not included in this release.

The CICS Domain Name System Cache is not included in this implementation. However, the API for it (utility program EZACIC25) is included, so you do not need to change application programs that use the DNS Cache.

WLM (Work Load Manager) registration for listeners is not supported.

Parent topic: Running EZASOKET Applications on Enterprise Server


Notes on Individual Functions

The functions below are available:

  • GETHOSTBYADDR
  • GETHOSTBYNAME
  • GETSOCKNAME
  • GETSOCKOPT
  • GIVESOCKET
  • INITAPI
  • IOCTL
  • SELECT
  • SETSOCKOPT
  • SOCKET
  • TAKESOCKET
  • Security Exit
Parent topic: Running EZASOKET Applications on Enterprise Server


GETHOSTBYADDR

Where a hostname cannot be resolved, the function returns a RETCODE of -1 and null pointer for HOSTENT. This is in line with the behaviour of versions of IBM EZASOKET that were tested. However, the IBM documentation states that, if the hostname cannot be resolved, the function will return a HOSTENT structure containing the error code. The behaviour of this function may change in future releases. We recommend that application programs rely on the RETCODE value to determine whether the call succeeded, and only inspect the HOSTENT structure if RETCODE is 0.

The GETHOSTBYADDR function is not thread-safe.

Because the native name resolution functions used by Micro Focus are not thread-safe, there is a very small possibility of a race condition occurring and of the function returning incorrect data. However, this is significantly less likely than errors elsewhere in the name resolution system, such as a failing DNS server.

Parent topic: Notes on Individual Functions


GETHOSTBYNAME

See GETHOSTBYADDR above.

Parent topic: Notes on Individual Functions


GETSOCKNAME

The IBM documentation states that if GETSOCKNAME is passed a socket that does not have a local address, GETSOCKNAME will return successfully (RETCODE = 0), with the FAMILY field of the NAME parameter set to 2 and the other fields set to 0. The Micro Focus implementation may return an error in this case.

Parent topic: Notes on Individual Functions


GETSOCKOPT

Only the following operations are supported:

  • SO_ACCEPTCONN
  • SO_BROADCAST
  • SO_DEBUG
  • SO_ERROR
  • SO_KEEPALIVE
  • SO_LINGER
  • SO_RCVBUF
  • SO_REUSEADDR
  • SO_SNDBUF
  • SO_TYPE
  • TCP_NODELAY
Parent topic: Notes on Individual Functions


GIVESOCKET

The CLIENT parameter is ignored. That is, this version does not support restricting which tasks can take a socket.

Cross-region GIVESOCKET is not supported.

Parent topic: Notes on Individual Functions


INITAPI

The IDENT and SUBTASK parameters are ignored.

No task may have more than 4096 sockets.

Parent topic: Notes on Individual Functions


IOCTL

Only the FIONBIO and FIONREAD operations are supported.

Parent topic: Notes on Individual Functions


SELECT

The reporting of exception conditions, tested for by use of the ESNDMSK parameter, differs between platforms. This is due to differences between TCP/IP implementations on those platforms.

Where a socket specified with the ESNDMSK parameter has been the subject of a GIVESOCKET, but has not yet been the subject of a TAKESOCKET, SELECT will continue to poll the socket until the TAKESOCKET occurs. In addition, SELECT cannot test sockets which are in this "given" state for normal I/O events.

Parent topic: Notes on Individual Functions


SETSOCKOPT

Only the following operations are supported:

  • SO_BROADCAST
  • SO_DEBUG
  • SO_KEEPALIVE
  • SO_LINGER
  • SO_RCVBUF
  • SO_REUSEADDR
  • SO_SNDBUF
  • TCP_NODELAY
Parent topic: Notes on Individual Functions


SOCKET

The value of the PROTO parameter passed by the caller is ignored.

Only STREAM and DGRAM sockets are supported.

Parent topic: Notes on Individual Functions


TAKESOCKET

Only the TASK field of the CLIENT parameter is used. Other fields are ignored.

See GIVESOCKET above for more information on the limitations of GIVESOCKET and TAKESOCKET in this release.

Note: Note:

If you create your own EZASOKET listener, you must compile it with the directive CALL-RECOVERY.

Parent topic: Notes on Individual Functions


Security Exit

The CICS EZASOKET Security Exit should be compiled with directive charset(ASCII) as all the parameters are expected to be passed in ASCII and returned in ASCII.

Parent topic: Notes on Individual Functions


Configuring and Managing EZASOKET Support for CICS Applications

This assumes that you have already configured your Enterprise Server to run CICS applications as detailed in the chapter CICS Walkthrough in your Mainframe Subsystem Support Developer's Guide. You also need to ensure that you have updated your Resource Definition Files. See the section Updating Existing Resource Definitions in the chapter Configuring Server Enterprise Edition/MSS of your Server Enterprise Edition Extending CICS and IMS Applications Guide.

  • Enabling EZASOKET Support in Enterprise Server
  • Adding DFHEZA Group to your CICS Startup List
  • Restarting the Enterprise Server
  • Understanding EZASOKET Configuration
  • Using the Configuration Transaction (EZAC)
  • Starting and Stopping the EZASOKET Interface Automatically
  • Starting and Stopping the EZASOKET Interface with a Program Link
  • Starting/Stopping the EZASOKET Interface and Listeners Manually
  • Testing that EZASOKET Support is Correctly Installed and Configured
  • Sockets return codes (ERRNOs)
    The system-wide message numbers and codes set by the system calls.
Parent topic: Running EZASOKET Applications on Enterprise Server


Enabling EZASOKET Support in Enterprise Server

  1. Connect to Enterprise Server Administration.
  2. In the table of servers on the Home page of Enterprise Server Administration, find the row for the server that you using as your CICS region, and click Edit in the left hand column.
  3. Click Properties > MSS.
  4. Check EZASOKET support.
  5. Click OK.
  6. If the enterprise server is started, please stop it.
  7. Restart the server.

Set the environment variable ES_EZASOKET_SUPPORT=YES.

Parent topic: Configuring and Managing EZASOKET Support for CICS Applications
Related information
To access Enterprise Server Administration
To stop an enterprise server
To start an enterprise server


Adding DFHEZA Group to your CICS Startup List

  1. On the Home page of Enterprise Server Administration, click Details in the Current Status column for your enterprise server.
  2. Click ES Monitor & Control.
  3. In the Resources panel, which is about half way down on the left, expand the drop-down list and select by Group.

    The buttons in the Resources panel change to indicate the options for viewing and managing resources by group.

  4. Click StartUp in the Resources panel.
  5. Click Details for your startup list.

    This displays the contents of your startup list.

  6. Type DFHEZA in the first empty field.
  7. Click Apply.
Parent topic: Configuring and Managing EZASOKET Support for CICS Applications


Restarting the Enterprise Server

To make the enterprise server pick up the configuration changes you just made, you have to stop it and restart it.

  1. Stop the enterprise server.
  2. Restart the enterprise server.
Parent topic: Configuring and Managing EZASOKET Support for CICS Applications
Related information
To stop an enterprise server
To start an enterprise server


Understanding EZASOKET Configuration

The EZASOKET configuration file (EZACONFG) contains details of CICS regions (that is, enterprise servers capable of running CICS applications) and the CICS listeners within those regions. The file can be shared by multiple enterprise servers. The location of the file used by your enterprise server is governed by the File Path configuration setting for the server.

For each CICS region that supports EZASOKET and is controlled by the configuration file, there is an associated object (referred to as a CICS object) in the configuration file. The object is identified by the APPLID of the CICS region. There is also a listener object for each listener defined for a CICS region.

The first task you will perform is to use the EZAC transaction to define a CICS object in the configuration file for your CICS region/enterprise server. If the configuration file does not exist, EZAC will create it.

Parent topic: Configuring and Managing EZASOKET Support for CICS Applications


Using the Configuration Transaction (EZAC)

The EZAC transaction enables you to add, delete, or modify items in the configuration file while your CICS region is running. The following table lists and describes the functions supported by the EZAC transaction.

Command | Object | Function
ALTER | CICS/Listener | Modifies the attributes of an existing resource definition
DEFINE | CICS/Listener | Creates a new resource definition
DISPLAY | CICS/Listener | Shows the parameters specified for the CICS/Listener object
DELETE CICS/Listener
  • CICS - Deletes the CICS object and all of its associated listeners
  • Listener - Deletes the listener object

Start a TN3270 session, connect to the port for the TN3270 listener on your enterprise server and start the EZAC transaction. When you enter EZAC, the following screen is displayed:

Figure 1. Initial EZAC screen
Initial EZAC screen

Enter the command you want to execute followed by the type of object. For creating a CICS object for your CICS region, you type:

EZAC DEF CICS or EZAC,DEF,CICS or EZAC,DEFINE,CICS or EZAC DEF and then select CICS on the screen. You are now presented with a screen in which you specify the CICS region for which you are configuring EZASOKET.

Figure 2. EZAC, Define, CICS screen
EZAC, Define, CICS screen

Enter the name of the CICS APPLID for which you are defining configuration information. In this case, the APPLID is the name of your enterprise server. The field defaults to this value.

When you press Enter, the following screen is displayed.

Figure 3. Application parameters screen
Application parameters screen

Specify the parameters you require for EZASOKET support in your CICS region. For more information, please refer to the IBM document SC31-8807-02, "z/OS Communications Server: IP CICS Sockets Guide Version 1 Release 5".

A CICS region will typically have one or more listeners. Each listener may be an instance of the supplied listener or a user-written listener. Define a CICS listener for your region using: EZAC DEF LIST or EZAC DEFINE LISTENER or EZAC,DEF,LIST or EZAC,DEFINE,LISTENER as shown in the following screenshots:

Figure 4. Listener screen
Listener screen

The following screen allows you to define the characteristics of your listener

Figure 5. Listener characteristics screen
Listener characteristics screen

For more information on this topic, please refer to the IBM document SC31-8807-02, "z/OS Communications Server: IP CICS Sockets Guide Version 1 Release 5".

Note:

The supplied transaction used in this example, CSKL, uses the default listener program, EZACIC02. This listener is written in ASCII. The rules described in the table below determine whether or not it converts the transaction id and the user data in the Transaction Initial Message from EBCDIC to ASCII.

TRANTRN | TRANUSR | Tranid format | Translate tranid? | Translate user data?
YES | YES | ASCII | NO | NO
YES | NO | ASCII | NO | NO
NO | YES | ASCII | NO | YES
NO | NO | ASCII | NO | NO
YES | YES | EBCDIC | YES | YES
YES | NO | EBCDIC | YES | NO
NO | YES | EBCDIC | YES | YES
NO | NO | EBCDIC | YES | NO
Parent topic: Configuring and Managing EZASOKET Support for CICS Applications


Starting and Stopping the EZASOKET Interface Automatically

You can enable automatic startup/shutdown of the EZASOKET interface by placing the EZACIC20 module in the appropriate Program List Table (PLT). Listeners that have been defined as IMMEDIATE=YES will then start automatically when the CICS region is started.

  1. On the Home page of Server Enterprise Edition Administration, click Details in the Current Status column for your enterprise server.
  2. Click ES Monitor & Control.
  3. In the Resources panel, which is about half way down on the left, expand the drop-down list and select by Group.

    The buttons in the Resources panel change to indicate the options viewing and managing resources by group.

  4. Click SIT in the Resources panel.
  5. Click Details for your SIT table.
  6. Locate the Program Lists section.
  7. Enter the names you want to use for the Post Initialization and the Shut Down lists. For example:
    Post initialization
  8. Click Apply.

    You now create the program lists as described in the steps below.

  9. In the Resources panel, expand the drop-down list and select by Type.

    The buttons in the Resources panel change to indicate the options for viewing and managing resources by type.

  10. Click PLT in the Resources panel.

    The screen shows a list of CICS defined PLTs. At the bottom of the list is a set of buttons for creating new entries.

  11. Click PLT in the New section of the list.
  12. In Name, enter the name of your Post Initialization list.
  13. Click Grp to expand the drop-down list and select the group you want to use. This group must be defined in your Startup list.
  14. Enter a description in Description.
  15. In the row labelled 01:
    • In the first field, enter EZACIC20.
    • From the drop-down list, choose Run once.

    For example:
    Select group

  16. Click Add to save the new list.
  17. Click PLT in the Resources panel.
  18. Click PLT in the New section of the list.
  19. In Name, enter the name of your Shut Down list.
  20. Click Grp to expand the drop-down list and select the group you want to use. This group must be defined in your Startup list.
  21. Enter a description in Description.
  22. In the row labelled 01:
    • In the first field, enter EZACIC20.
    • From the drop-down list, choose Run once.
  23. Click Add to save the new list.
Parent topic: Configuring and Managing EZASOKET Support for CICS Applications


Starting and Stopping the EZASOKET Interface with a Program Link

You can start or stop the EZASOKET interface by issuing an EXEC CICS LINK to program EZACIC20. Make sure you include the following steps in the LINKing program:

  • Define the COMMAREA for EZACIC20. This can be done by including the EZACICA.CPY copybook in your program.
  • Initialize the COMMAREA values as follows:
    P20TYPE

    I Initialization

    T Immediate Termination

    D Deferred Termination
    P20OBJ

    C CICS EZASOKET interface

    L Listener
    P20LIST

    Name of listener if this is listener initialization/termination.
  • Issue the EXEC CICS LINK to program EZACIC20.
    Note:

    EZACIC20 will not return until the function is complete.

  • Check the P20RET field for the response from EZACIC20.
    Note:

    Note: If the EZASOKET interface is not in startup or termination and no COMMAREA was provided, the E20L user abend code is issued by EZACIC20.

Parent topic: Configuring and Managing EZASOKET Support for CICS Applications


Starting/Stopping the EZASOKET Interface and Listeners Manually

You can start the EZASOKET interface manually by using the EZAO transaction. This transaction has four functions:

  • Interface Startup

    Starts the interface in a CICS region and starts all listeners that are identified for immediate start.

    Note: The EZAO transaction must be running on the CICS region where you want to start the EZASOKET interface. You cannot start an EZASOKET interface from a different CICS.

  • Interface Shutdown

    Stops the interface in a CICS region.

  • Listener Startup

    Starts a listener in a CICS region.

  • Listener Shutdown

    Stops a listener in a CICS region.

You can type EZAO and select the action you require as shown below:

Figure 1. EZAO screen
EZAO screen

and then select the object that you want to act upon:

Figure 2. EZAO, Start
EZAO, Start

Alternatively, you can enter EZAO START|STOP CICS|LISTENER and then respond to the screen prompts as shown in the following examples:

Figure 3. EZAO, START, LISTENER
EZAO, START, LISTENER
Figure 4. EZAO, STOP, LISTENER(CSKL)
EZAO, STOP, LISTENER(CSKL)
Figure 5. EZAO, START, CICS
EZAO, START, CICS
Figure 6. EZAO, STOP, CICS
EZAO, STOP, CICS
Parent topic: Configuring and Managing EZASOKET Support for CICS Applications


Testing that EZASOKET Support is Correctly Installed and Configured

Using the transaction EZAC, alter an existing listener or define a new listener to test the supplied transaction EZPI as show below:

Figure 1. EZAC, ALTER, LISTENER
EZAC, ALTER, LISTENER

You can use any available port, but you must ensure that the fields TRANTRN and TRANUSR are set to NO.

Note:

You cannot use the same TRANID for more than one listener within a CICS region. Therefore, if you want to create a second instance of a listener, you must define a new transaction in a group specified in your startup list. For example, to create a new instance of the default listener, you create a new transaction and associate it with the default listener program, EZACIC02. You then use EZAC to create a new listener definition with the new transaction name as the TRANID.

Start the listener using EZAO. Once the listener has been started and the message EZY1291I appears on the console.log, run the demo transaction EZPI as shown in the examples below:

Figure 2. EZPI
EZPI
Figure 3. EZPI parameters
EZPI parameters

If everything is correctly installed and configured, you will get your message in reverse order in the Received field.

Figure 4. EZPI received
EZPI received
Parent topic: Configuring and Managing EZASOKET Support for CICS Applications


Sockets return codes (ERRNOs)

These message numbers and codes are in the TCPERRNO.H include file supplied with TCP/IP Services.

Error number | Message name | Socket type | Error description | Programmer's response
1 | EAI_NONAME | GETADDRINFO GETNAMEINFO | NODE or HOST cannot be found. | Ensure the NODE or HOST name can be resolved.
1 | EDOM | All | Argument too large. | Check parameter values of the function call.
1 | EPERM | All | Permission is denied. No owner exists. | Check that TPC/IP is still active; check protocol value of socket () call.
1 | EPERM | IOCTL (SIOCTTLSCTL requesting both TTLS_INIT_ CONNECTION and TTLS_RESET_ SESSION or both TTLS_INIT_ CONNECTION and TTLS_RESET_ CIPHER) | The combination of requests specified is not permitted. | Request TTLS_RESET_SESSION and TTLS_RESET_CIPHER only when TTLS_INIT_ CONNECTION has been previously requested for the connection.
1 EPERM IOCTL (SIOCTTLSCTL) Denotes one of the following error conditions:
  • The TTLS_INIT_ CONNECTION option was requested with either TTLS_RESET_ SESSION, TTLS_RESET_ CIPHER or TTLS_STOP_ CONNECTION
  • The TTLS_STOP_ CONNECTION option was requested along with TTLS_RESET_ SESSION or TTLS_RESET_ CIPHER
  • The TTLS_ALLOW_ HSTIMEOUT option was requested without TTLS_INIT_ CONNECTION
Request TTLS_RESET_SESSION and TTLS_RESET_CIPHER only when TTLS_INIT_ CONNECTION and TTLS_STOP_ CONNECTION are not requested. Always request TTLS_INIT_ CONNECTION when TTLS_ALLOW_ HSTIMEOUT is requested. Use seperate SIOCTTLSCTL ioctls to request TTLS_INIT_ CONNECTION and TTLS_STOP_ CONNECTION.
2 | EAI_AGAIN | FREEADDRINFO GETADDRINFO GETNAMEINFO | For GETADDRINFO, NODE could not be resolved within the configured time interval. For GETNAMEINFO, HOST could not be resolved within the configured time interval. The Resolver address space has not been started. The request can be retried later. | Ensure the Resolver is active, then retry the request.
2 | ENOENT | All | The data set or directory was not found. | Check files used by the function call.
2 | ERANGE | All | The result is too large. | Check parameter values of the function call.
3 | EAI_FAIL | FREEADDRINFO GETADDRINFO GETNAMEINFO | This is an unrecoverable error. NODELEN, HOSTLEN, or SERVLEN is incorrect. For FREEADDRINFO, the resolver storage does not exist. | Correct the NODELEN, HOSTLEN, or SERVLEN. Otherwise, call your system administrator.
3 | ESRCH | All | The process was not found. A table entry was not located. | Check parameter values and structures pointed to by the function parameters.
4 | EAI_OVERFLOW | GETNAMEINFO | The output buffer for the host name or service name was too small. | Increase the size of the buffer to 255 characters, which is the maximum size permitted.
4 | EINTR | All | A system call was interrupted. | Check that the socket connection and TCP/IP are still active.
5 | EAI_FAMILY | GETADDRINFO GETNAMEINFO | The AF or the FAMILY is incorrect. | Correct the AF or the FAMILY.
5 | EIO | All | An I/O error occurred. | Check status and contents of source database if this occurred during a file access.
6 | EAI_MEMORY | GETADDRINFO GETNAMEINFO | The resolver cannot obtain storage to process the host name. | Contact your system administrator.
6 | ENXIO | All | The device or driver was not found. | Check status of the device attempting to access.
7 | E2BIG | All | The argument list is too long. | Check the number of function parameters.
7 | EAI_BADFLAGS | GETADDRINFO GETNAMEINFO | FLAGS has an incorrect value. | Correct the FLAGS.
8 | EAI_SERVICE | GETADDRINFO | The SERVICE was not recognized for the specified socket type. | Correct the SERVICE.
8 | ENOEXEC | All | An EXEC format error occurred. | Check that the target module on an exec call is a valid executable module.
9 | EAI_SOCKTYPE | GETADDRINFO | The SOCTYPE was not recognized. | Correct the SOCTYPE.
9 | EBADF | All | An incorrect socket descriptor was specified. | Check socket descriptor value. It might be currently not in use or incorrect.
9 | EBADF | Givesocket | The socket has already been given. The socket domain is not AF_INET or AF_INET6. | Check the validity of function parameters.
9 | EBADF | Select | One of the specified descriptor sets is an incorrect socket descriptor. | Check the validity of function parameters.
9 | EBADF | Takesocket | The socket has already been taken. | Check the validity of function parameters.
9 | EAI_SOCKTYPE | GETADDRINFO | The SOCTYPE was not recognized. | Correct the SOCTYPE.
10 | ECHILD | All | There are no children. | Check if created subtasks still exist.
11 | EAGAIN | All | There are no more processes. | Retry the operation. Data or condition might not be available at this time.
12 | ENOMEM | All | There is not enough storage. | Check the validity of function parameters.
13 | EACCES | All | Permission denied, caller not authorized. | Check access authority of file.
13 | EACCES | Takesocket | The other application (listener) did not give the socket to your application. Permission denied, caller not authorized. | Check access authority of file.
13 | EACCES | IOCTL (SIOCTTLSCTL) | The IOCTL is requesting a function that requires that the socket be mapped to policy that specifies ApplicationControlled On. | Check policy and add ApplicationControlled On if the application should be permitted to issue the controlled SIOCTTLSCTL functions.
14 | EFAULT | All | An incorrect storage address or length was specified. | Check the validity of function parameters.
14 | EFAULT | IOCTL (SIOCSAPPLDATA) | An abend occurred while attempting to copy the SetADcontainer structure from the address provided in the SetAD_ptr field. | Check the validity of function parameters.
15 | ENOTBLK | All | A block device is required. | Check device status and characteristics.
16 | EBUSY | All | Listen has already been called for this socket. Device or file to be accessed is busy. | Check if the device or file is in use.
17 | EEXIST | All | The data set exists. | Remove or rename existing file.
18 | EXDEV | All | This is a cross-device link. A link to a file on another file system was attempted. | Check file permissions.
19 | ENODEV | All | The specified device does not exist. | Check file name and if it exists.
20 | ENOTDIR | All | The specified directory is not a directory. | Use a valid file that is a directory.
21 | EISDIR | All | The specified directory is a directory. | Use a valid file that is not a directory.
22 | EINVAL | All types | An incorrect argument was specified. | Check the validity of function parameters.
22 | EINVAL | Multicast Source filter APIs | Mix of any-source, source-specific or full-state APIs | Specify the correct type of APIs.
22 | EINVAL | MCAST_JOIN_GROUP, MCAST_JOIN_SOURCE_ GROUP, MCAST_BLOCK_SOURCE, MCAST_LEAVE_GROUP, MCAST_LEAVE_SOURCE_ GROUP, MCAST_UNBLOCK_ SOURCE, SIOCGMSFILTER, SIOCSMSFILTER | The socket address family or the socket length of the input multicast group or the source IP address is not correct. | Specify the correct value.
22 | EINVAL | SIOCSMSFILTER, SIOCSIPMSFILTER | The specified filter mode is not correct. | Specify the correct value.
23 | ENFILE | All | Data set table overflow occurred. | Reduce the number of open files.
24 | EMFILE | All | The socket descriptor table is full. | Check the maximum sockets specified in MAXDESC().
25 | ENOTTY | All | An incorrect device call was specified. | Check specified IOCTL() values.
26 | ETXTBSY | All | A text data set is busy. | Check the current use of the file.
27 | EFBIG | All | The specified data set is too large. | Check size of accessed dataset.
28 | ENOSPC | All | There is no space left on the device. | Increase the size of accessed file.
29 | ESPIPE | All | An incorrect seek was attempted. | Check the offset parameter for seek operation.
30 | EROFS | All | The data set system is Read only. | Access data set for read only operation.
31 | EMLINK | All | There are too many links. | Reduce the number of links to the accessed file.
32 | EPIPE | All | The connection is broken. For socket write/send, peer has shut down one or both directions. | Reconnect with the peer.
32 | EPIPE | IOCTL (SIOCTTLSCTL requesting TTLS_INIT_ CONNECTION, TTLS_RESET_CIPHER, or TTLS_STOP_ CONNECTION) | The TCP connection is not in the established state. | Issue the SIOCTTLSCTL IOCTL when the socket is connected.
33 | EDOM | All | The specified argument is too large. | Check and correct function parameters.
34 | ERANGE | All | The result is too large. | Check function parameter values.
35 | EWOULDBLOCK | Accept | The socket is in nonblocking mode and connections are not queued. This is not an error condition. | Reissue Accept().
35 | EWOULDBLOCK | Read Recvfrom | The socket is in nonblocking mode and read data is not available. This is not an error condition. | Issue a select on the socket to determine when data is available to be read or reissue the Read()/Recvfrom().
35 | EWOULDBLOCK | Send Sendto Write | The socket is in nonblocking mode and buffers are not available. | Issue a select on the socket to determine when data is available to be written or reissue the Send(), Sendto(), or Write().
35 | EWOULDBLOCK | IOCTL (SIOCTTLSCTL) | The handshake is in progress and the socket is a non-blocking socket. | For a non-blocking socket, you can wait for the handshake to complete by issuing Select or Poll for Socket Writable.
36 | EINPROGRESS | Connect | The socket is marked nonblocking and the connection cannot be completed immediately. This is not an error condition. | See the Connect() description for possible responses.
36 | EINPROGRESS | IOCTL (SIOCTTLSCTL requesting TTLS_INIT_ CONNECTION or TTLS_STOP_ CONNECTION) | The handshake is already in progress and the socket is a non-blocking socket. | For a non-blocking socket, you can wait for the handshake to complete by issuing Select or Poll for Socket Writable.
37 | EALREADY | Connect | The socket is marked nonblocking and the previous connection has not been completed. | Reissue Connect().
37 | EALREADY | IOCTL (SIOCTTLSCTL requesting TTLS_INIT_ CONNECTION or TTLS_STOP_ CONNECTION) | For TTLS_INIT_ CONNECTION, the socket is already secure. For TTLS_STOP_ CONNECTION, the socket is not secure. | Modify the application so that it issues the SIOCTTLSCTL IOCTL that requests TTLS_INIT_ CONNECTION only when the socket is not already secure and that requests TTLS_STOP_ CONNECTION only when the socket is secure.
37 | EALREADY | Maxdesc | A socket has already been created calling Maxdesc() or multiple calls to Maxdesc(). | Issue Getablesize() to query it.
37 | EALREADY | Setibmopt | A connection already exists to a TCP/IP image. A call to SETIBMOPT (IBMTCP_IMAGE), has already been made. | Only call Setibmopt() once.
38 | ENOTSOCK | All | A socket operation was requested on a nonsocket connection. The value for socket descriptor was not valid. | Correct the socket descriptor value and reissue the function call.
39 | EDESTADDRREQ | All | A destination address is required. | Fill in the destination field in the correct parameter and reissue the function call.
40 | EMSGSIZE | Sendto Sendmsg Send Write | The message is too long. It exceeds the IP limit of 64K or the limit set by the setsockopt() call. | Either correct the length parameter, or send the message in smaller pieces.
41 | EPROTOTYPE | All | The specified protocol type is incorrect for this socket. | Correct the protocol type parameter.
41 | EPROTOTYPE | IOCTL (SIOCTTLSCTL) | Socket is not a TCP socket. | Issue the SIOCTTLSCTL IOCTL on TCP sockets only.
41 | EPROTOTYPE | IOCTL (SIOCSAPPLDATA) | The request was not successful. The socket is not a stream (TCP) socket. | Issue the SIOCSAPPLDATA IOCTL on TCP sockets only.
42 | ENOPROTOOPT | Getsockopt Setsockopt | The socket option specified is incorrect or the level is not SOL_SOCKET. Either the level or the specified optname is not supported. | Correct the level or optname.
42 | ENOPROTOOPT | Getibmsockopt Setibmsockopt | Either the level or the specified optname is not supported. | Correct the level or optname.
43 | EPROTONOSUPPORT | Socket | The specified protocol is not supported. | Correct the protocol parameter.
44 | ESOCKTNOSUPPORT | All | The specified socket type is not supported. | Correct the socket type parameter.
45 | EOPNOTSUPP | IOCTL | The specified IOCTL command is not supported by this socket API. | Correct the IOCTL COMMAND.
45 | EOPNOTSUPP | GETSOCKOPT | The specified GETSOCKOPT OPTNAME option is not supported by this socket API. | Correct the GETSOCKOPT OPTNAME option.
45 | EOPNOTSUPP | IOCTL (SIOCTTLSCTL requesting TTLS_INIT_ CONNECTION, TTLS_RESET_ SESSION, TTLS_RESET_ CIPHER or TTLS_STOP_ CONNECTION) | Mapped policy indicates that AT-TLS is not enabled for the connection. | Modify the policy to enable AT-TLS for the connection.
45 | EOPNOTSUPP | RECV, RECVFROM, RECVMSG, SEND, SENDTO, SENDMSG | The specified flags are not supported on this socket type or protocol. | Correct the FLAG.
45 | EOPNOTSUPP | Accept Givesocket | The selected socket is not a stream socket. | Use a valid socket.
45 | EOPNOTSUPP | Listen | The socket does not support the Listen call. | Change the type on the Socket() call when the socket was created. Listen() only supports a socket type of SOCK_STREAM.
45 | EOPNOTSUPP | Getibmopt Setibmopt | The socket does not support this function call. This command is not supported for this function. | Correct the command parameter. See Getibmopt() for valid commands. Correct by ensuring a Listen() was not issued before the Connect().
46 | EPFNOSUPPORT | All | The specified protocol family is not supported or the specified domain for the client identifier is not AF_INET=2. | Correct the protocol family.
47 | EAFNOSUPPORT | Bind Connect Socket | The specified address family is not supported by this protocol family. | For Socket(), set the domain parameter to AF_INET. For Bind() and Connect(), set Sin_Family in the socket address structure to AF_INET.
47 | EAFNOSUPPORT | Getclient Givesocket | The socket specified by the socket descriptor parameter was not created in the AF_INET domain. | The Socket() call used to create the socket should be changed to use AF_INET for the domain parameter.
47 | EAFNOSUPPORT | IOCTL | You attempted to use an IPv4-only ioctl on an AF_INET6 socket. | Use the correct socket type for the ioctl or use an ioctl that supports AF_INET6 sockets.
48 | EADDRINUSE | Bind | The address is in a timed wait because a LINGER delay from a previous close or another process is using the address. This error can also occur if the port specified in the bind call has been configured as RESERVED on a port reservation statement in the TCP/IP profile. | If you want to reuse the same address, use Setsockopt() with SO_REUSEADDR. Refer to the section about Setsockopt() in z/OS Communications Server: IP Sockets Application Programming Interface Guide and Reference for more information. Otherwise, use a different address or port in the socket address structure.
48 | EADDRINUSE | IP_ADD_MEMBERSHIP, IP_ADD_SOURCE_ MEMBERSHIP, IPV6_JOIN_GROUP, MCAST_JOIN_GROUP, MCAST_JOIN_SOURCE_ GROUP | The specified multicast address and interface address (or interface index) pair is already in use. | Correct the specified multicast address, interface address, or interface index.
49 | EADDRNOTAVAIL | Bind | The specified address is incorrect for this host. | Correct the function address parameter.
49 | EADDRNOTAVAIL | Connect | The calling host cannot reach the specified destination. | Correct the function address parameter.
49 | EADDRNOTAVAIL | Multicast APIs | The specified multicast address, interface address, or interface index is not correct. | Correct the specified address.
49 | EADDRNOTAVAIL | IP_BLOCK_SOURCE, IP_ADD_SOURCE_ MEMBERSHIP, MCAST_BLOCK_SOURCE, MCAST_JOIN_SOURCE_ GROUP | A duplicate source IP address is specified on the multicast group and interface pair. | Correct the specified source IP address.
49 | EADDRNOTAVAIL | IP_UNBLOCK_SOURCE, IP_DROP_SOURCE_ MEMBERSHIP, MCAST_UNBLOCK_ SOURCE, MCAST_LEAVE_SOURCE_ GROUP | A previously blocked source multicast group cannot be found. | Correct the specified address.
50 | ENETDOWN | All | The network is down. | Retry when the connection path is up.
51 | ENETUNREACH | Connect | The network cannot be reached. | Ensure that the target application is active.
52 | ENETRESET | All | The network dropped a connection on a reset. | Reestablish the connection between the applications.
53 | ECONNABORTED | All | The software caused a connection abend. | Reestablish the connection between the applications.
54 | ECONNRESET | All | The connection to the destination host is not available. | N/A
54 | ECONNRESET | Send Write | The connection to the destination host is not available. | The socket is closing. Issue Send() or Write() before closing the socket.
55 | ENOBUFS | All | No buffer space is available. | Check the application for massive storage allocation call.
55 | ENOBUFS | Accept | Not enough buffer space is available to create the new socket. | Call your system administrator.
55 | ENOBUFS | Send Sendto Write | Not enough buffer space is available to send the new message. | Call your system administrator.
55 | ENOBUFS | IOCTL (SIOCTTLSCTL TTLS_Version1 requesting TTLS_RETURN_ CERTIFICATE or TTLS_Version2 query) | The buffer size provided is too small. | For TTLS_Version1 use the returned certificate length to allocate a larger buffer and reissue IOCTL with the larger buffer.
55 | ENOBUFS | Takesocket | Not enough buffer space is available to create the new socket. | Call your system administrator.
55 | ENOBUFS | IOCTL (SIOCSAPPLDATA) | There is no storage available to store the associated data. | Call your system administrator.
55 | ENOBUFS | IP_BLOCK_SOURCE, IP_ADD_SOURCE_ MEMBERSHIP, MCAST_BLOCK_SOURCE, MCAST_JOIN_SOURCE_ GROUP, SIOCSIPMSFILTER, SIOCSMSFILTER, setipv4sourcefilter, setsourcefilter | A maximum of 64 source filters can be specified per multicast address, interface address pair. | Remove unneeded source IP addresses and reenter the command.
56 | EISCONN | Connect | The socket is already connected. | Correct the socket descriptor on Connect() or do not issue a Connect() twice for the socket.
57 | ENOTCONN | All | The socket is not connected. | Connect the socket before communicating.
57 | ENOTCONN | IOCTL (SIOCTTLSCTL) | The socket is not connected. | Issue the SIOCTTLSCTL IOCTL only after the socket is connected.
58 | ESHUTDOWN | All | A Send cannot be processed after socket shutdown. | Issue read/receive before shutting down the read side of the socket.
59 | ETOOMANYREFS | All | There are too many references. A splice cannot be completed. | Call your system administrator.
59 | ETOOMANYREFS | IP_ADD_MEMBERSHIP, IP_ADD_SOURCE_ MEMBERSHIP, MCAST_JOIN_GROUP, MCAST_JOIN_SOURCE_ GROUP, IPV6_JOIN_GROUP | A maximum of 20 multicast groups per single UDP socket or a maximum of 256 multicast groups per single RAW socket can be specified. | Remove unneeded multicast groups and reenter the command.
60 | ETIMEDOUT | Connect | The connection timed out before it was completed. | Ensure the server application is available.
61 | ECONNREFUSED | Connect | The requested connection was refused. | Ensure server application is available and at specified port.
62 | ELOOP | All | There are too many symbolic loop levels. | Reduce symbolic links to specified file.
63 | ENAMETOOLONG | All | The file name is too long. | Reduce size of specified file name.
64 | EHOSTDOWN | All | The host is down. | Restart specified host.
65 | EHOSTUNREACH | All | There is no route to the host. | Set up network path to specified host and verify that host name is valid.
66 | ENOTEMPTY | All | The directory is not empty. | Clear out specified directory and reissue call.
67 | EPROCLIM | All | There are too many processes in the system. | Decrease the number of processes or increase the process limit.
68 | EUSERS | All | There are too many users on the system. | Decrease the number of users or increase the user limit.
69 | EDQUOT | All | The disk quota has been exceeded. | Call your system administrator.
70 | ESTALE | All | An old NFS** data set handle was found. | Call your system administrator.
71 | EREMOTE | All | There are too many levels of remote in the path. | Call your system administrator.
72 | ENOSTR | All | The device is not a stream device. | Call your system administrator.
73 | ETIME | All | The timer has expired. | Increase timer values or reissue function.
74 | ENOSR | All | There are no more stream resources. | Call your system administrator.
75 | ENOMSG | All | There is no message of the desired type. | Call your system administrator.
76 | EBADMSG | All | The system cannot read the message. | Verify that z/OS Communications Server installation was successful and that message files were properly loaded.
77 | EIDRM | All | The identifier has been removed. | Call your system administrator.
78 | EDEADLK | All | A deadlock condition has occurred. | Call your system administrator.
78 | EDEADLK | Select Selectex | None of the sockets in the socket descriptor sets are either AF_INET or AF_IUCV sockets and there is no timeout value or no ECB specified. The select/selectex would never complete. | Correct the socket descriptor sets so that an AF_INET or AF_IUCV socket is specified. A timeout or ECB value can also be added to avoid the select/selectex from waiting indefinitely.
79 | ENOLCK | All | No record locks are available. | Call your system administrator.
80 | ENONET | All | The requested machine is not on the network. | Call your system administrator.
81 | ERREMOTE | All | The object is remote. | Call your system administrator.
82 | ENOLINK | All | The link has been severed. | Release the sockets and reinitialize the client-server connection.
83 | EADV | All | An ADVERTISE error has occurred. | Call your system administrator.
84 | ESRMNT | All | An SRMOUNT error has occurred. | Call your system administrator.
85 | ECOMM | All | A communication error has occurred on a Send call. | Call your system administrator.
86 | EPROTO | All | A protocol error has occurred. | Call your system administrator.
86 EPROTO IOCTL (SIOCTTLSCTL requesting TTLS_RESET_ SESSION, TTLS_RESET_ CIPHER, TTLS_STOP_ CONNECTION, or TTLS_ALLOW_ HSTIMEOUT) One of the following errors occurred:
  • A TTLS_INIT_ CONNECTION request has not been received for the connection
  • TTLS_RESET_ CIPHER or TTLS_STOP_ CIPHER was requested on a connection that is secured using SSL version 2.
  • TTLS_ALLOW_ HSTIMEOUT was requested but the policy has the HandshakeRole value client or the HandshakeTimeout is 0.
Request TTLS_INIT_ CONNECTION prior to requesting TTLS_RESET_SESSION or TTLS_RESET_CIPHER. Request TTLS_RESET_CIPHER or TTLS_STOP_ CONNECTION only on connections secured using SSL version 3 or TLS version 1. Request TTLS_ALLOW_ HSTIMEOUT only when the security type is TTLS_SEC_SERVER or higher and the HandshakeTimeout is not 0.
87 | EMULTIHOP | All | A multihop address link was attempted. | Call your system administrator.
88 | EDOTDOT | All | A cross-mount point was detected. This is not an error. | Call your system administrator.
89 | EREMCHG | All | The remote address has changed. | Call your system administrator.
90 | ECONNCLOSED | All | The connection was closed by a peer. | Check that the peer is running.
113 | EBADF | All | Socket descriptor is not in correct range. The maximum number of socket descriptors is set by MAXDESC(). The default range is 0-49. | Reissue function with corrected socket descriptor.
113 | EBADF | Bind socket | The socket descriptor is already being used. | Correct the socket descriptor.
113 | EBADF | Givesocket | The socket has already been given. The socket domain is not AF_INET. | Correct the socket descriptor.
113 | EBADF | Select | One of the specified descriptor sets is an incorrect socket descriptor. | Correct the socket descriptor. Set on Select() or Selectex().
113 | EBADF | Takesocket | The socket has already been taken. | Correct the socket descriptor.
113 | EBADF | Accept | A Listen() has not been issued before the Accept(). | Issue Listen() before Accept().
121 | EINVAL | All | An incorrect argument was specified. | Check and correct all function parameters.
121 EINVAL IOCTL (SIOCSAPPLDATA) The input parameter is not a correctly formatted SetApplData structure.
  • The SetAD_eye1 value is not valid.
  • The SetAD_ver value is not valid.
  • The storage pointed to by SetAD_ptr does not contain a correctly formatted SetADcontainer structure.
  • The SetAD_eye2 value is not valid.
  • The SetAD_len value contains an incorrect length for the SetAD_ver version of the SetADcontainer structure.
Check and correct all function parameters.
122 | ECLOSED
126 | ENMELONG
136 | ENOTEMPT
145 | E2BIG | All | The argument list is too long. | Eliminate excessive number of arguments.
156 EMVSINITIAL All Process initialization error.

This indicates an z/OS® UNIX® process initialization failure. This is usually an indication that a proper OMVS RACF® segment is not defined for the user ID associated with application. The RACF OMVS segment may not be defined or may contain errors such as an improper HOME() directory specification.

Attempt to initialize again. After ensuring that an OMVS Segment is defined, if the errno is still returned, call your MVS™ system programmer to have IBM® service contacted.
157 | EMISSED
1002 | EIBMSOCKOUTOFRANGE | Socket | A socket number assigned by the client interface code is out of range. | Check the socket descriptor parameter.
1003 | EIBMSOCKINUSE | Socket | A socket number assigned by the client interface code is already in use. | Use a different socket descriptor.
1004 | EIBMIUCVERR | All | The request failed because of an IUCV error. This error is generated by the client stub code. | Ensure IUCV/VMCF is functional.
1008 | EIBMCONFLICT | All | This request conflicts with a request already queued on the same socket. | Cancel the existing call or wait for its completion before reissuing this call.
1009 | EIBMCANCELLED | All | The request was canceled by the CANCEL call. | Informational, no action needed.
1011 | EIBMBADTCPNAME | All | A TCP/IP name that is not valid was detected. | Correct the name specified in the IBM_TCPIMAGE structure.
1011 | EIBMBADTCPNAME | Setibmopt | A TCP/IP name that is not valid was detected. | Correct the name specified in the IBM_TCPIMAGE structure.
1011 | EIBMBADTCPNAME | INITAPI | A TCP/IP name that is not valid was detected. | Correct the name specified on the IDENT option TCPNAME field.
1012 | EIBMBADREQUESTCODE | All | A request code that is not valid was detected. | Contact your system administrator.
1013 | EIBMBADCONNECTIONSTATE | All | A connection token that is not valid was detected; bad state. | Verify TCP/IP is active.
1014 | EIBMUNAUTHORIZEDCALLER | All | An unauthorized caller specified an authorized keyword. | Ensure user ID has authority for the specified operation.
1015 | EIBMBADCONNECTIONMATCH | All | A connection token that is not valid was detected. There is no such connection. | Verify TCP/IP is active.
1016 | EIBMTCPABEND | All | An abend occurred when TCP/IP was processing this request. | Verify that TCP/IP has restarted.
1023 | EIBMTERMERROR | All | Encountered a terminating error while processing. | Call your system administrator.
1026 | EIBMINVDELETE | All | Delete requestor did not create the connection. | Delete the request from the process that created it.
1027 | EIBMINVSOCKET | All | A connection token that is not valid was detected. No such socket exists. | Call your system programmer.
1028 | EIBMINVTCPCONNECTION | All | Connection terminated by TCP/IP. The token was invalidated by TCP/IP. | Reestablish the connection to TCP/IP.
1032 | EIBMCALLINPROGRESS | All | Another call was already in progress. | Reissue after previous call has completed.
1036 | EIBMNOACTIVETCP | All | TCP/IP is not installed or not active. | Correct TCP/IP name used.
1036 | EIBMNOACTIVETCP | Select | EIBMNOACTIVETCP | Ensure TCP/IP is active.
1036 | EIBMNOACTIVETCP | Getibmopt | No TCP/IP image was found. | Ensure TCP/IP is active.
1037 | EIBMINVTSRBUSERDATA | All | The request control block contained data that is not valid. | Call your system programmer.
1038 | EIBMINVUSERDATA | All | The request control block contained user data that is not valid. | Check your function parameters and call your system programmer.
1040 | EIBMSELECTEXPOST | SELECTEX | SELECTEX passed an ECB that was already posted. | Check whether the user's ECB was already posted.
1112 | ECANCEL
2001 | EINVALIDRXSOCKETCALL | REXX™ | A syntax error occurred in the RXSOCKET parameter list. | Correct the parameter list passed to the REXX socket call.
2002 | ECONSOLEINTERRUPT | REXX | A console interrupt occurred. | Retry the task.
2003 | ESUBTASKINVALID | REXX | The subtask ID is incorrect. | Correct the subtask ID on the INITIALIZE call.
2004 | ESUBTASKALREADYACTIVE | REXX | The subtask is already active. | Only issue the INITIALIZE call once in your program.
2005 | ESUBTASKALNOTACTIVE | REXX | The subtask is not active. | Issue the INITIALIZE call before any other socket call.
2006 | ESOCKNETNOTALLOCATED | REXX | The specified socket could not be allocated. | Increase the user storage allocation for this job.
2007 | EMAXSOCKETSREACHED | REXX | The maximum number of sockets has been reached. | Increase the number of allocate sockets, or decrease the number of sockets used by your program.
2009 | ESOCKETNOTDEFINED | REXX | The socket is not defined. | Issue the SOCKET call before the call that fails.
2011 | EDOMAINSERVERFAILURE | REXX | A Domain Name Server failure occurred. | Call your MVS system programmer.
2012 | EINVALIDNAME | REXX | An incorrect name was received from the TCP/IP server. | Call your MVS system programmer.
2013 | EINVALIDCLIENTID | REXX | An incorrect clientid was received from the TCP/IP server. | Call your MVS system programmer.
2014 | ENIVALIDFILENAME | REXX | An error occurred during NUCEXT processing. | Specify the correct translation table file name, or verify that the translation table is valid.
2016 | EHOSTNOTFOUND | REXX | The host is not found. | Call your MVS system programmer.
2017 | EIPADDRNOTFOUND | REXX | Address not found. | Call your MVS system programmer.
3412 | ENODATA | Message does not exist.
3416 | ELINKED | Stream is linked.
3419 | ERECURSE | Recursive attempt rejected.
3420 | EASYNC | Asynchronous I/O scheduled. This is a normal, internal event that is NOT returned to the user.
3448 | EUNATCH | The protocol required to support the specified address family is not available.
3464 | ETERM | Operation terminated.
3474 | EUNKNOWN | Unknown system state.
3495 | EBADOBJ | You attempted to reference a object that does not exist.
3513 | EOUTOFSTATE | Protocol engine has received a command that is not acceptable in its current state.
Parent topic: Configuring and Managing EZASOKET Support for CICS Applications


Running an Application from the Command Line

Runnable programs can be linked system executable files, which can be run directly from the command line, or dynamically loadable programs, which can be run without being linked into a system executable file.

  • Command to Run a Linked System Executable Program


Command to Run a Linked System Executable Program

To run a linked system executable program, enter the following command:

program-name [parameters]

where:

program-name
The name of a system executable file. If the program-name does not contain an explicit path then the directories specified by the PATH environment variable are searched.
parameters
Parameters that are required by the program. Each parameter is a string, separated from adjoining parameters by one or more spaces.
Parent topic: Running an Application from the Command Line


Run-time System Error Messages

These messages are output by the run-time system (RTS), and so can be produced while you are compiling, debugging, or running your program. When you select an error message number, its text and severity is listed, along with an explanation of the error or problem that caused the message, and advice on how to prevent the error.

  • Key to Run-time System Error Messages
  • COBRT001 - COBRT020
    Lists the Run-time System error messages from COBRT001 through COBRT020.
  • COBRT021 - COBRT040
    Lists the Run-time System error messages from COBRT021 through COBRT040.
  • COBRT041 - COBRT060
    Lists the Run-time System error messages from COBRT041 through COBRT060.
  • COBRT061 - COBRT080
    Lists the Run-time System error messages from COBRT061 through COBRT080.
  • COBRT101 - COBRT120
    Lists the Run-time System error messages from COBRT101 through COBRT120.
  • COBRT121 - COBRT140
    Lists the Run-time System error messages from COBRT121 through COBRT140.
  • COBRT141 - COBRT160
    Lists the Run-time System error messages from COBRT141 through COBRT160.
  • COBRT161 - COBRT180
    Lists the Run-time System error messages from COBRT161 through COBRT180.
  • COBRT181 - COBRT200
    Lists the Run-time System error messages from COBRT181 through COBRT200.
  • COBRT201 - COBRT220
    Lists the Run-time System error messages from COBRT201 through COBRT220.
  • COBRT221 - COBRT240
    Lists the Run-time System error messages from COBRT221 through COBRT240.
  • COBRT241 - COBRT260
    Lists the Run-time System error messages from COBRT241 through COBRT260.


Key to Run-time System Error Messages

These messages are output by the run-time system (RTS), and so can be produced while you are compiling, debugging, or running your program. When you select an error message number, its text and severity is listed, along with an explanation of the error or problem that caused the message, and advice on how to prevent the error.

Run-time system error messages have the following format:

ErrorCode Description

where the parameters are:

ErrorCode A code containing the following information:
  • The component that the error occurred in.
  • The operation that was taking place when the error occurred.
  • The error message number.
For run-time system errors, ErrorCode is generally of the form COBRTnnnn.
Description A description of the cause of the error.

There are two types of run-time error:

Fatal | A message is sent to the screen and the program terminates immediately.
Recoverable | The error is reported to the program. You can trap these errors in your program, but often they are the result of an error in your program's logic. If the program does not trap the error a message is sent to the screen and the program terminates immediately.
Parent topic: Run-time System Error Messages


COBRT001 - COBRT020

  • COBRT001 Insufficient buffer space (Recoverable)
    You have tried to open a file directly or indirectly and, although you have not exceeded your system's file limit, something in your system is unable to allocate enough memory space for this operation.
  • COBRT002 File not open when access attempted (Recoverable)
    You have tried to access a file without opening it first.
  • COBRT003 Serial mode error (Recoverable)
    You have tried to open a device as a relative or indexed file.
  • COBRT004 Illegal file name (Recoverable)
    A file-name contains an illegal character. This could be any character that is not part of the permitted character set or it could be the system-dependent delimiter, which on most systems is the space.
  • COBRT005 Illegal device specification (Recoverable)
    Devices to which your COBOL program can write are defined by the operating system. You have tried to write to a device that is not defined by your system.
  • COBRT006 Attempt to write to a file opened for INPUT (Recoverable)
    You have tried to WRITE to a file that is open for input only.
  • COBRT007 Disk space exhausted (Fatal)
    The disk is full.
  • COBRT008 Attempt to input from a file opened for OUTPUT (Recoverable)
    You have tried to read from a file that is open for output only.
  • COBRT009 Directory not found (Recoverable)
    The system cannot write to the specified directory for one of the following reasons:
  • COBRT010 File name not supplied (Recoverable)
    You have tried to open a file that you have declared as an external file, but have not named.
  • COBRT011 Process limit reached (Fatal)
    One of the following has occurred:
  • COBRT012 Attempt to open a file which is already open (Recoverable)
    You have tried to open a file which is already open and so cannot be opened again.
  • COBRT013 File not found (Recoverable)
    The operating system has been unable to find a file which you have tried to access in your program.
  • COBRT014 Too many files open simultaneously (Recoverable)
    You have tried to exceed the maximum number of files which you can have open at any one time. This can be a software or an operating system constraint, but you must not violate it.
  • COBRT015 Too many indexed files open (Recoverable)
    You have tried to exceed the maximum number of indexed files which you can have open at any one time. This can be a software or an operating system restraint, but you must not violate it.
  • COBRT016 Too many device files open (Recoverable)
    You have tried to exceed the maximum number of device files which you can have open at any one time. This can be a software or an operating system constraint, but you must not violate it.
  • COBRT017 Record error: probably zero length (Recoverable)
    You have probably tried to access a record that has had no value moved into it.
  • COBRT018 Read part record error: EOF before EOR or file open in wrong mode (Recoverable)
    A part record has been found at the end of a file. Consequently your run-time system treats the data file as a record, and not finding a full record, reports this error.
  • COBRT019 Rewrite error: open mode or access mode wrong (Recoverable)
    You are trying to do a REWRITE to a file that has not been opened with the correct access mode for this operation.
  • COBRT020 Device or resource busy (Recoverable)
    You have tried to open a file that is assigned to a device or resource (for example, a line printer) that is not available at this time.
Parent topic: Run-time System Error Messages


COBRT001 Insufficient buffer space (Recoverable)

Resolution:

Although you can trap this error you must do STOP RUN as soon as it is reported.

Parent topic: COBRT001 - COBRT020


COBRT002 File not open when access attempted (Recoverable)

Resolution:

Open the file with the open mode that you need and try the operation again. As this error implies that your program logic contains a mistake, you might want to terminate the run and recode your program.

Parent topic: COBRT001 - COBRT020


COBRT003 Serial mode error (Recoverable)

You are trying to execute a device, not a program.

Resolution:

Open the device in the correct mode or close any open files, do STOP RUN and recode your program.

The name of your program is recognized by the operating system as a valid device. Rename your program.

Parent topic: COBRT001 - COBRT020


COBRT004 Illegal file name (Recoverable)

Resolution:

Try the file operation again using the correct file-name.

Parent topic: COBRT001 - COBRT020


COBRT005 Illegal device specification (Recoverable)

Resolution:

Try the operation again using a device name that your system recognizes.

Parent topic: COBRT001 - COBRT020


COBRT006 Attempt to write to a file opened for INPUT (Recoverable)

Resolution:

Close the file and open it with a mode such as I-O, which allows you to write to the file. As this error implies that your program logic contains a mistake, you might want to terminate the run and recode your program.

Parent topic: COBRT001 - COBRT020


COBRT007 Disk space exhausted (Fatal)

Resolution:

This error can be trapped, but once it has been reported you must do a STOP RUN immediately to terminate your program's run. When your program has terminated, delete any files that you no longer need. Alternatively, if your operating system supports this, put a new disk in a floppy disk drive and redirect your program's file operations to this.

Parent topic: COBRT001 - COBRT020


COBRT008 Attempt to input from a file opened for OUTPUT (Recoverable)

Resolution:

Close the file and open it with a mode such as I-O, which allows you to read from the file. As this error implies that your program logic contains a mistake, you might want to terminate the run and recode your program.

Parent topic: COBRT001 - COBRT020


COBRT009 Directory not found (Recoverable)

  • The directory does not exist
  • The directory is full
  • Your program cannot find the directory

Resolution:

Create the directory if it doesn't exist. If the directory is full, either delete any files that you no longer need or, if your operating system supports this, put a new disk in a floppy disk drive and redirect your program's file operations to it. Alternatively, specify a different drive or directory for your file operations.

Parent topic: COBRT001 - COBRT020


COBRT010 File name not supplied (Recoverable)

Resolution:

Specify the external file-name.

Parent topic: COBRT001 - COBRT020


COBRT011 Process limit reached (Fatal)

  • The run-time system cannot create a new process as the operating system limit on the total number of processes per user or system-wide would be exceeded.
  • Insufficient memory is available to complete the operation.

Resolution:

Terminate any processes that you are no longer using, or make more memory available.

Your operating system might enable you to increase the maximum number of processes allowed. Refer to your operating system documentation for further information.

Parent topic: COBRT001 - COBRT020


COBRT012 Attempt to open a file which is already open (Recoverable)

Resolution:

Cancel your second attempt to open the file. If the fact that the file is already open is acceptable to you, continue to run your program.

Parent topic: COBRT001 - COBRT020


COBRT013 File not found (Recoverable)

Resolution:

Ensure that you are in the correct directory or that a path to the file concerned exists. You can then try the file operation again. If the error is the result of a spelling mistake then ask for the correct file and try the file operation again.

Parent topic: COBRT001 - COBRT020


COBRT014 Too many files open simultaneously (Recoverable)

Resolution:

Close some of the open files which you are not currently accessing, and then try to open the relevant file again. You should then be able to continue to run your program.

Parent topic: COBRT001 - COBRT020


COBRT015 Too many indexed files open (Recoverable)

Resolution:

Close some of the open indexed files which you are not currently accessing, and then try to open the relevant file again. You should then be able to continue to run your program. (Indexed files count as two files, one for data and one for the index.)

Parent topic: COBRT001 - COBRT020


COBRT016 Too many device files open (Recoverable)

Resolution:

Close some of the open device files which you are not currently accessing, and then try to open the relevant file again. You should then be able to continue to run your program.

Parent topic: COBRT001 - COBRT020


COBRT017 Record error: probably zero length (Recoverable)

Resolution:

Although this error is recoverable in the sense that it can be trapped, once it has been reported you must execute a STOP RUN statement immediately and then recode your program to ensure that the COBOL record length is not zero.

Parent topic: COBRT001 - COBRT020


COBRT018 Read part record error: EOF before EOR or file open in wrong mode (Recoverable)

Resolution:

Ensure that the record size you give when you read from or WRITE to a file is consistent.

Parent topic: COBRT001 - COBRT020


COBRT019 Rewrite error: open mode or access mode wrong (Recoverable)

Resolution:

Close the file and reopen it in a mode such as I-O, which allows you to do REWRITE operations on that file. As this error implies that your program logic contains a mistake, you might want to close any open files and then execute a STOP RUN. You can then recode your program to eliminate the logic error.

Parent topic: COBRT001 - COBRT020


COBRT020 Device or resource busy (Recoverable)

Resolution:

You can trap the error status returned by open and retry the open at regular intervals until it succeeds.

Parent topic: COBRT001 - COBRT020


COBRT021 - COBRT040

  • COBRT021 File is a directory (Fatal)
    You have tried to WRITE to a directory instead of to a file.
  • COBRT022 Illegal or impossible access mode for OPEN (Recoverable)
    The mode in which you are trying to open a file violates the General Rule of COBOL for that type of file; for example you might have opened a line sequential file in the I-O mode.
  • COBRT023 Illegal or impossible access mode for CLOSE (Recoverable)
    The mode in which you are trying to close a file is not possible for that type of file.
  • COBRT024 Disk input-output error (Recoverable)
    You might have performed a read after a WRITE, or there might be either a verification failure or a parity error.
  • COBRT025 Operating system data error (Fatal)
    You are trying to set up terminal characteristics for a device which is not a terminal.
  • COBRT026 Block I-O error (Fatal)
    An error has occurred while you are trying to access a disk. This could be the result of a corrupt disk.
  • COBRT027 Device not available (Recoverable)
    You are trying to access a device which either is not attached to your machine or if attached is not online.
  • COBRT028 No space on device (Fatal)
    You have tried a file operation such as WRITE for which insufficient space is available on your disk.
  • COBRT029 Attempt to delete open file (Recoverable)
    You have tried to perform a DELETE FD operation on an open file.
  • COBRT030 File system is read-only (Recoverable)
    The file system which you are using is read-only, which effectively means that it is write-protected. You have tried to change a file in some way, for example you might have tried to WRITE to a file or to DELETE information in it.
  • COBRT031 Not owner of file (Recoverable)
    You are trying an operation on a file but the file's owner has not given you the necessary permission for that operation. You could for example be trying to alter the access modes for a file, which only the file's owner can do.
  • COBRT032 Too many indexed files, or no such process (Recoverable)
    You have tried to open an indexed file but the number of files that you currently have open is the system limit.
  • COBRT033 Physical I-O error (Fatal)
    You have a hardware error of some type. Perhaps you have not put a disk in the relevant drive or you might have tried to WRITE to a disk but the processor detected hardware interface has failed.
  • COBRT034 Incorrect mode or file descriptor (Recoverable)
    You are either trying to write to a file which is open for read purposes only, or read a file which is open for write purposes only.
  • COBRT035 Attempt to access a file with incorrect permission (Recoverable)
    You are trying a file operation which you do not have sufficient permission to achieve. For example you could be trying to write data to a file which has been set up with the read attribute only.
  • COBRT036 File already exists (Recoverable)
    You are trying an inappropriate operation on an already existing file.
  • COBRT037 File access denied (Fatal)
    Your attempt to access a file has been denied by the operating system. You might have tried to write to a write-protected file or you could have tried to read from an output device.
  • COBRT038 Disk not compatible (Fatal)
    You have tried to access a disk that is incompatible with the current version of your operating system. This could be because it was created under a previous version of the system or it could have been created under a completely different operating system. You would also receive this error if you tried to load a disk with a name that clashed with a disk that was already loaded.
  • COBRT039 File not compatible (Fatal)
    You have tried to access a file that is not compatible with the structure of files under the current release of your software. This could be because the file was created either under a different operating system or under a previous version of your current system.
  • COBRT040 National Language initialization not set up correctly (Fatal)
    You have tried to use the additional language variants, but the environment or side file that is required to set up the language either has not been set up correctly, or does not exist, or is invalid.
Parent topic: Run-time System Error Messages


COBRT021 File is a directory (Fatal)

Alternatively, the attributes are not set up correctly to allow you to access a file. That is, it is marked as read-only or you don't have sufficient rights to open it.

Resolution:

Recode your program so that it writes to a file and not to a directory.

You need to either change your file access attributes or recode your program so that it does not violate the existing attributes.

Parent topic: COBRT021 - COBRT040


COBRT022 Illegal or impossible access mode for OPEN (Recoverable)

Resolution:

Open the file with a mode that is compatible with that type of file.

Parent topic: COBRT021 - COBRT040


COBRT023 Illegal or impossible access mode for CLOSE (Recoverable)

Resolution:

Close the file with a new access mode which is compatible with that type of file, or execute a STOP RUN statement and recode your program.

Parent topic: COBRT021 - COBRT040


COBRT024 Disk input-output error (Recoverable)

Resolution:

In some circumstances this error is fatal, but if it occurs during a read you can trap it and then do a close on the file before executing a STOP RUN statement.

Parent topic: COBRT021 - COBRT040


COBRT025 Operating system data error (Fatal)

Resolution:

Recode your program.

Parent topic: COBRT021 - COBRT040


COBRT026 Block I-O error (Fatal)

Resolution:

If you have a corrupt disk try to run your program again using your backup copy.

Parent topic: COBRT021 - COBRT040


COBRT027 Device not available (Recoverable)

Resolution:

Attach the device to your machine and ensure that it is online. Repeat the file operation.

Parent topic: COBRT021 - COBRT040


COBRT028 No space on device (Fatal)

Resolution:

When your program has terminated you should delete some of the files or directories on your current logged in disk. Ensure that you delete sufficient files on your disk so that you have enough room to carry out successful file operations.

Parent topic: COBRT021 - COBRT040


COBRT029 Attempt to delete open file (Recoverable)

Resolution:

Close the file before performing the DELETE FD operation.

Parent topic: COBRT021 - COBRT040


COBRT030 File system is read-only (Recoverable)

Resolution:

You should abandon your attempt to alter the file unless you can make your own personal copy of it. You should then be able to alter the contents of your copy, but not of the original source.

Parent topic: COBRT021 - COBRT040


COBRT031 Not owner of file (Recoverable)

Resolution:

You should abandon your tried file operation unless the file's owner gives you the permission necessary to do the operation you want to carry out.

Parent topic: COBRT021 - COBRT040


COBRT032 Too many indexed files, or no such process (Recoverable)

Alternatively, you could be trying to use a process id which does not exist, or which your operating system no longer recognizes.

Resolution:

You should close some of the indexed files which you are no longer accessing, and you should then be able to open the file you require.

In this case you must rewrite your code so that it uses a process id which your system recognizes.

Parent topic: COBRT021 - COBRT040


COBRT033 Physical I-O error (Fatal)

Resolution:

You should try to correct the fault in your hardware; for example put a disk in the necessary drive.

Parent topic: COBRT021 - COBRT040


COBRT034 Incorrect mode or file descriptor (Recoverable)

Resolution:

You should close the file and reopen using the correct access mode. As this error implies that your program logic contains a mistake, you might want to close any open files, execute a STOP RUN statement and then recode your program to eliminate the logic error.

Shareable files opened INPUT (read-only) by the COBOL system still require write-permission (from the operating system) to enable temporary locking to take place.

Parent topic: COBRT021 - COBRT040


COBRT035 Attempt to access a file with incorrect permission (Recoverable)

Resolution:

If you are the owner of the file you can alter the attributes of the file so that you have the permission needed to effect the particular file operation you were trying. If you are not the owner of the file you cannot to carry out that operation successfully unless you copy the file and make the changes to the copy only. You cannot alter the source file.

Parent topic: COBRT021 - COBRT040


COBRT036 File already exists (Recoverable)

Resolution:

Recode your program to eliminate this mistake.

Parent topic: COBRT021 - COBRT040


COBRT037 File access denied (Fatal)

Resolution:

Alter the access permission on the relevant file. Access can be read-only, if you just want to read the contents of the file without making any changes, or it can be read and write in which case you can alter its contents.

Parent topic: COBRT021 - COBRT040


COBRT038 Disk not compatible (Fatal)

Resolution:

If the error is a result of a clash of names you can rename one of the disks and then you can load both disks together if this is what you want.

Parent topic: COBRT021 - COBRT040


COBRT039 File not compatible (Fatal)

Resolution:

You should create a new copy of the file which has the correct structure.

Parent topic: COBRT021 - COBRT040


COBRT040 National Language initialization not set up correctly (Fatal)

This might be because you have the LANG environment variable set for use by another system in a format not recognized by this COBOL system.

Resolution:

Set up the required environment or side file before you try to run the program again.

Parent topic: COBRT021 - COBRT040


COBRT041 - COBRT060

  • COBRT041 Corrupt index file (Recoverable)
    Your run-time system does not recognize the control information for an indexed file and as the index has been corrupted in some way the data in the file is no longer accessible by your system. This error is recoverable in the sense that it can be trapped but should you receive it, you can do little except to close any open files and stop your program's run.
  • COBRT042 Attempt to write on broken pipe (Recoverable)
    One of the following has occurred:
  • COBRT043 File information missing for indexed file (Fatal)
    The most likely reason for this error is that the names of either the data part or the index part of the file are not consistent with the setting of the IDXNAMETYPE FIle Handler configuration option.
  • COBRT044 Attempt to OPEN an NLS file in a non-NLS program (Fatal)
    The logical file-name is preceded by "%NLS%", but the program which OPENS the file has been compiled without the NLS directive set: the OPEN fails.
  • COBRT045 Attempt to OPEN an NLS file using incompatible language definition (Fatal)
    The NLS control information for a file in your program does not match the same NLS control information in the header of your index file. Alternatively, your index file has become corrupted.
  • COBRT047 Indexed structure overflow (Fatal)
    The structure of your indexed file contains a fault. You have probably tried to put another entry in the index when there is no room for it. This may be because you have reached the maximum number of duplicate keys.
  • COBRT048 Attempt to divide by zero (Fatal)
    You are executing a program that is trying to perform a divide by zero.
  • COBRT055 Routine table overflow (Fatal)
    You have tried to load too many programs simultaneously.
Parent topic: Run-time System Error Messages


COBRT041 Corrupt index file (Recoverable)

Resolution:

You should identify the cause of the error. It might be something obvious such as a crash. You can run Rebuild using the /f option to find more about the nature of the corruption.

You should rerun your program using the backup copy of that file. If you have added a great deal of information to the file since you last took a backup you might like to rebuild the file using the Rebuild utility, which reads the data (if this has not been corrupted) and builds a new index for it.

Parent topic: COBRT041 - COBRT060


COBRT042 Attempt to write on broken pipe (Recoverable)

  • Your program has created a process as a result of a DD_ logical file-name mapping assignment (for example, the process might be a line printer spooler). The process was not created properly, or has ended prematurely. This error occurs when your program tries to write to the process.
  • Your application has terminated abnormally or prematurely, thus breaking the pipe.

Resolution:

You can trap the error status returned by the write operation, then open the file again.

Parent topic: COBRT041 - COBRT060


COBRT043 File information missing for indexed file (Fatal)

Other possibilities are that you have copied the indexed file from one disk to another but have copied either only the data part of the file or only the index, or that there was a system crash during your program's previous run, while the file was open.

Resolution:

Check that the setting of the IDXNAMETYPE FIle Handler configuration option is consistent with the naming of the index files used on your system.

If the error was the result of a faulty copy you should be able to restore the missing part of the file from the .dat or .idx file.

If the error is the result of a crash then whether you can access the necessary data or not is entirely system dependent.

Parent topic: COBRT041 - COBRT060


COBRT044 Attempt to OPEN an NLS file in a non-NLS program (Fatal)

Parent topic: COBRT041 - COBRT060


COBRT045 Attempt to OPEN an NLS file using incompatible language definition (Fatal)

Resolution:

Rebuild your index file, or rerun your program using the backup copy of that file. If you have added a great deal of information since you last took a backup, you might want to rebuild the file using a utility that is able to read the data, if it is not corrupt, and build a new index for it.

Parent topic: COBRT041 - COBRT060


COBRT047 Indexed structure overflow (Fatal)

Alternatively, you have tried to access an old format indexed file, created perhaps using CIS COBOL.

Resolution:

If your index has no room for further entries you should either reorganize your file or convert it to IDXFORMAT"4" using Rebuild, to allow a greater number of duplicate keys.

If you have tried to access an old format indexed file, you can run the Rebuild utility to check the consistency of this indexed file, and to construct a new indexed file if the old one was found to be corrupt.

Parent topic: COBRT041 - COBRT060


COBRT048 Attempt to divide by zero (Fatal)

Resolution:

Recode your program so that you can trap the error with an ON SIZE ERROR clause

Parent topic: COBRT041 - COBRT060


COBRT055 Routine table overflow (Fatal)

Resolution:

Cancel any programs that you are no longer using, or use fewer separate programs.

Parent topic: COBRT041 - COBRT060


COBRT061 - COBRT080

  • COBRT065 File locked (Recoverable)
    You have tried to open a file which has already been locked, or opened for output by another user. Alternatively, you have tried to lock or open for output a file which another user already has open.
  • COBRT066 Attempt to add duplicate record key to indexed file (Fatal)
    You have tried to add a duplicate key for a key which you have not defined as being able to have duplicates.
  • COBRT067 Indexed file not open (Recoverable)
    You are trying to access an indexed file which you have not opened.
  • COBRT068 Record locked (Recoverable)
    You have tried to access a record which is currently locked by another user.
  • COBRT069 Illegal argument to isam module (Fatal)
    This is the result of an internal system error.
  • COBRT070 Too many indexed files open (Recoverable)
    You are trying to open an indexed file but you have already exhausted the system limit which specifies how many of these files can be opened at any one time.
  • COBRT071 Bad indexed file format (Fatal)
    You are either using a file which has been corrupted, or there is an internal system error.
  • COBRT072 End of indexed file (Fatal)
    This is the result of an internal system error.
  • COBRT073 No record found in indexed file (Fatal)
    This is the result of an internal system error.
  • COBRT074 No current record in indexed file (Fatal)
    This is the result of an internal system error.
  • COBRT075 Indexed data file name too long (Fatal)
    When creating indexed files, the extension .idx is added to the user-defined filename, so your filename must not exceed x-4 characters in length, where x is the maximum length of filename.
  • COBRT076 Can't create lock file in /isam directory (Fatal)
    For some reason your system is unable to create a lock file in the /isam directory. One reason for this could be that in its previous run your program terminated abnormally (perhaps due to a power failure) leaving some files locked.
  • COBRT077 Internal ISAM module error (Fatal)
    This is the result of an internal system error.
  • COBRT078 Illegal key description in indexed file (Fatal)
    This is the result of an internal system error.
  • COBRT079 COBCONFIG syntax error (Fatal)
    An error exists in the run-time configuration file accessed via the environment variable COBCONFIG_.
  • COBRT080 Can't convert to/from Unicode codeset (Fatal)
    You have tried to use the additional language variants but there are no mapping tables to convert to/from one of the codesets.
Parent topic: Run-time System Error Messages


COBRT065 File locked (Recoverable)

Resolution:

Your program can inform the system operator (if there is one) that it is unable to access this file and should wait until the other user has finished using the file and closes it. You should then be able to continue to run your program.

Parent topic: COBRT061 - COBRT080


COBRT066 Attempt to add duplicate record key to indexed file (Fatal)

Resolution:

As this error implies that your program logic contains a mistake, you probably should recode.

Parent topic: COBRT061 - COBRT080


COBRT067 Indexed file not open (Recoverable)

Resolution:

Open the file in the relevant access mode and then retry the unsuccessful file operation.

Parent topic: COBRT061 - COBRT080


COBRT068 Record locked (Recoverable)

Resolution:

Your program can inform the system operator (if there is one) that the record is currently locked, and you should then wait until the other user has released the lock on that record. You should then be able to access the relevant record. You should not continually retry to gain access to the record without operator intervention, as this could result in your application hanging.

Parent topic: COBRT061 - COBRT080


COBRT069 Illegal argument to isam module (Fatal)

Resolution:

Contact Technical Support who will help you discover the cause of your error and how it can be rectified.

Parent topic: COBRT061 - COBRT080


COBRT070 Too many indexed files open (Recoverable)

Resolution:

Close some of the open indexed files which you are not currently accessing. You should then be able to open the indexed file which you require and to continue the program run.

Parent topic: COBRT061 - COBRT080


COBRT071 Bad indexed file format (Fatal)

Resolution:

If the disk you are using is corrupt, rerun your program using your backup copy of the disk. If this is not the cause of the error then you should contact Technical Support who will help you discover the cause of your error and how it can be rectified.

Parent topic: COBRT061 - COBRT080


COBRT072 End of indexed file (Fatal)

Resolution:

Contact Technical Support who will help you discover the cause of your error and how it can be rectified.

Parent topic: COBRT061 - COBRT080


COBRT073 No record found in indexed file (Fatal)

Resolution:

Contact Technical Support who will help you discover the cause of the error and how it can be rectified.

Parent topic: COBRT061 - COBRT080


COBRT074 No current record in indexed file (Fatal)

Resolution:

Contact Technical Support who will help you discover the cause of the error and how it can be rectified.

Parent topic: COBRT061 - COBRT080


COBRT075 Indexed data file name too long (Fatal)

Resolution:

Rename the file with a shorter filename, that is, one that is less than 10 characters in length.

Parent topic: COBRT061 - COBRT080


COBRT076 Can't create lock file in /isam directory (Fatal)

Resolution:

You should manually remove all of the files that are still locked from the /isam directory before you can successfully run your program.

Parent topic: COBRT061 - COBRT080


COBRT077 Internal ISAM module error (Fatal)

Resolution:

Contact Technical Support who will help you discover the cause of your error and how it can be rectified.

Parent topic: COBRT061 - COBRT080


COBRT078 Illegal key description in indexed file (Fatal)

Resolution:

Contact Technical Support who will help you discover the cause of your error and how it can be rectified.

Parent topic: COBRT061 - COBRT080


COBRT079 COBCONFIG syntax error (Fatal)

Resolution:

Check the syntax of the entries in the configuration file. You might have used incorrect syntax, or syntax that is not compatible with the type of run-time tunable you are configuring (this could include assigning an illegal value to the tunable).

Parent topic: COBRT061 - COBRT080


COBRT080 Can't convert to/from Unicode codeset (Fatal)

Resolution:

Check that the operating system Unicode mapping tables have been installed on your machine. If converting to/from the current locale, ensure that operating system mapping tables exist for the corresponding codeset.

Parent topic: COBRT061 - COBRT080


COBRT101 - COBRT120

  • COBRT081 Key already exists in indexed file (Fatal)
    This is the result of an internal system error.
  • COBRT082 CALL convention not supported (Fatal)
    The CALL convention you have specified is not supported.
  • COBRT086 Remote file system failure (Fatal)
  • COBRT099 Illegal operation in SORT/MERGE module (Fatal)
    A SORT or MERGE module has received a RELEASE operation outside the Input procedure, or a RETURN operation either outside the Output procedure, or before the Input procedure has terminated correctly.
  • COBRT100 Invalid file operation (Fatal)
    You have tried a file operation which violates a general rule of COBOL in some way. The most likely cause of this error is that you have tried a rewrite on a sequential file opened I-O, or on a relative file with access mode sequential also opened I-O, without preceding it with a successful read NEXT.
  • COBRT101 Illegal operation on an indexed file (Fatal)
    This is the result of an internal system error.
  • COBRT102 Sequential file with non-integral number of records (Fatal)
    You have either specified an incorrect record length for a sequential file, or the sequential file you are trying to access is corrupt in some way, or the file which you have specified is not a sequential file.
  • COBRT103 Parameter cannot be passed BY VALUE (Fatal)
  • COBRT104 Null file name used in a file operation (Fatal)
    You specified a data-name for a file-name instead of a literal, and the data item contained only spaces when you tried to open the file.
  • COBRT105 Memory allocation error (Fatal)
    The run-time system is unable to allocate sufficient memory space to successfully carry out the tried operation, probably because of insufficient memory space on your system.
  • COBRT106 Dictionary error (Fatal)
    This could be the result of a read or write error to file or disk, but it is more likely to be the result of an internal system error.
  • COBRT107 Operation not implemented in this run-time system (Fatal)
    You are trying to perform a file operation which your run-time system does not support.
  • COBRT108 Failure to initialize data division (Fatal)
    The run-time system cannot load your program properly because the data needed to correctly initialize the Data Division has become corrupted.
  • COBRT109 Invalid checksum in run-time system (Recoverable)
    The internal information in the run-time system has been altered. The run-time system might have become corrupted, or you might have illegally tried to change the internal run-time system information.
  • COBRT110 Generated code not supported by this RTS (Fatal)
  • COBRT111 Incompatible Class Library and Run-Time Environment versions (Fatal)
    The version numbers for these components do not match.
  • COBRT112 Unable to locate/access the required security key (Recoverable)
    The run-time system cannot locate or cannot access the coded security key (dongle) that is required to execute this application.
  • COBRT114 Attempt to access item beyond bounds of memory (Fatal)
    Memory access violation has been detected by your operating system.
  • COBRT115 Unexpected signal (Fatal)
    A signal the run-time system was not expecting has been caught.
  • COBRT116 Cannot allocate memory (Fatal)
    For some reason a part of your run-time system is unable to allocate you sufficient memory to enable you to execute your code.
  • COBRT117 Bad collating sequence (Fatal)
    This is an internal system error.
  • COBRT118 Symbol not found (Fatal)
    You have attempted to reference a name that has not been defined.
  • COBRT119 Symbol redefined (Fatal)
    The run-time system has detected a symbol (for example, data item, entry point or module name) which is already defined.
  • COBRT120 Symbol string table of zero size (Fatal)
    You probably have a malformed object file.
Parent topic: Run-time System Error Messages


COBRT081 Key already exists in indexed file (Fatal)

Resolution:

Contact Technical Support who will help you discover the cause of your error and how it can be rectified.

Parent topic: COBRT101 - COBRT120


COBRT082 CALL convention not supported (Fatal)

Resolution:

Change the convention defined in the Special-Names paragraph to one of the supported CALL conventions.

Parent topic: COBRT101 - COBRT120


COBRT086 Remote file system failure (Fatal)

Parent topic: COBRT101 - COBRT120


COBRT099 Illegal operation in SORT/MERGE module (Fatal)

Resolution:

Recode your program so that RELEASE and RETURN operations are issued by the appropriate procedures.

Parent topic: COBRT101 - COBRT120


COBRT100 Invalid file operation (Fatal)

Resolution:

Recode your program to ensure that the REWRITE statement in error is preceded by a read NEXT.

Parent topic: COBRT101 - COBRT120


COBRT101 Illegal operation on an indexed file (Fatal)

Resolution:

Contact Technical Support who will help you discover the cause of your error and how it can be rectified.

Parent topic: COBRT101 - COBRT120


COBRT102 Sequential file with non-integral number of records (Fatal)

Resolution:

Recode your program so that it specifies the correct type of file, or if the error is the result of a corrupt file, try to run the program again using a backup copy of that file.

Parent topic: COBRT101 - COBRT120


COBRT103 Parameter cannot be passed BY VALUE (Fatal)

Parent topic: COBRT101 - COBRT120


COBRT104 Null file name used in a file operation (Fatal)

Alternatively, you have attempted to do a CALL dataname in which the dataname has at least one leading space character.

Resolution:

Recode your program specifying the correct file-name.

Ensure the target program name is space terminated.

Parent topic: COBRT101 - COBRT120


COBRT105 Memory allocation error (Fatal)

Resolution:

You should obtain more memory in which to run your program. Refer to your operating system documentation for details of how you can obtain more memory, if this is possible.

Parent topic: COBRT101 - COBRT120


COBRT106 Dictionary error (Fatal)

Alternatively, your application might have called many programs without canceling them afterward, so that memory becomes exhausted during animation.

Resolution:

Contact Technical Support who will help you to discover the cause of your error and how it can be rectified.

Ensure that as much memory as possible is available during animation by CANCELing any program you do not currently need to access.

Parent topic: COBRT101 - COBRT120


COBRT107 Operation not implemented in this run-time system (Fatal)

Resolution:

You should recode your program so that it does not try such operations, or you should acquire a version of your system that does support this facility.

Parent topic: COBRT101 - COBRT120


COBRT108 Failure to initialize data division (Fatal)

Resolution:

You should compile your program again to try to obtain good intermediate code.

Parent topic: COBRT101 - COBRT120


COBRT109 Invalid checksum in run-time system (Recoverable)

The internal information in the run-time system has been altered. The run-time system might have become corrupted, or you might have illegally tried to change the internal run-time system information.

Parent topic: COBRT101 - COBRT120


COBRT110 Generated code not supported by this RTS (Fatal)

Resolution:

Contact Technical Support who will help you to discover the cause of the error and how it can be rectified.

Parent topic: COBRT101 - COBRT120


COBRT111 Incompatible Class Library and Run-Time Environment versions (Fatal)

Resolution:

Check that you have fully installed both the Class Library and the Run-Time Environment from the same version of your COBOL system. If you have more than one version installed, check that your PATH and COBDIR environment variables specify an appropriate path for the version you are using.

Parent topic: COBRT101 - COBRT120


COBRT112 Unable to locate/access the required security key (Recoverable)

Resolution:

Connect the security key that was supplied with your COBOL system to the parallel port of your computer, then re-run the application.

Parent topic: COBRT101 - COBRT120


COBRT114 Attempt to access item beyond bounds of memory (Fatal)

The file mfdebug.log is automatically generated in your current directory.

Parent topic: COBRT101 - COBRT120


COBRT115 Unexpected signal (Fatal)

If you are running under Windows, the file mfdebug.log is automatically generated in your current directory.

Parent topic: COBRT101 - COBRT120


COBRT116 Cannot allocate memory (Fatal)

Resolution:

You should try to reduce memory usage by canceling programs that are not in use, then try the operation that caused this message again.

Parent topic: COBRT101 - COBRT120


COBRT117 Bad collating sequence (Fatal)

Resolution:

Contact Technical Support who will help you to discover the cause of the error and how it can be rectified.

Parent topic: COBRT101 - COBRT120


COBRT118 Symbol not found (Fatal)

Parent topic: COBRT101 - COBRT120


COBRT119 Symbol redefined (Fatal)

OO programs can also cause this error for either of the following reasons:

  • You have defined the same method-name twice in a single object
  • You have defined the same class name with different filenames in different programs, in the Class-Control paragraph. Filename matching is case-sensitive; class filenames should always be coded in lower-case.

Resolution:

You can recode your application to remove the naming duplication.

Parent topic: COBRT101 - COBRT120


COBRT120 Symbol string table of zero size (Fatal)

Resolution:

Once the program has terminated you must correct your object file. If this does not work, contact Technical Support who will help you to discover the specific cause of the error.

Parent topic: COBRT101 - COBRT120


COBRT121 - COBRT140

  • COBRT121 Symbol is not in TEXT section (Fatal)
    You have tried to call a subprogram that is not an executable program.
  • COBRT122 Coblongjmp() called below level of cobsavenv() (Fatal)
    You might have returned control to a higher level in the CALL/PERFORM hierarchy than the level at which cobsetjmp was called. Coblongjmp must be called only from the same or from a lower level in the CALL/PERFORM hierarchy as cobsavenv was.
  • COBRT123 Unknown relocation type (Fatal)
    You are using incompatible versions of the object file and the COBOL run-time library.
  • COBRT124 Communication failure during I/O request to the central file handler
  • COBRT125 All locks/ current transactions canceled due to exceeding time limit
  • COBRT126 Record size exceeds system limit (Fatal)
    One of the following has occurred:
  • COBRT127 coblongjmp() called from a different thread to cobsetjmp() (Fatal)
    You have called coblongjmp() in a different thread from the corresponding call to cobsetjmp(). coblongjmp() must be called from the same thread as the corresponding call to cobsetjmp().
  • COBRT129 Attempt to access record zero of relative file (Recoverable)
    The value specified in the RELATIVE KEY data item contains the value zero.
  • COBRT135 File not found (Recoverable)
    The operating system has been unable to find a file which you have tried to access in your program.
  • COBRT136 Corrupt or invalid executable file (Fatal)
    An attempt was made to execute a .gnt file or a library file that is not valid. The file might be corrupted or truncated.
  • COBRT137 Illegal device specification - not mass storage
  • COBRT138 File closed with lock - cannot be opened (Recoverable)
    You are trying to open a file which you previously closed with lock, which violates one of the general rules of COBOL programming.
  • COBRT139 Record length or key data inconsistency (Recoverable)
    A discrepancy exists between the length of a record, or the keys which you have specified, in your current program and its definition in the program in which it was first opened.
Parent topic: Run-time System Error Messages


COBRT121 Symbol is not in TEXT section (Fatal)

Alternatively, you have used the same name for a called program as for a previously defined data item.

Resolution:

Check that the subprogram being called is an executable one. If required, correct the subprogram's name in the calling program and resubmit it to your COBOL system.

Once your program has terminated, recode it to remove the naming duplication. Resubmit your program to your COBOL system.

Parent topic: COBRT121 - COBRT140


COBRT122 Coblongjmp() called below level of cobsavenv() (Fatal)

Resolution:

Check and correct the logic of your program, and then resubmit your program to your COBOL system.

Parent topic: COBRT121 - COBRT140


COBRT123 Unknown relocation type (Fatal)

Resolution:

Once the program has terminated, resubmit your object file to your COBOL system with the current version of your COBOL run-time library. If this does not work, contact Technical Support who will help you to discover the specific cause of the error.

Parent topic: COBRT121 - COBRT140


COBRT124 Communication failure during I/O request to the central file handler

Parent topic: COBRT121 - COBRT140


COBRT125 All locks/ current transactions canceled due to exceeding time limit

Parent topic: COBRT121 - COBRT140


COBRT126 Record size exceeds system limit (Fatal)

  • You have attempted to open for output a file whose record length is greater than the system limits. For C-ISAM format files, the limit is 32,767 bytes. For Micro Focus format files, the limit is 268,433,408 bytes.
  • You have attempted a REWRITE on a sequential file using data compression where the compressed length of the new record differs from that of the original.

Resolution:

Correct the record size.

Parent topic: COBRT121 - COBRT140


COBRT127 coblongjmp() called from a different thread to cobsetjmp() (Fatal)

Resolution:

Check and correct the logic of your program, then resubmit it to your COBOL system.

Parent topic: COBRT121 - COBRT140


COBRT129 Attempt to access record zero of relative file (Recoverable)

Resolution:

You should ensure that the value in the RELATIVE KEY data item is greater than zero, then continue to run your program.

Parent topic: COBRT121 - COBRT140


COBRT135 File not found (Recoverable)

Resolution:

Ensure that you are in the correct directory or that a path to the file concerned exists. You can then try the file operation again. If the error is the result of a spelling mistake then ask for the correct file and try the file operation again.

Parent topic: COBRT121 - COBRT140


COBRT136 Corrupt or invalid executable file (Fatal)

Resolution:

Recompile the source code or recreate the library file, ensuring that it is processed without errors.

Parent topic: COBRT121 - COBRT140


COBRT137 Illegal device specification - not mass storage

Parent topic: COBRT121 - COBRT140


COBRT138 File closed with lock - cannot be opened (Recoverable)

Resolution:

You cannot open the relevant file. As this error implies that your program logic contains a mistake, you might want to close any remaining open files, execute a STOP RUN statement and recode.

Parent topic: COBRT121 - COBRT140


COBRT139 Record length or key data inconsistency (Recoverable)

Resolution:

Your program has a fault, so you probably should edit your code, then resubmit it to your COBOL system before running it again.

Parent topic: COBRT121 - COBRT140


COBRT141 - COBRT160

  • COBRT141 File already open - cannot be opened (Recoverable)
    You have tried to open a file which is already open and so cannot be opened again.
  • COBRT142 File not open - cannot be closed (Recoverable)
    You have tried to close a file which is not open which is impossible to achieve.
  • COBRT143 Rewrite/delete in sequential mode not preceded by successful read (Recoverable)
    You have failed to do a successful read on a sequentially accessed file trying a REWRITE or DELETE on some of the information contained in that file.
  • COBRT144 Boundary violation (Recoverable)
    You have tried to write a record to a variable length record file, the length of which is not within the defined range for that file.
  • COBRT146 No current record defined for sequential read (Recoverable)
    The file position indicator in your file is undefined owing to a failed read/START or INVALID KEY condition. You have tried to read another record in the file but as the current record is undefined the system cannot find the start of the record for which you have asked.
  • COBRT147 Wrong open mode or access mode for read/start (Recoverable)
    You have tried to carry out a read or START operation on a file which has not been opened for INPUT or I-O, or which is not open at all.
  • COBRT148 Wrong open mode or access mode for write (Recoverable)
    You have tried to write to a file in sequential access mode that you have not opened for OUTPUT or EXTEND, or you have tried to write to a file in random or dynamic access mode that has not been opened INPUT or I-O, or which is not open at all.
  • COBRT149 Wrong open mode or access mode for rewrite/delete (Recoverable)
    You are trying to do a REWRITE or a DELETE on a file that you have not opened for I-O, or which is not open at all.
  • COBRT151 Random read on sequential file (Recoverable)
    You are trying to do a random read on a file which has sequential organization.
  • COBRT152 REWRITE on file not opened I-O (Recoverable)
    You have tried a REWRITE on a file that is not open I-O.
  • COBRT153 Subscript out of range (Fatal)
    A subscript which you have used in your program is out of the defined range, that is, it is either less than one or it is greater than the number of occurrences of the item.
  • COBRT154 PERFORM nested too deeply (Fatal)
    This error usually results if you have used GO TO to jump out of the range of a PERFORM rather than to jump to an EXIT statement at the end of its range.
  • COBRT155 Illegal command line (Fatal)
    The run-time system does not recognize as valid the command line format you have specified.
  • COBRT156 Too many parentheses in compute statement (Fatal)
    You have coded a COMPUTE statement which is too complex for your system to handle successfully.
  • COBRT157 Not enough program memory: object file too large to load (Recoverable)
    Either your program is too large for the available memory space, or the stack is full.
  • COBRT158 Attempt to REWRITE to a line-sequential file (Recoverable)
    You have used the REWRITE statement in conjunction with a file whose organization is line sequential. The REWRITE statement cannot be used with line sequential files.
  • COBRT159 Malformed line-sequential file (Recoverable)
    A line-sequential file which you are trying to access is corrupt in some way.
  • COBRT160 Overlay loading error (Recoverable)
    An error has occurred while trying to load the intermediate code for an independent segment. The segment is either missing or corrupted in some way.
Parent topic: Run-time System Error Messages


COBRT141 File already open - cannot be opened (Recoverable)

Resolution:

Cancel your second attempt to open the file and continue to run your program if the fact that the file is already open is acceptable to you. However as this error implies that your program logic contains a mistake, you might want to close any open files, execute a STOP RUN statement and then recode.

Parent topic: COBRT141 - COBRT160


COBRT142 File not open - cannot be closed (Recoverable)

Resolution:

You can abandon your attempt to close the relevant file and continue to run your program. However, as this error implies that your program logic contains a mistake, you might want to close any open files, execute a STOP RUN statement and then recode.

Parent topic: COBRT141 - COBRT160


COBRT143 Rewrite/delete in sequential mode not preceded by successful read (Recoverable)

Resolution:

If the previous read was successful then perform a read on the relevant file before you retry the unsuccessful REWRITE or DELETE operation. If the previous read was also unsuccessful close the file, execute a STOP RUN statement and then recode your program before you next run it.

Parent topic: COBRT141 - COBRT160


COBRT144 Boundary violation (Recoverable)

Resolution:

Recode your program.

Parent topic: COBRT141 - COBRT160


COBRT146 No current record defined for sequential read (Recoverable)

Resolution:

You should try a START operation, and continue to do so until the file position indicator is updated successfully.

Parent topic: COBRT141 - COBRT160


COBRT147 Wrong open mode or access mode for read/start (Recoverable)

Resolution:

Open the file for I-O or for INPUT and you should then be able to continue to run your program. However, as this error implies that your program logic contains a mistake, you might want to close any files which are open, execute a STOP RUN statement and then recode.

Parent topic: COBRT141 - COBRT160


COBRT148 Wrong open mode or access mode for write (Recoverable)

Resolution:

Close the file and reopen it with the correct open mode for the file type. However, as this error implies that your program logic contains a mistake, you might want to close any files that are open, execute a STOP RUN statement and then recode.

Parent topic: COBRT141 - COBRT160


COBRT149 Wrong open mode or access mode for rewrite/delete (Recoverable)

Resolution:

Close the file and reopen for I-O. However, as this error implies that your program logic contains a mistake, you might want to close any open files, execute a STOP RUN statement and then recode.

Parent topic: COBRT141 - COBRT160


COBRT151 Random read on sequential file (Recoverable)

Resolution:

Read the file with the correct access mode. As this error implies that your program logic contains a mistake, you might like to close any files which are open, execute a STOP RUN statement and recode.

Parent topic: COBRT141 - COBRT160


COBRT152 REWRITE on file not opened I-O (Recoverable)

Resolution:

Close the relevant file and open it for I-O operations. You should then be able to carry out the REWRITE operation successfully. However, as this error implies that your program logic contains a mistake, you might want to close any open files, execute a STOP RUN statement and then recode.

Parent topic: COBRT141 - COBRT160


COBRT153 Subscript out of range (Fatal)

Resolution:

You should recode your program.

Parent topic: COBRT141 - COBRT160


COBRT154 PERFORM nested too deeply (Fatal)

Resolution:

When your program has terminated you should to recode your program to ensure that the GO TO in question jumps to an EXIT statement at the end of the PERFORM's range.

Parent topic: COBRT141 - COBRT160


COBRT155 Illegal command line (Fatal)

Alternatively, the generic command-line interpreter, which must be present if your program is to be run successfully, is not found on your system.

Alternatively, you have set an invalid COBSW value.

Resolution:

Rerun your application with a valid command line.

Make sure that the interpreter is present to enable your system to pick up the commands correctly and then rerun your program.

Reset COBSW to a valid value.

Parent topic: COBRT141 - COBRT160


COBRT156 Too many parentheses in compute statement (Fatal)

Resolution:

You should recode your program. We strongly advise you to break the relevant COMPUTE statement into a number of simpler statements.

Parent topic: COBRT141 - COBRT160


COBRT157 Not enough program memory: object file too large to load (Recoverable)

Resolution:

If you have specified the ON OVERFLOW/EXCEPTION clause in the relevant CALL statement, the error is recoverable. Any associated imperative statement is executed before the next instruction.

Parent topic: COBRT141 - COBRT160


COBRT158 Attempt to REWRITE to a line-sequential file (Recoverable)

Resolution:

Close the file in error before executing a STOP RUN statement to ensure that you do not lose any data from it. Recode your program to make the organization of the file to which you want to do a REWRITE either sequential, indexed sequential, or relative.

Parent topic: COBRT141 - COBRT160


COBRT159 Malformed line-sequential file (Recoverable)

Resolution:

Rerun your program using the backup copy of that file.

Parent topic: COBRT141 - COBRT160


COBRT160 Overlay loading error (Recoverable)

Resolution:

If the segment is missing, locate it. If you cannot find it, or if it is present and corrupt, resubmit your program to your COBOL system.

Parent topic: COBRT141 - COBRT160


COBRT161 - COBRT180

  • COBRT161 Illegal intermediate code (Fatal)
    The intermediate code which is currently being processed is not valid code. You are probably trying to execute a corrupted file or one which has not been submitted to your COBOL system successfully.
  • COBRT162 Arithmetic overflow or underflow (Fatal)
    You are executing a program that is trying to perform a floating-point divide by zero.
  • COBRT163 Illegal character in numeric field (Fatal)
    The contents of a numeric or numeric edited field are inconsistent with the picture definition of that field.
  • COBRT164 Run-Time subprogram not found (Fatal)
    You have tried to call a subroutine whose entry address has not been set up in your run-time system.
  • COBRT165 Version number incompatibility (Fatal)
    You have tried to:
  • COBRT166 Recursive COBOL CALL is illegal (Fatal)
    You have tried to call a COBOL module that is already active.
  • COBRT167 Too many USING items (Fatal)
    The list of items which you have supplied in a CALL....USING statement is longer than the run-time system can handle.
  • COBRT168 Stack overflow (Fatal)
    You have nested a PERFORM statement or a series of CALL statements too deeply.
  • COBRT169 Illegal configuration information (Fatal)
    You have tried an operation for which your machine is not configured; the most likely cause of this is that Adis is not configured correctly.
  • COBRT170 System program not found (Fatal)
    A system program, for example Adis or Mffh, is not present.
  • COBRT171 Japanese operations illegal with this RTS (Fatal)
    You are trying to perform Japanese operations with a non-Japanese run-time system, or you have used a Japanese version of your COBOL system to produce code which you are now trying to run using a non-Japanese run-time system.
  • COBRT173 Called program file not found in drive/directory (Fatal)
    You have tried to call a program which is not present on your current logged-in drive or directory, or in a directory pointed to by the COBDIR environment variable, or to send a message to a class which cannot be loaded.
  • COBRT174 Imported file not found (Fatal)
    You have tried to load a .dll file which contains references to another .dll file which cannot be found by the operating system.
  • COBRT175 Attempt to run intermediate code program which had severe errors in it (Fatal)
    You are trying to run a program that produced severe faults when you submitted it to your COBOL system with the run-time switch E turned off.
  • COBRT176 Illegal intersegment reference (Fatal)
    You might have a corrupted file. Alternatively, your code contains a segment reference for the Forward Reference Table which is illegal.
  • COBRT177 Attempt to cancel program failed (Fatal)
    You have tried to remove a currently executing program or its parents or grandparents, from memory.
  • COBRT179 Error during chain (program not found) (Fatal)
    You have tried to chain to another program which your system is unable to find.
  • COBRT180 End-of-file marker error (Fatal)
    A file-marker used to indicate that the end-of-file has been reached is missing from one of your files.
Parent topic: Run-time System Error Messages


COBRT161 Illegal intermediate code (Fatal)

Resolution:

You should resubmit your source program to your COBOL system, to try to obtain uncorrupted intermediate code.

or:

If your application is invoking the File Handler directly using calls to EXTFH or mFFH, you might encounter this error if the key definition block has been incorrectly defined. Please refer to the File Handler reference documentation for details about the correct format of the key definition block.

Parent topic: COBRT161 - COBRT180


COBRT162 Arithmetic overflow or underflow (Fatal)

Resolution:

You should recode your program to avoid this illegal operation.

Parent topic: COBRT161 - COBRT180


COBRT163 Illegal character in numeric field (Fatal)

Resolution:

Adjust your code so that no invalid data is used, or set the –F run-time switch to suppress the checking of numeric items for valid data.

Parent topic: COBRT161 - COBRT180


COBRT164 Run-Time subprogram not found (Fatal)

Resolution:

Check to see that you used a valid call number in the unsuccessful subroutine call. If not, revise your code to contain a call number which your system recognizes. If you did use a valid call number but still received this error you should contact Technical Support.

Parent topic: COBRT161 - COBRT180


COBRT165 Version number incompatibility (Fatal)

  • Run a program that has:intermediate code which has been produced on a version of your COBOL system that is incompatible with the run-time system you are using. Your run-time system, therefore, cannot execute correctly any generated code you are producing or have already produced from this intermediate code.
  • Execute a file which is not in your COBOL system's intermediate or generated code.
  • Load a module whose format is not valid for the Win32 platform.
Parent topic: COBRT161 - COBRT180


COBRT166 Recursive COBOL CALL is illegal (Fatal)

Resolution:

You should recode your program.

Parent topic: COBRT161 - COBRT180


COBRT167 Too many USING items (Fatal)

Resolution:

Once your program has terminated recode it with group items rather than elementary items before rerunning it.

Parent topic: COBRT161 - COBRT180


COBRT168 Stack overflow (Fatal)

Resolution:

Edit your program to reduce the number of levels in the nested PERFORM or CALL statement.

Parent topic: COBRT161 - COBRT180


COBRT169 Illegal configuration information (Fatal)

Resolution:

Check that Adis is configured correctly.

Parent topic: COBRT161 - COBRT180


COBRT170 System program not found (Fatal)

Resolution:

Ensure that all the system programs are available and copy those which are not currently present using. Once all the necessary system programs are available you can run your program.

Parent topic: COBRT161 - COBRT180


COBRT171 Japanese operations illegal with this RTS (Fatal)

Resolution:

You should resubmit your program using a non-Japanese run-time system, or if you still want your program to perform Japanese operations, you should acquire a Japanese run-time system.

Parent topic: COBRT161 - COBRT180


COBRT173 Called program file not found in drive/directory (Fatal)

Resolution:

Once your program has terminated you should copy the relevant file into your logged-in drive or directory. If insufficient space is available, you should set the COBDIR environment variable to search the directory or drive on which the file is present when your program calls it.

If the error was caused by a class which could not be loaded, find out whether or not the filename for the class (listed in the Class-Control paragraph) is a separate executable file, or contained in a .dll or .lbr file. If it is a separate executable file, the resolution is as above. If it is part of a .dll or .lbr file, ensure that the containing file has been loaded with a CALL statement before sending messages to any of the classes. If the program not found is P2emgr, you need to load the GUI Class Library, with a CALL "APIGUI" statement.

Parent topic: COBRT161 - COBRT180


COBRT174 Imported file not found (Fatal)

Resolution:

Locate the missing file and ensure it is located on the default search path for your operating system.

Parent topic: COBRT161 - COBRT180


COBRT175 Attempt to run intermediate code program which had severe errors in it (Fatal)

Alternatively, you could try to run the program with the E run-time switch set, though this might not give the desired results.

Resolution:

You should edit your source code to correct all the severe faults, resubmit it to your COBOL system, then run the intermediate code that is produced.

When your program is being animated, the debugger reports this error and enables you to continue to run the program.

Parent topic: COBRT161 - COBRT180


COBRT176 Illegal intersegment reference (Fatal)

Resolution:

Resubmit your source code to your COBOL system. If you receive this error again, contact Technical Support who will help you to discover the specific cause of the error.

Parent topic: COBRT161 - COBRT180


COBRT177 Attempt to cancel program failed (Fatal)

Resolution:

Once your program has terminated you need to recode your program to ensure that you do not try to cancel a program (or its parents or grandparents) while it is still being executed.

Parent topic: COBRT161 - COBRT180


COBRT179 Error during chain (program not found) (Fatal)

Resolution:

Once your program has terminated you should copy the relevant file into your logged-in drive or directory. If insufficient space is available, you should set the COBDIR environment variable to include the directory or drive on which the file is present when your program calls it.

Parent topic: COBRT161 - COBRT180


COBRT180 End-of-file marker error (Fatal)

Resolution:

You should resubmit your code to your COBOL system, or use a debugger to place the end-of-file marker at the end of the file. You can then rerun your program.

Parent topic: COBRT161 - COBRT180


COBRT181 - COBRT200

  • COBRT181 Invalid parameter error (Fatal)
    A parameter which you have used is not one which is recognized by your system.
  • COBRT182 Console input or console output open in wrong direction (Fatal)
    You are either trying to read input from the screen or write to the keyboard.
  • COBRT183 Attempt to open line sequential file for I-O (Fatal)
    You have tried to open a line-sequential file in the input-output open mode, but this mode is not supported for files with this organization.
  • COBRT184 ACCEPT/DISPLAY I-O error (Fatal)
    You have either tried to read input from the screen or write to the keyboard, or the ADIS module has not been able to open your terminal's channels for I-O.
  • COBRT185 File malformed (Recoverable)
  • COBRT186 Attempt to open stdin, stdout or stderr with incorrect mode (Recoverable)
    You have tried to open either a standard input file with output mode, or some other file in an incorrect mode.
  • COBRT187 Run-time system not found on $COBDIR path (Fatal)
    The run-time system cannot be found on the path you have set up in the COBDIR environment variable. Alternatively, you might not have installed your COBOL system correctly.
  • COBRT188 Filename too large (Fatal)
    A file-name which you have used has more characters than the maximum number allowed by your operating system.
  • COBRT189 Intermediate code load error (Fatal)
    You are unable to load your intermediate code. You might have tried to load intermediate code that either has not been successfully produced, or has been corrupted in some way.
  • COBRT190 Too many arguments to CALL (Fatal)
    A CALL statement in your program cannot be successfully executed because of the number of arguments which you have used with it.
  • COBRT191 Terminal type not defined (Fatal)
    Your terminal is not defined.
  • COBRT192 Required terminal capability description missing (Fatal)
    A compulsory entry, for example cursor movement or clear screen, is missing from your terminal configuration database.
  • COBRT193 Error in variable length count (Fatal)
    The intermediate code which is currently being processed is not a valid operation. You are probably trying to execute a corrupt file or one which has not been produced.
  • COBRT194 File size too large (Fatal)
    A file which your program is accessing is too large for successful execution to continue.
  • COBRT195 DELETE/REWRITE not preceded by a read (Fatal)
    Before a DELETE or a REWRITE statement can be successfully executed in sequential access mode the last input-output statement executed for the associated file must have been a successful read. In your code no read statement precedes your tried DELETE or REWRITE.
  • COBRT196 Record number too large in relative or indexed file (Fatal)
    The relative record key has exceeded the system limit, that is, the file is too large for the system to handle.
  • COBRT197 Screen handling system initialization error (Fatal)
    This error can be caused by one of the following:
  • COBRT198 Load failure (Fatal)
    The system cannot load a program module or, in a multi-threading program, start a new thread.
  • COBRT199 Operating System error code lies outside expected range (Fatal)
    A system call has returned an unexpected error number which is not documented.
  • COBRT200 Run-time system internal logic error (Fatal)
    The amount of memory available on your machine is so low that not even the run-time system can be fully loaded.
Parent topic: Run-time System Error Messages


COBRT181 Invalid parameter error (Fatal)

Resolution:

Revise your code to contain a parameter which is known by your system.

Parent topic: COBRT181 - COBRT200


COBRT182 Console input or console output open in wrong direction (Fatal)

Resolution:

You should recode your program.

Parent topic: COBRT181 - COBRT200


COBRT183 Attempt to open line sequential file for I-O (Fatal)

Resolution:

When your program has terminated you should recode your program to ensure that the file with organization line sequential is opened for input, output, or extend. You can then rerun your code.

Parent topic: COBRT181 - COBRT200


COBRT184 ACCEPT/DISPLAY I-O error (Fatal)

Resolution:

Your program logic contains a mistake, so you must recode.

Parent topic: COBRT181 - COBRT200


COBRT185 File malformed (Recoverable)

Parent topic: COBRT181 - COBRT200


COBRT186 Attempt to open stdin, stdout or stderr with incorrect mode (Recoverable)

Parent topic: COBRT181 - COBRT200


COBRT187 Run-time system not found on $COBDIR path (Fatal)

Resolution:

Ensure that the run-time system is on the path you have set up in the COBDIR environment variable. Alternatively, ensure that your COBOL system has been installed correctly. If it has not, you must reinstall your COBOL system.

Parent topic: COBRT181 - COBRT200


COBRT188 Filename too large (Fatal)

Resolution:

You should recode your program to check the length of the file in error, and rename it with a shorter file-name. You can then run your program again.

Parent topic: COBRT181 - COBRT200


COBRT189 Intermediate code load error (Fatal)

Resolution:

Try to obtain good intermediate code, for example, by resubmitting (or submitting) your source code to your COBOL system. You should then be able to load your code and run the program successfully.

Parent topic: COBRT181 - COBRT200


COBRT190 Too many arguments to CALL (Fatal)

Resolution:

When your program has terminated you can recode it using group items rather than elementary ones. You should then be able to run your program successfully.

Parent topic: COBRT181 - COBRT200


COBRT191 Terminal type not defined (Fatal)

Resolution:

Your terminal type is undefined, so your operating system is unable to drive your terminal. Set up the necessary environment for your terminal.

Parent topic: COBRT181 - COBRT200


COBRT192 Required terminal capability description missing (Fatal)

Resolution:

Add the missing entry to your terminal configuration database.

Parent topic: COBRT181 - COBRT200


COBRT193 Error in variable length count (Fatal)

Resolution:

You should resubmit your source code to your COBOL system.

Parent topic: COBRT181 - COBRT200


COBRT194 File size too large (Fatal)

Resolution:

When your program has terminated you should recode your program spreading the data over more than one file to ensure that no file becomes too large for your operating system to handle. Having recoded your program you can then rerun it.

Parent topic: COBRT181 - COBRT200


COBRT195 DELETE/REWRITE not preceded by a read (Fatal)

Resolution:

When your program has terminated, recode your program, making sure that the last input-output statement to be executed before the DELETE or REWRITE is a read statement.

Parent topic: COBRT181 - COBRT200


COBRT196 Record number too large in relative or indexed file (Fatal)

Alternatively, the record key which you have specified is too large for the system to deal with successfully, or the pointer to the record has been corrupted in some way so that it is either too large or it is not a multiple of the record length.

Parent topic: COBRT181 - COBRT200


COBRT197 Screen handling system initialization error (Fatal)

  • Your display adapter is in the wrong mode.
  • Your screen handling interface has not been correctly initialized because your terminal does not have the required capabilities.
  • Memory has been incorrectly allocated.

Resolution:

The monitor must be in alphanumeric display mode rather than graphics display mode.

Parent topic: COBRT181 - COBRT200


COBRT198 Load failure (Fatal)

A CALL statement has failed because:

  • In the case of a DLL, the specified entry point does not exist in the file
  • In the case of an .int or .gnt file, the file has been corrupted
  • In the case of a call of the form $PROG, name mapping has failed
  • In the case of a call-by-number library routine (CALL data-name, where data-name is a pic x with value greater than x'80'), the routine does not exist

Any call or attempt to start a thread can fail where internal structures have been corrupted; for example, by a protection violation.

A statement of the form SET PROCEDURE POINTER TO ENTRY entry-point has failed because the entry point cannot be found on disk or in the current run-unit.

The Entry Point Mapping facility has found a program on disk with the same name as an alias definition. Whether or not this condition results in a COBRT198 error depends on the setting of the entry_point_mapper_alias_exists_error tunable.

Rarely, this error can be caused by a CALL statement failing because of insufficient available memory or because the run-time system version is too old.

Resolution:

Check that the target of your call exists and has not been corrupted.

Test that a procedure pointer is valid before using it by including code of the form:

set bad-pointer to entry 'just-not-there-ever'...set procedure-pointer to entry 'myentrypoint'if procedure-pointer = bad-pointer display errorend-if
Parent topic: COBRT181 - COBRT200


COBRT199 Operating System error code lies outside expected range (Fatal)

Resolution:

Contact Technical Support who will help you to discover the specific cause of this error.

This error generates a Consolidated Tracing Facility warning event. To capture the generated event you must configure the Consolidated Tracing Facility as follows:

  • Set the trace level for the mf.rts component to WARN, INFO or DEBUG.
  • Set the API or FSYS property of the mf.rts component to TRUE.

If you want the event to appear in the Windows Application Event log you can configure the Consolidated Tracing Facility to do this with configuration entries such as the following:

mftrace.dest = WINEVENT
mftrace.level = WARN

mftrace.emitter.winevent#level = 2
mftrace.comp.mf.rts#api = TRUE

The mftrace.emitter.winevent#level = 2 entry is required because by default the WINEVENT emitter does not output any events below level 3 (ERROR).

In previous versions of this COBOL system, the error returned by the system call was written to the Windows Application Event log. You can revert to this behavior by setting the os_error_log tunable to true. If you set os_error_log to true and configure the Consolidated Tracing Facility as described above, each COBRT199 error causes two entries to be written to the Windows Application Event log.

Parent topic: COBRT181 - COBRT200


COBRT200 Run-time system internal logic error (Fatal)

Alternatively, your run-time system has stopped as a result of an internal logic error from which you cannot recover.

Resolution:

Free some memory and then you should be able to run your program successfully.

Contact Technical Support who will help you to discover the cause of the error.

Parent topic: COBRT181 - COBRT200


COBRT201 - COBRT220

  • COBRT201 I-O error in paging system (Fatal)
    No room is available in your current directory or on the floppy disk which you are using, for the paging file.
  • COBRT203 CALL parameter not supplied (Fatal)
    The item you are trying to access in the Linkage Section of the currently executing program has not been initialized.
  • COBRT205 Invalid mainframe pointer value (Fatal)
    You are trying to reference an invalid mainframe address.
  • COBRT206 Reading unwritten data from memory (Fatal)
    You are trying to read data which has not been written, from the core file.
  • COBRT207 Machine does not exist (Recoverable)
    You have tried to access a machine that is not connected to your network, or which is not on-line.
  • COBRT208 Error in multi-user system (Fatal)
    This is normally caused by an unexpected error occurring in the network or file-sharing facilities. A corrupted network message also causes this error to be returned.
  • COBRT209 Network communication error (Recoverable)
    This is normally given if an incorrect checksum has been received in a communications packet.
  • COBRT210 File is closed with lock (Fatal)
    You have tried to open a file which you have previously closed with lock.
  • COBRT211 Program not executable by Run-Time System (Fatal)
    An attempt was made to run a program that is incompatible with the currently-specified run-time system. For example, system executable, shared library, and callable shared object files that have been linked using older COBOL systems could be incompatible.
  • COBRT212 Run-Time System version incompatible with object-oriented program (Fatal)
    You attempted to run an OO program that was compiled using a version of your COBOL system that is incompatible with the OO support provided in the run-time system you are using.
  • COBRT213 Too many locks (Recoverable)
    You have either tried to exceed the maximum number of simultaneous record locks per file you can have, or you have exhausted an operating system or network resource; for example dynamic memory.
  • COBRT214 GO TO has not been ALTERed (Fatal)
    You have violated one of the general rules of COBOL programming.
  • COBRT215 Cannot DEBUG a program running COMMUNICATIONS (Fatal)
    You have tried to debug a program which makes use of the communications module. This cannot be done as both Debugger and the communications module need full use of the CRT.
  • COBRT216 Cannot initialize the named communications device (Fatal)
    A device driver is probably missing.
  • COBRT217 Incompatible host for native code file (Fatal)
    The .gnt file is not valid for the host processor.
  • COBRT218 Malformed MULTIPLE REEL/UNIT file (Fatal)
    Either your file header is not correctly formatted, or you are not using a MULTIPLE REEL/UNIT file.
  • COBRT219 Operating system shared file limit exceeded (Recoverable)
    You have tried to exceed your operating system's limit on the number of shared files that you can have open simultaneously. As this figure is operating system dependent, you should consult your Release Notes for details of how many shared files your system permits to be open at any one time.
  • COBRT220 Attempt to execute more than one SORT or MERGE simultaneously (Fatal)
    You have coded your program in such a way that it is trying to execute more than one SORT or MERGE operation at the same time. For example, you might have coded a SORT statement in the input or output procedure of another SORT statement, an operation that is specifically prohibited under the rules of ANSI COBOL.
Parent topic: Run-time System Error Messages


COBRT201 I-O error in paging system (Fatal)

Resolution:

When your program has terminated, delete any files which you no longer need from your directory to make room for the paging file, or insert a new floppy disk.

Parent topic: COBRT201 - COBRT220


COBRT203 CALL parameter not supplied (Fatal)

Resolution:

Recode your program to ensure that it contains all of the necessary parameters, or check that it is a valid caller.

Parent topic: COBRT201 - COBRT220


COBRT205 Invalid mainframe pointer value (Fatal)

Resolution:

Check the logic of your program, and recode the appropriate statements.

Parent topic: COBRT201 - COBRT220


COBRT206 Reading unwritten data from memory (Fatal)

Parent topic: COBRT201 - COBRT220


COBRT207 Machine does not exist (Recoverable)

Resolution:

Make sure the machine is connected to the network and is on-line, then try to access it again.

Parent topic: COBRT201 - COBRT220


COBRT208 Error in multi-user system (Fatal)

Resolution:

Retry the unsuccessful operation. If the error persists, contact Technical Support who will help you to discover the specific cause of this error.

Parent topic: COBRT201 - COBRT220


COBRT209 Network communication error (Recoverable)

Resolution:

Your program should continue to execute after you have received this error but results might be undefined.

Parent topic: COBRT201 - COBRT220


COBRT210 File is closed with lock (Fatal)

Resolution:

Recode your program to avoid opening a file which has previously been closed with lock.

Parent topic: COBRT201 - COBRT220


COBRT211 Program not executable by Run-Time System (Fatal)

On dual 32-bit/64-bit COBOL systems, all code must be compiled and linked using the same word length. A 64-bit run-time system does not run programs compiled and/or linked on 32-bit platforms or in 32-bit mode. Similarly, a 32-bit run-time system does not run programs compiled and/or linked on 64-bit platforms in 64-bit mode.

Resolution:

Recompile and/or relink your program so that it is compatible with the current run-time system.

Parent topic: COBRT201 - COBRT220


COBRT212 Run-Time System version incompatible with object-oriented program (Fatal)

Resolution:

Recompile and/or relink your program so that it is compatible with the current run-time system.

Parent topic: COBRT201 - COBRT220


COBRT213 Too many locks (Recoverable)

Resolution:

Execute a COMMIT or an UNLOCK operation on the relevant file and you should then be able to continue to run your program. You should try not to retain a record lock for longer than is necessary.

Parent topic: COBRT201 - COBRT220


COBRT214 GO TO has not been ALTERed (Fatal)

Resolution:

Close any files which might be open, execute a STOP RUN statement and then edit your program to avoid such illegal operations.

Parent topic: COBRT201 - COBRT220


COBRT215 Cannot DEBUG a program running COMMUNICATIONS (Fatal)

Resolution:

You should run your program without the aid of Debugger.

Parent topic: COBRT201 - COBRT220


COBRT216 Cannot initialize the named communications device (Fatal)

Resolution:

Ensure that all communications drivers are loaded before you try to run Communications.

Parent topic: COBRT201 - COBRT220


COBRT217 Incompatible host for native code file (Fatal)

Resolution:

You must resubmit your program to your COBOL system.

Parent topic: COBRT201 - COBRT220


COBRT218 Malformed MULTIPLE REEL/UNIT file (Fatal)

Resolution:

You should try to run your program again using a backup copy of the relevant file.

Parent topic: COBRT201 - COBRT220


COBRT219 Operating system shared file limit exceeded (Recoverable)

Resolution:

Close some of the open shared files you are no longer accessing and retry the file operation.

Parent topic: COBRT201 - COBRT220


COBRT220 Attempt to execute more than one SORT or MERGE simultaneously (Fatal)

Alternatively you are trying to sort or merge a file that is not open with the correct permissions.

Alternatively you have set the TMP environment variable to point to a directory that does not exist.

Alternatively you are trying to run a SORT with a SORTSPACE too small to do so.

Alternatively the SORTSPACE you have set is too small for the SORT you are performing.

Resolution:

Recode your program to ensure that it does not execute more than one SORT or MERGE at any one time.

Check that the files are open with the correct permissions.

Set $TMP to point to a directory that does exist or unset $TMP.

Set SORTSPACE to something more appropriate.

Either increase SORTSPACE or set SORTSCHEME=0 if it is set.

Parent topic: COBRT201 - COBRT220


COBRT221 - COBRT240

  • COBRT222 Merge files out of sequence (Fatal)
    An attempt to merge two files has been unsuccessful. One or more of your files might be out of sequence.
  • COBRT223 NLS language expansion error (Fatal)
    You have used the SORT verb, but the output buffer is not large enough.
  • COBRT224 External Language Initialization failure
  • COBRT225 Dynamic load error - program component missing (Fatal)
    The run-time system cannot locate the root or overlay of a program that is currently loaded in memory.
  • COBRT226 EXTERNAL file definition inconsistent
    Two or more programs define the same external file but with different formats. For example, maximum and minimum record lengths might be different.
  • COBRT227 EXTERNAL data definition inconsistent (Fatal)
    Two or more programs are defining the same external data item, but the first loaded program has defined the size differently from the second or subsequent loaded program.
  • COBRT228 Could not allocate memory for EXTERNAL item (Fatal)
  • COBRT229 SORT/MERGE module does not support EXTERNAL using/giving files (Recoverable)
    You have tried a SORT or MERGE operation which has USING/ GIVING files which are defined as EXTERNAL. The SORT/ MERGE module does not support USING/ GIVING files defined as EXTERNAL.
  • COBRT231 GENERATE encountered before corresponding INITIATE in report (Fatal)
    A GENERATE (Report Writer syntax) statement has been executed before a corresponding INITIATE statement.
  • COBRT235 Error in debugger communications channel (Fatal)
    The Debugger has encountered system limits or conflicts resulting in communications errors.
  • COBRT236 Debugged program has terminated unexpectedly (Fatal)
    A program you are debugging has terminated without following the standard run-time system shut-down process. The termination was probably either initiated by the user or caused by a severe run-time error.
  • COBRT237 Unable to initialize debugged process (Fatal)
    The Debugger has encountered system limits in starting your program. The debugged program cannot start because of insufficient memory .
  • COBRT238 STOP RUN encountered during GNT animation (Informational)
    The Debugger has encountered a STOP RUN statement while debugging your .gnt code program.
  • COBRT239 Shared run-time system initialization failure (Informational)
    You are calling a COBOL module from a non-COBOL program, and have not initialized the shared run-time system.
  • COBRT240 Object reference not valid (Fatal)
    You have tried to use an object reference that contains an incorrect or non-existent object handle.
Parent topic: Run-time System Error Messages


COBRT222 Merge files out of sequence (Fatal)

Resolution:

Make sure that the files you are trying to merge are in sequence.

Parent topic: COBRT221 - COBRT240


COBRT223 NLS language expansion error (Fatal)

Resolution:

Use either the SORTNLSEXPAND or SORTNLSOVERHEAD environment variable to control the values used by SORT when calling CBL_NLS_TRANSFORM.

SORTNLSEXPAND calculates the output buffer given the input buffer.

The value of SORTNLSOVERHEAD is added to the length of the output buffer after using SORTNLSEXPAND.

The default values for both is 6.

Parent topic: COBRT221 - COBRT240


COBRT224 External Language Initialization failure

Parent topic: COBRT221 - COBRT240


COBRT225 Dynamic load error - program component missing (Fatal)

Alternatively, you have insufficient memory to load your program.

Alternatively, the run-time system could not find enough file handles to open and, therefore, load the code.

Resolution:

Either the library that contained the program has been canceled, or the program is no longer available on the program search path. Ensure that the program is available either on disk or on an open library.

Either free some memory or restructure your application so that it uses less memory.

Increase your operating system file handles limit.

Parent topic: COBRT221 - COBRT240


COBRT226 EXTERNAL file definition inconsistent

Resolution

Make sure that all of your programs define the external file with the same format so that they are consistent. It is useful to have the file definition in a COPY file.

Parent topic: COBRT221 - COBRT240


COBRT227 EXTERNAL data definition inconsistent (Fatal)

Resolution:

Make sure that both or all of your programs define the size of the external data item as being the same.

Parent topic: COBRT221 - COBRT240


COBRT228 Could not allocate memory for EXTERNAL item (Fatal)

Parent topic: COBRT221 - COBRT240


COBRT229 SORT/MERGE module does not support EXTERNAL using/giving files (Recoverable)

Resolution:

Recompile your program to use the callable SORT module (EXTSM).

Parent topic: COBRT221 - COBRT240


COBRT231 GENERATE encountered before corresponding INITIATE in report (Fatal)

Resolution:

Correct by revising your program execution flow.

Parent topic: COBRT221 - COBRT240


COBRT235 Error in debugger communications channel (Fatal)

Resolution:

Copy the debugged program file to a different directory and try debugging.

Parent topic: COBRT221 - COBRT240


COBRT236 Debugged program has terminated unexpectedly (Fatal)

Resolution:

Run your program without debugging to determine if it runs successfully; if so, debug the program without cross-session or intrasession debugging.

Parent topic: COBRT221 - COBRT240


COBRT237 Unable to initialize debugged process (Fatal)

Resolution:

Debug your program when the load on the system has reduced. Run the program without debugging to determine if it runs successfully; if so, debug the program without cross-session or intrasession debugging. Ask your system administrator to expand the number of process slots and virtual memory page maps.

Parent topic: COBRT221 - COBRT240


COBRT238 STOP RUN encountered during GNT animation (Informational)

Resolution:

Step or Zoom the debugged program, and the Debugger will terminate the program and its current session.

Parent topic: COBRT221 - COBRT240


COBRT239 Shared run-time system initialization failure (Informational)

Resolution:

Ensure that your application calls the cobinit() function before executing any COBOL modules. See your COBOL System Referencefor more information about the cobinit() function.

Parent topic: COBRT221 - COBRT240


COBRT240 Object reference not valid (Fatal)

Resolution:

Ensure that the object reference uses the correct object handle, and that your program has not previously destroyed the object by sending it a Finalize message.

Parent topic: COBRT221 - COBRT240


COBRT241 - COBRT260

  • COBRT221 Internal sort error (Fatal)
  • COBRT241 Cannot instantiate an abstract class (Fatal)
    You have tried to create an instance of a class that has been declared ABSTRACT. Such classes cannot be instantiated.
  • COBRT242 Could not resolve DoesNotUnderstand message (Fatal)
    The run-time system could not resolve the DoesNotUnderstand message. This is usually because you have defined a class in such a way that this method cannot be found.
  • COBRT243 Class could not be loaded (Fatal)
    An attempt to load an object class has failed because the class does not contain a valid Class-Control section, or because the class is not defined correctly.
  • COBRT244 Licensing initialization error (Fatal)
    An error occurred initializing the run-time license.
  • COBRT245 There are no valid product licenses (Fatal)
    There are no run-time licenses installed on either the local machine or license server, or all the licenses have expired.
  • COBRT246 Maximum number of product licenses exceeded (Fatal)
    All the run-time licenses installed on either the local machine or on the license server are in use.
  • COBRT247 Licensing error (Fatal)
    A error occurred whilst trying to get a run-time license.
  • COBRT249 Process killed (signal-number) (Fatal)
    The run-time system has passed a a SIGTERM signal to a service execution process (SEP) running on an enterprise server. This may occur for the following reasons:
  • COBRT250 Not enough mainframe address space to load or run the program (Fatal)
    This program has been compiled with one of the compiler directives AMODE(24) or AMODE(31), which request the program's data division be registered with the Mainframe Pointer Manager. However, there is not enough free mainframe address space to allow this. For example, if you have compiled with the AMODE(24) compiler directive, the total address space required for your program's data division should not exceed 16 megabytes.
  • COBRT251 Attempt to load AMODE(24) program when current setting is AMODE(31) only (Fatal)
    The settings for the current project indicate that only AMODE(31) programs can be invoked, but an attempt was made to invoke an AMODE(24) program.
  • COBRT252 Memory corruption detected (Fatal)
    The run-time system has detected a memory corruption in a block of memory that it had previously allocated.
  • COBRT253 Cannot load file - unsupported format (Fatal)
    The file specified is not recognized as a format that the run-time system can load and execute.
  • COBRT254 Keyboard interrupt to ANIMATOR during ACCEPT (Fatal)
    While using Animator you have terminated your program with a keyboard interrupt.
Parent topic: Run-time System Error Messages


COBRT221 Internal sort error (Fatal)

Resolution:

Contact Technical Support who will help you to discover the cause of the error and how it can be rectified.

Parent topic: COBRT241 - COBRT260


COBRT241 Cannot instantiate an abstract class (Fatal)

Resolution:

Ensure that you have specified the correct class name. Check to see if there is a subclass that you should use instead.

Parent topic: COBRT241 - COBRT260


COBRT242 Could not resolve DoesNotUnderstand message (Fatal)

Resolution:

Check the logic in your program to ensure that it invokes only methods that are supported by the object, or ensure that the object supports the DoesNotUnderstand method.

Parent topic: COBRT241 - COBRT260


COBRT243 Class could not be loaded (Fatal)

Resolution:

Check the definition of the class.

Parent topic: COBRT241 - COBRT260


COBRT244 Licensing initialization error (Fatal)

Additional information regarding this error is available in a CTF trace.

Resolution

Ensure that the license server installer is run on the local machine.

Parent topic: COBRT241 - COBRT260


COBRT245 There are no valid product licenses (Fatal)

Resolution

Run the License System Administration tool CESAdminTool and install run-time licenses.

Parent topic: COBRT241 - COBRT260


COBRT246 Maximum number of product licenses exceeded (Fatal)

Resolution

Run the License System Administration tool CESAdminTool and install additional run-time licenses.

Parent topic: COBRT241 - COBRT260


COBRT247 Licensing error (Fatal)

Additional information is displayed after the error message and/or in a CTF trace.

Resolution

Either run the CESAdminTool on the local machine or resolve any issues on the license server or with the network.

Parent topic: COBRT241 - COBRT260


COBRT249 Process killed (signal-number) (Fatal)

  • Implicitly as part of MSS's runaway task processing when the server manager notices that a CICS transaction appears to be looping.

Resolution:

Investigate the reason for the service or CICS transaction looping, for example, by analysing enterprise server dumps or traces, or by animating the service or transaction.

Parent topic: COBRT241 - COBRT260


COBRT250 Not enough mainframe address space to load or run the program (Fatal)

Resolution:

Reduce the amount of mainframe address space required by cancelling any other AMODE programs that are not currently in use.

Parent topic: COBRT241 - COBRT260


COBRT251 Attempt to load AMODE(24) program when current setting is AMODE(31) only (Fatal)

Resolution:

Either change the current project settings to allow for the invocation of AMODE(24) programs, or recompile the program that was causing the error as AMODE(31).

Parent topic: COBRT241 - COBRT260


COBRT252 Memory corruption detected (Fatal)

Resolution:

You need to isolate the actual point in execution where the memory corruption occurs the investigate the cause. To do this you could:

  • Run with a memory strategy that indicates that memory is to be validated each time an allocation or free operation occurs (will have a major effect on performance)
  • Add calls to CBL_MEM_VALIDATE() at appropriate points in the application
Parent topic: COBRT241 - COBRT260


COBRT253 Cannot load file - unsupported format (Fatal)

Parent topic: COBRT241 - COBRT260


COBRT254 Keyboard interrupt to ANIMATOR during ACCEPT (Fatal)

Parent topic: COBRT241 - COBRT260


Tools

  • Introduction to the Consolidated Tracing Facility
  • FaultFinder
    FaultFinder is an aid to debugging production applications. It enables you to to obtain a text-based report on the state of an application at the time of any abnormal application termination. The report is a snapshot of the application at the time of failure and identifies items such as open files, file buffers, loaded programs, and so on.
  • Profiler


Introduction to the Consolidated Tracing Facility

The Consolidated Tracing Facility (CTF) is a tracing infrastructure that enables you to quickly and easily produce diagnostic information detailing the operation of Micro Focus software components and your own programs.

To create tracing information using CTF, you need to set up the environment appropriately.

You also need to create a side file, the CTF configuration file, to define the tracing information you want to capture. For example, you can define:

  • The application to trace. Tracing information of a number of Micro Focus software components can be enabled. See Components Traced by CTF .

    You can also produce tracing information for your own programs by using library routines that give you access to CTF infrastructure. See Consolidated Tracing Facility Routines.

  • The severity level of tracing messages to capture. See CTF Configuration File.
  • The emitters to produce the tracing information (such as text or binary). See Emitter List.
  • To enable CTF tracing
  • Components Traced by CTF
  • Configuration File for CTF
  • Emitter List
  • Tracing Examples
Parent topic: Tools


To enable CTF tracing

  1. Set the MFTRACE_CONFIG environment variable to point to the configuration file, before you invoke the application. For example:
    set MFTRACE_CONFIG=c:\ctf\ctf.cfg
  2. Specify the format of CTF trace files you require by adding the appropriate lines in the configuration file ctf.cfg, or, if developing .NET managed code, a configuration file app.cfg located in the same folder as the associated app.exe file, such as:
    mftrace.dest = binfile
mftrace.emitter.binfile#location  = c:\logs
mftrace.level.mf.rts              = info
mftrace.comp.mf.rts#pgm           = true
mftrace.comp.mf.rts#pgmload       = true
mftrace.comp.mf.rts#syspgm        = true
  3. Set the MFTRACE_LOGS environment variable to specify the location in which to create the CTF log files. If MFTRACE_LOGS is not set, the current folder is used. Your COBOL development system's command prompt sets MFTRACE_LOGS to the base\mftrace\logs directory.
  4. Run the application from the environment you set up.
  5. If you are using the .NET environment, instead of setting the MFTRACE_CONFIG variable you can configure CTF tracing in an app.config file in the same folder as its associated app.exe file. The configuration statements must be inserted in an <mftrace_config> section in the <configSections> as CDATA. For example:
    <?xml version ="1.0"?>
  <configuration>
    <configSections>
      <sectionGroup name="MicroFocus.COBOL.Tracing">
        <section name="mftrace_config"
         type="MicroFocus.COBOL.Runtime.CdataSectionHandler,
         MicroFocus.COBOL.Runtime.Win32,Version=4.0.0.0,Culture=neutral,
         PublicKeyToken=0412c5e0b2aaa8f0" />
      </sectionGroup>
    </configSections>
    <MicroFocus.COBOL.Tracing>
      <mftrace_config>
        <![CDATA[>
mftrace.dest                           = binfile
mftrace.emitter.binfile#location       = c:\logs
mftrace.level.mf.rts                   = info
mftrace.comp.mf.rts#pgm                = true
mftrace.comp.mf.rts#pgmload            = true
mftrace.comp.mf.rts#syspgm             = true
        <]]>
      </mftrace_config>
    </MicroFocus.COBOL.Tracing>
  </configuration>
    Note: If the MFTRACE_CONFIG variable is set, CTF will use it in preference to an app.config file.
Parent topic: Introduction to the Consolidated Tracing Facility


Components Traced by CTF

The Consolidated Tracing Facility (CTF) can produce tracing information for the components listed below:

  • mf.cci.smem Properties
  • mf.cci.tcp Properties
  • mf.ede.mfeditor Properties
    Editor engine
  • mf.ede.textmgr Properties
    Editor text manager
  • mf.esmssql Properties
  • mf.esodbcxa Properties
  • mf.ide Properties
    Integrated Development Environment (IDE).
  • mf.mffh.fs Properties
    Fileshare
  • mf.mffh.xfh Properties
    File Handler system
  • mf.mffh.xsm Properties
    Sort
  • mf.mvs.casspool Properties
    JCL workload management
  • mf.mvs.mvscatio Properties
    JES system catalog
  • mf.mvs.mfjcl Properties
  • mf.rts Properties
Parent topic: Introduction to the Consolidated Tracing Facility
Related information
Introduction to the Consolidated Tracing Facility


mf.cci.smem Properties

Parent topic: Components Traced by CTF


mf.cci.tcp Properties

Parent topic: Components Traced by CTF


mf.ede.mfeditor Properties

The following table lists the properties of the mf.ede.mfeditor component and shows the event information that can be included in the trace for each property.

The properties of the mf.ede.mfeditor component provide information about the behavior of the editor engine, which provides support for the common interactions that are performed when editing source files.

Property | Property Description | Level | Event Id | Event Description
CLOSE | Close functions. | DEBUG | 3 | Text strings indicating the results of the different functions and callbacks that occur when a file is closed in the editor.
COPYBOOK | Copybook functions. | DEBUG | 3 | Text strings indicating the results of copybook-related operations within a given source stream. Information is also returned on searches for copybooks using .idy files or COBCPY and other environment variables.
CUTCOPY | Clipboard functions. | DEBUG | 3 | Text strings indicating the results of cut, copy and paste functions.
ENTRY | Entry to and exit from the editor functions. | DEBUG | 3 | Text string indicating entry to or exit from the editor fuctions, return code and function codes.
SAVE | Save functions. | DEBUG | 3 | Text strings indicating the results of save functions.
Parent topic: Components Traced by CTF
Related information
Introduction to the Consolidated Tracing Facility
Components Traced by CTF


mf.ede.textmgr Properties

The following table lists the properties of the mf.ede.textmgr component and shows the event information that can be included in the trace for each property.

The properties of the mf.ede.textmgr component provide information about the behavior of the editor's text manager, which provides the low-level support for editing source files.

Property | Property Description | Level | Event Id | Event Description
CLOSE | Close functions. | DEBUG | 3 | Text strings indicating the results of the different functions and callbacks that occur when a file is closed in the editor.
COPYBOOK | Copybook functions. | DEBUG | 3 | Text strings indicating the results of copybook-related operations within a given source stream. Information is also returned on searches for copybooks using .idy files or COBCPY and other environment variables.
CUTCOPY | Clipboard functions. | DEBUG | 3 | Text strings indicating the results of cut, copy and paste functions.
ENTRY | Entry to and exit from the editor functions. | DEBUG | 3 | Text string indicating entry to or exit from the editor fuctions, return code and function codes.
SAVE | Save functions. | DEBUG | 3 | Text strings indicating the results of save functions.
Parent topic: Components Traced by CTF
Related information
Introduction to the Consolidated Tracing Facility
Components Traced by CTF


mf.esmssql Properties

Parent topic: Components Traced by CTF


mf.esodbcxa Properties

Parent topic: Components Traced by CTF


mf.ide Properties

The following table lists the properties of the mf.ide component and shows the event information that can be included in the trace for each property.

The properties of the mf.ide component provide information about the behavior of the integrated development environment (IDE).

Property | Property Description | Level | Event Id | Event Description
DEBUG | Debugging of enterprise server SEPs. | DEBUG | 3 | Text strings indicating the status of various debugging operations.
EDIT | Editor functions. | DEBUG | 3 | Text strings indicating the status of editing-related operations that span more than one section of the IDE.
IDELOAD | IDE loading. | DEBUG | 3 | Text strings indicating the progress of loading, finishing when the IDE is loaded and initialized.
IDEVCS | Source code control system support. | DEBUG | 3 | Text strings indicating interaction with source code control systems.
SPFEDIT | SPF edit functions and all SPF line commands and the lines upon which they are operating. | DEBUG | 3 | Text strings indicating line commands, the line upon which the operation is occurring, and the results of processing.
VSXPRJ | Calls to Micro Focus Common Client (MFCC). The IDE uses the MFCC infrastructure to determine which enterprise servers to interact with. | DEBUG | 3 | Progress through MFCC calls and returned values along with an indication of logic flow.
 |  | ERROR | 3 | Text string indicating an enterprise server repository that has been found to be corrupt.
VSXREST 1 | VSXREST functions. | DEBUG | 3 | Text strings indicating different trace points in the VSXREST section of the IDE.
Parent topic: Components Traced by CTF
Related information
Introduction to the Consolidated Tracing Facility
Components Traced by CTF
1 VSXREST is the part of the IDE responsible for editing and debugging.


mf.mffh.fs Properties

The following table lists the properties of the mf.mffh.fs component and shows the event information that can be included in the trace for each property.

The properties of the mf.mffh.fs component provide information about the behavior of Fileshare.

Property | Property Description | Level | Event Id | Event Description
ALL |  | - | - | Enables all of the XFH properties
FILE:* | Trace all files | - | - | Enable/Disable tracing on all files
FILE:<filename> | Trace specific file | - | - | Enable/Disable tracing on specific file
BASE | Base events | DEBUG/INFO | 200 | Entry
 |  |  | 201 | Exit
COMMS | COMMS Call (Send receive in FHRSUB only) | DEBUG | 202 | COMMS Entry
 |  |  | 203 | COMMS Return

Parent topic: Components Traced by CTF


mf.mffh.xfh Properties

The following table lists the properties of the mf.mffh.xfh component and shows the event information that can be included in the trace for each property.

Property | Property Description | Level | Event Id | Event Description
ALL |  | - | - | Enables all of the XFH properties
FILE:* | Trace all files | - | - | Enable/Disable tracing on all files
FILE: <filename> | Trace specific file | - | - | Enable/Disable tracing on specific file
BASE | Enable/Disable base events | INFO | 1 | Entry
 |  |  | 2 | Exit
 |  |  | 3 | Call File Handler
 |  |  | 4 | File Handler Exit
 |  |  | 5 | Initialization Start
 |  |  | 6 | Initialization End
 |  |  | 7 | Final Start
 |  |  | 8 | Final End
 |  |  | 9 | Processing other Exit
 |  |  | 11 | Base Entry Point
 |  |  | 18 | Call Module
 |  | DEBUG | 19 | Allocate Handle
 |  |  | 20 | De-allocate Handle
 |  |  | 21 | Dynamic Custom File Handler Library loaded
 |  |  | 22 | Dynamic Custom File Handler Load Failure
 |  |  | 23 | Dynamic Custom File Handler Loaded
 |  |  | 24 | Dynamic Custom File Handler Environment Parsing Failure
 |  |  | 25 | Dynamic Custom File Handler environment set
MEMORY | Memory allocation and de-allocation events | DEBUG/ ERROR | 12 | Memory allocated
 |  |  | 13 | Memory Re-allocated
BSIO | Byte Steam layer events | INFO | 100 | Open
 |  |  | 101 | Open output
 |  |  | 102 | Delete
 |  |  | 103 | Copy
 |  |  | 104 | Rename
 |  |  | 105 | Close
 |  |  | 106 | Read
 |  |  | 107 | Seek end
 |  |  | 108 | Write
 |  |  | 109 | Set sema
 |  |  | 110 | Release sema
 |  |  | 111 | Lock file
 |  |  | 112 | Unlock file
 |  |  | 113 | Unlock
 |  |  | 114 | Test lock
 |  |  | 115 | Get lock
 |  |  | 116 | Release lock
 |  |  | 117 | Flush file
 |  |  | 118 | Configuration info
 |  |  | 119 | Message
 |  |  | 120 | Pass through
 |  |  | 121 | Get parameters
JSEB | Calls to JSEB events | - | 16 | JSEB Base
CATALOG | Calls to Catalog events | - | 17 | Catalog Base
CONFIG | Configuration setting events | INFO | 10 | Processing name
 |  |  | 14 | Change Processing name
 |  |  | 15 | 9/139 Error
Parent topic: Components Traced by CTF


mf.mffh.xsm Properties

The following table lists the properties of the mf.mffh.xsm component and shows the event information that can be included in the trace for each property.

The properties of the mf.mffh.xsm component provide information about the behavior of Sort.

Property | Property Description | Level | Event Id | Event Description
ALL |  | - | - | Enables all of the XFH properties
 |  | DEBUG | 1 | EXTSM Entry
 |  |  | 2 | EXTSM Exit
 |  |  | 300 | Flush temp file

Parent topic: Components Traced by CTF


mf.mvs.casspool Properties

The following table lists the properties of the mf.mvs.casspool component and shows the event information that can be included in the trace for each property.

The properties of the mf.mvs.casspool component provide information about JCL workload management, such as job submission, dispatch, printing and held SYSOUT.

Property | Property Description | Level | Event Id | Event Description
ACTIVE | Movement of a job into active status. The job is given to the batch initiator for execution and upon completion of the job the batch initiator signals that it is ready for more work. | DEBUG | 4 | Compiled JCL has been executed.
COMP | Submission of JCL by Enterprise Server to be syntax checked. | DEBUG | 2 | A JCL file has been submitted for syntax scanning.
DELETE Removal of a job from the input, output, held, printing or active queues. DEBUG 7 A job has been removed from one of these quese. This could have occurred for the following reasons:
  • an active job has been killed
  • output has been requeued
  • a purge has taken place
DISP | Movement of a job from the input queue so that it can be executed by a batch initiator. | DEBUG | 3 | The next available compiled JCL for a given class and priority has been requested for scheduling in an available batch initiator.
OPEN | Opening and closing of the casspool.dat file. | DEBUG | 10 | casspool.dat is accessed when starting and stopping an initiator, initializing and terminating an enterprise server, and restarting a generic SEP.
OUTPUT | Movement of a job that has completed from the active queue to the output queue and performing of any associated cleanup tasks. | DEBUG | 5 | Compiled JCL has finished executing.
PRINT | Routing of a job to a batch printer or a batch printer exit. | DEBUG | 9 | This routing occurs upon job completion for active batch printers or when a SYSOUT is driven to the printer by requeuing.
REPL Replacement of a job that has either been made active or had been requested for execution into either the input or output queues. DEBUG 6 A job bas been replaced. This could have happened for the following reasons:
  • the job was previously active and canceled
  • a protection violation occurred in the batch initiator
  • a protection violation occurred in one of your programs
  • job was canceled by the operator

If the job was previously active it is moved to the output queue for review. If it was never made active then it is replaced in the input queue.

RETRIEVE | Requests to retrieve information about a job or SYSOUT DDs that are associated with a job. | DEBUG | 8 | These requests typically occur because of an interaction with ESMAC or when the casout utility needs to retrieve SYSOUT information.
Parent topic: Components Traced by CTF
Related information
Introduction to the Consolidated Tracing Facility
Components Traced by CTF


mf.mvs.mvscatio Properties

The following table lists the properties of the mf.mvs.mvscatio component and shows the event information that can be included in the trace for each property.

The properties of the mf.mvs.mvscatio component provide information about the JES system catalog, which maintains the relationship between the native file system and the MVS/VSE form of data set names.

Property | Property Description | Level | Event Id | Event Description
BUFFER | Buffer for MVSCATIO files. | DEBUG | 5 | The buffer used for MVSCATIO files in binary format. This is useful for subrecord tracing.
DELETE | Functions that occur when an MVSCATIO DLET function code is executed. | DEBUG | 3 | Unexpected failures, and information such as whether a file was able to be physically deleted or if alternate indexes were processed.
ENQUE | Enqueues on a record. | DEBUG | 3 | Data set records that are being locked and waited for.
ENTRY | Entry to or exit from MVSCATIO. | DEBUG | 3 | Primary key, file status, and return codes for a given call to MVSCATIO. This is very useful for diagnosing general problems with MVSCATIO.
MFALU | Mainframe Access lookups and their success or failure. | DEBUG | 3 | MVSCATIO calls that caused a Mainframe Access lookup to occur and whether or not the lookup was successful.
PHYS | Physical file name associated with a catalog entry. | DEBUG | 7 | The physical file name. This is useful in conjunction with the ENTRY property when trying to establish which physical files are associated with a given MVS name.
RECORDS | Catalog records. | DEBUG | 6 | The entire catalog record for a given I/O operation in binary form. This provides additional information that is not available when using the ENTRY property.
Parent topic: Components Traced by CTF
Related information
Introduction to the Consolidated Tracing Facility
Components Traced by CTF


mf.mvs.mfjcl Properties

The following table lists the property of the mf.mvs.mfjcl component and shows the event information that can be included in the trace for it.

Property | Property Description | Level | Event Id | Event Description
memstomp | Memory corruption event | ERROR | 79 | Memory has been corrupted.
Parent topic: Components Traced by CTF
Related information
Introduction to the Consolidated Tracing Facility
Components Traced by CTF


mf.rts Properties

This topic lists the properties of the mf.rts component and shows the event information that can be included in the trace for each property.

The properties of the mf.rts component provide information about the behavior of the run-time system.

no property
Event Level | Event Id | Event Description
INFO | 128 | Start of run-time system initialization. This event applies to native COBOL only.
INFO | 129 | End of run-time system initialization
INFO | 130 | Start of run-time system de-initialization
INFO | 131 | End of run-time system de-initialization
INFO | 132 | Entered a COBOL container. This event applies to native COBOL only.
INFO | 133 | Exited a COBOL container. This event applies to native COBOL only.
INFO | 134 | Link level entered. This event applies to .NET managed code only.
INFO | 135 | Link level exited. This event applies to .NET managed code only.
INFO | 136 | Memory validating. This event applies to native COBOL only.
INFO | 137 | Memory validated. This event applies to native COBOL only.
INFO | 254 | STOP RUN
ERROR | 255 | Run-time system error
ALL
Enables/disables all of the other properties.
API
This property is for .NET managed code only. API events:
Event Level | Event Id | Event Description
INFO | 56 | Entry to API. This event applies to native COBOL only..
INFO | 57 | Exit from API.
CONFIG
This property is for native COBOL only. Run-time configuration event:
Event Level | Event Id | Event Description
INFO | 61 | Run-time configuration operation (e.g. cobconfig file location and entries).
CONTAINER
. This property is for native COBOL only. COBOL container events:
Event Level | Event Id | Event Description
DEBUG | 40 | Server initialization (start/finish)
DEBUG | 41 | Server de-initialization (start/finish)
DEBUG | 42 | Server context initialization (start/finish)
DEBUG | 43 | Server callback (start/finish)
DEBUG | 49 | Request handler function (start/finish)
INFO | 9 | Initializing environment for application running in the COBOL container (start/finish)
INFO | 10 | Invoking application in the COBOL container (start/finish)
INFO | 11 | Restoring initial state following the execution of an application in the COBOL container (start/finish)
INFO | 25 | Request handler trace event
INFO | 46 | Service lookup callback (start/finish)
ERROR | 0 | Request handler "start/next request" error
ERROR | 1 | Request handler "response" error
ERROR | 2 | Request handler "end processing" error
ERROR | 3 | Error loading the main program of the application identified by the request handler "start/next request"
ERROR | 4 | Error loading the package containing the application identified by the request handler "start/next request"
ERROR | 5 | Syncpoint failure
ERROR | 12 | Application termination due to exit from Debugger
ENV
This property applies to native COBOL only. Environment variable events:
Event Level | Event Id | Event Description
INFO and WARN | 60 | Environment variable operation
EXTERNAL
External data events.
Event Level | Event Id | Event Description
INFO | 26 | External data item created
INFO | 27 | External data item destroyed. This event applies to native COBOL only.
ERROR | 28 | External data item size mismatch
FSYS
This property is for native COBOL only. Low-level I/O level events:
Event Level | Event Id | Event Description
INFO | 52 | Entry to I/O function
INFO | 53 | Exit from I/O function
INFO | 54 | Specific I/O operation
JSEM
This property is for native COBOL only. MVS Job Step Execution Manager events:
Event Level | Event Id | Event Description
INFO | 44 | JSEM function entry
INFO | 45 | JSEM function exit
MEMORY
This property applies to native COBOL only. Memory allocation and de-allocation events:
Event Level | Event Id | Event Description
INFO | 13 | Memory allocated
INFO | 14 | Memory freed
INFO | 15 | Memory re-allocated (resized)
INFO | 16 | Re-allocated memory freed
INFO | 17 | Memory remaining allocated at RTS termination
ERROR | 48 | Insufficient low-memory available for PL/I. This property is for native COBOL only.
ERROR | 248 | Memory allocation failure
ERROR | 249 | Memory corruption detected
MFENTMAP
This property applies to native COBOL only. Entry Point Mapper event:
Event Level | Event Id | Event Description
INFO | 55 | Entry Point Mapper function
MFPM
This property applies to native COBOL only. Mainframe Pointer Manager events (AMODE programs):
Event Level | Event Id | Event Description
INFO | 29 | Absolute memory registration
INFO | 30 | External data registration
INFO | 31 | Memory registration
INFO | 32 | Working-storage memory registration
INFO | 33 | External data de-registration
INFO | 34 | Memory de-registration
INFO | 35 | Working-storage memory de-registration
INFO | 36 | Local-storage memory registration
INFO | 37 | Local-storage memory de-registration
ERROR | 250 | MFPM error.
PGM
User program entry, exit, chain, and link events:
Event Level | Event Id | Event Description
INFO | 6 | Program entry
INFO | 7 | Program exit
INFO | 8 | Program chain. This event applies to native COBOL only.
INFO | 18 | Program link. This event applies to native COBOL only.
PGMLOAD
Program load events:
Event Level | Event Id | Event Description
DEBUG | 50 | Subsystem function. This event applies to native COBOL only.
INFO | 19 | .int or .gnt program load
INFO | 20 | Logical cancel
INFO | 21 | Physical cancel. This event applies to native COBOL only.
INFO | 22 | Logical canceled program made live again. This event applies to native COBOL only.
INFO | 23 | DLL or shared object load. This event applies to native COBOL only.
INFO | 24 | DLL or shared object unload. This event applies to native COBOL only.
INFO | 38 | .lbr load. This event applies to native COBOL only.
INFO | 39 | .lbr unload. This event applies to native COBOL only.
ERROR | 251 | Program load error. This event applies to native COBOL only.
PGMSEARCH
Program searcher events:
Event Level | Event Id | Event Description
DEBUG | 58 | Entry to program searcher.
DEBUG | 59 | Exit from program searcher.
SIGNAL
This property applies to native COBOL only.Signal handling events:
Event Level | Event Id | Event Description
ERROR | 252 | Apply previously ‘held’ signal
ERROR | 253 | Signal caught
SYSPGM
System program entry, exit, chain, and link events events:
Event Level | Event Id | Event Description
INFO | 6 | Program entry
INFO | 7 | Program exit
INFO | 8 | Program chain. This event applies to native COBOL only.
INFO | 18 | Program link. This event applies to native COBOL only.
THREAD
Threading and synchronisation events:
Event Level | Event Id | Event Description
INFO | 56 | Entry to API (Threading and synchronisation APIs)
INFO | 57 | Exit from API (Threading and synchronisation APIs)
Parent topic: Components Traced by CTF
Related information
Introduction to the Consolidated Tracing Facility
Components Traced by CTF


Configuration File for CTF

You can configure the behavior of CTF using the CTF configuration file ctf.cfg, whose location is set in the MFTRACE_CONFIG environment variable. If you are using the .NET environment, you can alternatively use an app.config file located in the folder containing the associated app.exe file..

CTF configuration files are processed during run-time system initialization and must be text files. You specify the configuration information as name-value pair entries, with each entry on a separate line, and with lines beginning with ‘#’ treated as comments.

A sample CTF configuration file ctf.cfg is supplied in your COBOL development system ...\examples directory.

You can use the following entries in configuration files:

  • mftrace.application
    Restricts tracing to a specific application.
  • mftrace.comp.component-name#property
    Sets a component's property.
  • mftrace.dest
    Specifies the default output destinations that are to be used when tracing. If you specify multiple mftrace.dest definitions for a given emitter in the configuration file their effect is cumulative.
  • mftrace.dest.component-name
    Specifies additional (or replacement) output destinations that are to be used when tracing a component.
  • mftrace.emitter.emitter-name#property
    Sets an emitter property.
  • mftrace.level
    Specifies the default tracing level to use for all components.
  • mftrace.level.component-name
    Specifies the tracing level to use for a single component.
  • Example CTF Configuration Files
Parent topic: Introduction to the Consolidated Tracing Facility


mftrace.application

Syntax:

mftrace.application=executable-name

Parameters:

executable-name
The name of the executable for the application for which tracing is to be performed. This can be either a fully-qualified or unqualified name. Enclosing the executable name within parentheses indicates that the application is being run under a trigger program (such as run ), and that the second program of the command line is to be used as the real executable name.

Default:

All applications are traceable if you do not set mftrace.application.

Comments:

Use mftrace.application to restrict tracing to a specific application. If the name of the application's executable does not match executable-name, all preceding configuration entries are ignored and the remainder of the configuration file is not processed.

Examples:

To restrict tracing to the myapp executable:

...
mftrace.application=myapp
...

To restrict tracing to the otherapp executable being run under a trigger program:

...
mftrace.application=(otherapp)
...
Parent topic: Configuration File for CTF


mftrace.comp.component-name#property

Syntax:

mftrace.comp.component-name#property-name=property-value

Parameters:

component-name
The name of the component for which the property is to be set. See Component List for a list of available components.
property-name
The name of the component property to set.
property-value
The value of the component property to be set.
If any of the following well-known property case-insensitive values are used, they are held in two forms: the string as given, and a corresponding numeric value. A component can then use CBL_CTF_COMP_PROPERTY_GET to retrieve the numeric value of the property directly without needing to perform its own string conversion.
String Value | Maps to
ON | 1
OFF | 0
YES | 1
Y | 1
NO | 0
N | 0
TRUE | 1
FALSE | 0
ENABLED | 1
DISABLED | 0
numeric-string | n

Component names and property names are case insensitive.

Default:

The properties and their associated values depend on the component.

Comments:

Use mftrace.comp.component-name#property to set the property with the given name and value for the given component. You can set any property name and value, regardless of whether the component actually makes use of it.

You can specify multiple mftrace.comp.component-name#property entries in the configuration file, but an entry that specifies a property for a component that has previously been set overrides the previous property value.

Properties are intended to be used for defining the areas of tracing that are required for the component.

Examples:

To set the Memory and PgmLoad properties for the mf.rts component:

...
mftrace.comp.mf.rts#memory=on
mftrace.comp.mf.rts#pgmload=enabled
...
Parent topic: Configuration File for CTF
Related information
Components Traced by CTF
mf.rts Component Properties
To enable CTF tracing
Configuration File for CTF


mftrace.dest

Syntax:

mftrace.dest=emitter-list

Parameters:

emitter-list
A list of comma- or space-separated emitter names. See Emitter List for a list of available emitters.

Emitter names are case-insensitive.

Default:

mftrace.dest=TEXTFILE

Comments:

TEXTFILE is assumed if no mftrace.dest entry is specified in the configuration file.

Examples:

To specify that tracing events are to be output to file in binary format:

...
mftrace.dest=BINFILE
...

To specify that tracing events are to be output to file in text format and also in binary format:

...
mftrace.dest=TEXTFILE,BINFILE
...

or alternatively:

...
mftrace.dest=TEXTFILE
mftrace.dest=BINFILE
...
Parent topic: Configuration File for CTF
Related information
Emitter List
To enable CTF tracing
Configuration File for CTF


mftrace.dest.component-name

Syntax:

mftrace.dest.component-name=[(]emitter-list[)]

Parameters:

component-name
The component whose trace entries are to be routed to the output destinations identified by emitter-list.
emitter-list
A list of comma-or space-separated emitter names. See Emitter List for a list of available emitters.

If emitter-list is enclosed in parentheses, the component’s trace events will only be routed to those output destinations specified by emitter list and not to any inherited from its parent.

Emitter names are case-insensitive.

Default:

If not set, a component’s output destinations are inherited from its parent.

Comments:

If you specify multiple mftrace.dest.component-name definitions for a given component in the configuration file their effect is cumulative.

Examples:

To specify that tracing events from the mf.rts component are output to a binary file in addition to the default text file that trace events from all other components will be output to. All components that inherit from the mf.rts component (such as mf.rts.err and mf.rts.mem) also have their trace events routed to the a binary file and the default text file:

...
mftrace.level=INFO
mftrace.dest=TEXTFILE
mftrace.dest.MF.RTS=BINFILE
...

To specify that tracing events from the mf.rts component are to be output only to a binary file. All components that inherit from the mf.rts component (such as mf.rts.err and mf.rts.mem) also have their trace events output only to a binary file. All other components’ trace events are output to the default text file:

...
mftrace.level=INFO
mftrace.dest=TEXTFILE
mftrace.dest.MF.RTS=(BINFILE)
...
Parent topic: Configuration File for CTF
Related information
Emitter List
To enable CTF tracing
Configuration File for CTF


mftrace.emitter.emitter-name#property

Syntax:

mftrace.emitter.emitter-name#property-name=property-value

Parameters:

emitter-name
The name of the emitter for which the property is to be set.
property-name
The name of the emitter property to set.
property-value
The value of the emitter property to be set.
If any of the following property case-insensitive values are used, they are held in two forms: the string as given, and a corresponding numeric value. A component can then use CBL_CTF_EMITTER_PROPERTY_GET to retrieve the numeric value of the property directly without needing to perform its own string conversion.
String Value | Maps to
ON | 1
OFF | 0
YES | 1
Y | 1
NO | 0
N | 0
TRUE | 1
FALSE | 0
ENABLED | 1
DISABLED | 0
numeric-string | n

Emitter names and property names are case insensitive.

Default:

The properties and their associated values depend on the emitter.

Comments:

Use mftrace.emitter.emitter-name#property to set the property with the given name and value for the given emitter. You can set any property name and value, regardless of whether the emitter actually makes use of it.

You can specify multiple mftrace.emitter.emitter-name#property entries in the configuration file, but an entry that specifies a property for an emitter that has previously been set overrides the previous property value.

Examples:

To set the trace file name, the number of backup files, and the maximum size of each file in the backup set for the TEXTFILE emitter:

...
mftrace.emitter.textfile#location=e:\logs
mftrace.emitter.textfile#file=mytrace.dat_$(GEN)
mftrace.emitter.textfile#maxgeneration=3
mftrace.emitter.textfile#maxfilesize=200
...

This specifies that mytrace.dat, mytrace.dat_1, mytrace.dat_2, and mytrace.dat_3 would be created in the directory e:\mylogs and each of these files would have a maximum size of 200 Kb.

Parent topic: Configuration File for CTF
Related information
Emitter List
To enable CTF tracing
Configuration File for CTF


mftrace.level

Syntax:

mftrace.level=trace-threshold-level

Parameter:

trace-threshold-level
One of the following case-insensitive values:
NONE | No events are to be traced.
DEBUG | All events are traced. This produces the most verbose output.
INFO | All INFO, WARN, ERROR, and FATAL events are traced.
WARN | All WARN, ERROR, and FATAL events are traced
ERROR | All ERROR and FATAL events are traced
FATAL | Only FATAL events are traced

Default:

mftrace.level=NONE

Comments:

You can specify multiple mftrace.level entries in the configuration file, but an entry specifying a level overrides any level previously specified.

You can override this default tracing level by using mftrace.level.component entries.

Examples:

To set the INFO tracing threshold level:

...
mftrace.level=info
...
Parent topic: Configuration File for CTF
Related information
To enable CTF tracing
Configuration File for CTF


mftrace.level.component-name

Syntax:

mftrace.level.component-name=trace-threshold-level

Parameters:

component-name
The component whose trace threshold level is to be set. Component names are case-insensitive.
trace-threshold-level
One of the following case-insensitive values:
NONE
No events are to be traced.
DEBUG
All events are traced. This produces the most verbose output.
INFO
All INFO, WARN, ERROR, and FATAL events are traced.
WARN
All WARN, ERROR, and FATAL events are traced
ERROR
All ERROR and FATAL events are traced
FATAL
Only FATAL events are traced

Default:

If not set, a component’s trace threshold level is inherited from its parent, or the default trace level if the component does not have a parent. A component's parent is the component that appears to the left of it in component-name. For example, if component-name is mf.rts.subsystem, mf is the parent of rts, and rts is the parent of subsystem.

Comments:

Use mftrace.level.component to specify the level of tracing that is to be performed by the specified component and any components that inherit from it. You can specify multiple mftrace.level.component entries in the configuration file, but an entry that specifies a tracing level for a component that has previously been set overrides the previous setting.

Examples:

To set the WARN tracing threshold level for the mf.rts component and the DEBUG tracing threshold level for all other components:

...
mftrace.level=debug
mftrace.level.mf.rts=warn
...
Parent topic: Configuration File for CTF
Related information
Components Traced by CTF
To enable CTF tracing
mftrace.application
mftrace.comp.component-name#property
mftrace.emitter.emitter-name#property
mftrace.level


Example CTF Configuration Files

Example ctf.cfg file 1

This configuration file traces the COBOL programs' loads, entries, exits and cancels, and creates a text file:

mftrace.emitter.textfile#Format = $(TIME) $(THREAD) $(COMPONENT) $(EVENT) $(LEVEL) :$(DATA)
mftrace.level.mf.rts              = info
mftrace.comp.mf.rts#pgm           = true
mftrace.comp.mf.rts#pgmload       = true
mftrace.comp.mf.rts#syspgm        = true

Example ctf.cfg file 2

This configuration file traces the COBOL programs' loads, entries, exits and cancels, and creates a text file:

mftrace.dest                      = binfile
mftrace.emitter.binfile#location  = c:\logs
mftrace.level.mf.rts              = info
mftrace.comp.mf.rts#pgm           = true
mftrace.comp.mf.rts#pgmload       = true
mftrace.comp.mf.rts#syspgm        = true

where:

  • c:\logs is the location where the trace files for the application is created.
  • binfile indicates that a binary trace file is to be generated

Example app.config file

(For .NET environment only.) This configuration file traces the COBOL programs' loads, entries, exits and cancels, and creates a text file:

<?xml version ="1.0"?>
  <configuration>
    <configSections>
      <sectionGroup name="MicroFocus.COBOL.Tracing">
        <section name="mftrace_config"
         type="MicroFocus.COBOL.Runtime.CdataSectionHandler,
         MicroFocus.COBOL.Runtime.Win32,Version=4.0.0.0,Culture=neutral,
         PublicKeyToken=0412c5e0b2aaa8f0" />
        </sectionGroup>
    </configSections>
    <MicroFocus.COBOL.Tracing>
      <mftrace_config>
        <![CDATA[>
mftrace.dest                           = binfile
mftrace.emitter.binfile#location       = c:\logs
mftrace.level.mf.rts                   = info
mftrace.comp.mf.rts#pgm                = true
mftrace.comp.mf.rts#pgmload            = true
mftrace.comp.mf.rts#syspgm             = true
        <]]>
      </mftrace_config>
    </MicroFocus.COBOL.Tracing>
  </configuration>
Parent topic: Configuration File for CTF


Emitter List

The Consolidated Tracing Facility can output its trace information using any of the emitters listed below:

  • CTF Trace File Formats
  • BINFILE Emitter Properties
    Writes to a binary file
  • IDEDBG Emitter Properties
    Writes to a debugger that is attached to the running process
  • TEXTFILE Emitter Properties
    Writes to a text file.
  • WINEVENT Emitter Properties
Parent topic: Introduction to the Consolidated Tracing Facility


CTF Trace File Formats

CTF is a diagnostic tool that traces running applications and creates trace files in one of two formats: text (the default) or binary.

Text format trace files have the advantage that you can view them in a text editor, but there are a number of disadvantages:

  • Trace files can get very large very quickly.
  • The trace record format needs to be specified before tracing begins (e.g. when tracing a multi-threaded application, the $(THREAD) pseudo-variable needs to be specified to ensure that the thread id appears in each trace record).
  • Trace events are meaningless to nearly everyone except the developer who trace-enabled the application/component.

Binary format trace files cannot be viewed in a text editor, but they provide the following advantages:

  • Compressed format. Usually at least 50% the size of an equivalent text-format trace file.
  • No record format needs to be specified before tracing begins. All relevant information about a trace event is recorded, such as the process id, thread id, date, time, component id, event id, trace data and so on.
Parent topic: Emitter List
Related information
Example CTF Configuration Files
Introduction to the CTF Viewer


BINFILE Emitter Properties

You can view the trace files output by the BINFILE emitter using the CTFViewer utility that is supplied with your develoment system. The format of the trace files is platform independent.

To enable the BINFILE emitter, specify the following statement in the Consolidated Tracing Facility configuration file:

mftrace.dest = BINFILE

The following table lists the properties you can set to control the behavior of the BINFILE emitter:

Property | Description | Default
FILE The name of the trace file to be written. You can use the following pseudo-variables for the construction of the trace file name:
$(APPNAME)
The basename of the executable invoked to start the current process. For example, if run.exeis invoked, $(APPNAME) has the value "run".
$(EMITTER)
Always "BINFILE" for this emitter.
$(GEN)
The generation of the file, starting from 1.
$(PID)
The operating system identifier for the current process
$(APPNAME).$(EMITTER).$(PID).ctb, or $(APPNAME).$(EMITTER).$(PID).ctb_$(GEN) if the MAXGENERATION property has been specified. For example:
  • If the BINFILE emitter is being used to output trace events for run.exe executing as process-id 3456 and the MAXGENERATION property has not been specified, the trace file created will be called run.binfile.3456.ctb .
  • If the binfile emitter is being used to output trace events for myapp.exe executing as process-id 1975 and the MAXGENERATION property has been set to 3, the trace files created will be called myapp.binfile.1975.ctb_1, myapp.binfile.1975.ctb_2, and myapp.binfile.1975.ctb_3.
FLUSHEVERY | The number of trace records that will be output before the file is flushed. 0 indicates that the file will never be explicitly flushed. | 1
LOCATION The folder where the trace files are to be written. The folder specified by the MFTRACE_LOGS environment variable. If MFTRACE_LOGS is not set, the current folder is used.

Your COBOL development system command prompt implicitly sets MFTRACE_LOGS to the base\mftrace\logs directory in your COBOL development system installation.

If the folder specified by the LOCATION property does not exist, the Consolidated Tracing Facility tries to create it. If this fails, the Consolidated Tracing Facility uses the default location (as specified by the MFTRACE_LOGS environment variable). If this fails, the current folder is used.

MAXFILESIZE | The maximum amount of data (in Kb) that will be written to the trace file before the file is closed and the next trace file in the generation sequence is opened. The first trace file in a generation sequence results in the $(GEN) pseudo-variable (see the description of the FILE property, above) being set to 1, the second in the sequence results in it being set to 2, and so on until MAXGENERATION is exceeded. Once the MAXGENERATION number of files has been reached, the generation number reverts to 1 and the first trace file in the generation is overwritten. This is only used if MAXGENERATION > 1. | 0x00002800, indicating a maximum file size of 10 Mb.
MAXGENERATION | The maximum number of trace files that will be written to while tracing is enabled. Use this property in conjunction with the MAXFILESIZE property. | 1, indicating that only a single trace file will be created.
MultiProc | Controls whether trace events are written to the trace file by a single process or by multiple processes. If enabled for multiple processes, the File property must also be specified without the $(PID) pseudo-variable embedded in its name. | FALSE, indicating that the configured trace file includes only events from the current process
Parent topic: Emitter List


IDEDBG Emitter Properties

The IDEDBG emitter is provided to allow trace records to be output by a debugger, such as your COBOL development system, Visual Studio, or Eclipse at the point which they occur in the application being debugged.

To enable the IDEDBG emitter, specify the following statement in the Consolidated Tracing Facility configuration file:

mftrace.dest = IDEDBG

To use this emitter with your COBOL development system IDE, you must set the MFTRACE_CONFIG environment variable on the Environment Variables tab of the Configure IDE Environment dialog box. Trace events appear in the Debug messages tab when the application is debugged.

To use this emitter with a third-party debugger such as Visual Studio, you must set the MFTRACE_CONFIG environment variable in the environment before the debugger process is started. Trace events appear in the debugger‘s window where other system debug events would normally be displayed. For example, under Visual Studio 6, debug messages are displayed in the Debug tab.

The following table lists the properties you can set to control the behavior of the IDEDBG emitter:

DELIMCHAR
The character used in the output file to delimit trace data parts for a trace event.
Default = Space
FORMAT
The format to be used for each trace data record written to the file. You can use the following pseudo-variables in the format specification:
$(COMPONENT) | The name of the component outputting the trace event.
$(DATA) | The trace data specified by the component to be output for the trace event. Each trace part will be delimited by the character specified by the DELIMCHAR property.
$(DATE) | The current date, output as yyyy/mm/dd.
$(EVENT) | The event identifier as specified by the component outputting the trace event.
$(LEVEL) The tracing level:
  • 0 = debug
  • 1 = info
  • 2 = warning
  • 3 = error
  • 4 = fatal
$(THREAD) | The current operating system thread identifier.
$(TIME) | The current time, output as hh:mm:ss.nnn.
Default = $(TIME) $(COMPONENT) $(EVENT) $(LEVEL)$(DATA)
LEVEL
The trace level below which this emitter will not output trace records:
  • 0 = debug
  • 1 = info
  • 2 = warning
  • 3 = error
  • 4 = fatal
  • >4 = no trace records are output
Default = 3
HEXBLOCKSIZE
The number of hexadecimal bytes to be output in each block when outputting binary trace data. Each block of hexadecimal characters will be separated by a '-' character. For example, if HEXBLOCKSIZE is set to 4, and some binary trace data with the value 3132333435363738393A3B3C3D3E3F is specified for output, it would be formatted as follows:
31323334-35363738-393A3B3C-3D3E3F
Default = 8
QUOTESTRING
Whether or not string trace data is to be output enclosed in double-quote characters.
Default = TRUE
Parent topic: Emitter List
Related information
Emitter List


TEXTFILE Emitter Properties

This topic lists the properties you can set to control the behavior of the TEXTFILE emitter.
DELIMCHAR
The character used in the output file to delimit trace data parts for a trace event.
Default = space.
FILE
The name of the trace file to be written. You can use the following pseudo-variables for the construction of the trace file name:
$(APPNAME)
The basename of the executable invoked to start the current process. For example, if run.exe is invoked, $(APPNAME) has the value "run".
$(EMITTER)
Always "TEXTFILE" for this emitter.
$(GEN)
The generation of the file, starting from 1.
$(PID)
The operating system identifier for the current process.
Default = $(APPNAME).$(EMITTER).$(PID).log, or $(APPNAME).$(EMITTER).$(PID).log_$(GEN) if the MAXGENERATION property has been specified. For example:
  • If the TEXTFILE emitter is being used to output trace events for run.exe executing as process-id 3456 and the MAXGENERATION property has not been specified, the trace file created will be called run.textfile.3456.log .
  • If the TEXTFILE emitter is being used to output trace events for myapp.exe executing as process-id 1975 and the MAXGENERATION property has been set to 3, the trace files created will be called myapp.textfile.1975.log_1, myapp.textfile.1975.log_2, and myapp.textfile.1975.log_3.
FLUSHEVERY
The number of trace records that will be output before the file is flushed. 0 indicates that the file will never be explicitly flushed.
Default = 1
FORMAT
The format to be used for each trace data record written to the file. You can use the following pseudo-variables in the format specification:
$(COMPONENT)
The name of the component outputting the trace event.
$(DATA)
The trace data specified by the component to be output for the trace event. Each trace part will be delimited by the character specified by the DELIMCHAR property.
$(DATE)
The current date, output as yyyy/mm /dd
$(EVENT)
The event identifier as specified by the component outputting the trace event.
$(LEVEL)
The tracing level:
  • 0: debug
  • 1: info
  • 2: warning
  • 3: error
  • 4: fatal
$(PID)
The current process identifier. Same as $(PROCESS).
$(PROCESS)
The current process identifier. Same as $(PID).
$(THREAD)
The current operating system thread identifier.
$(TIME)
The current time, output as hh:mm:ss
Default = $(TIME) $(COMPONENT) $(EVENT) $(LEVEL) $(DATA)
HEXBLOCKSIZE
The number of hexadecimal bytes to be output in each block when outputting binary trace data. Each block of hexadecimal characters will be separated by a '-' character. For example, if HEXBLOCKSIZE is set to 4, and some binary trace data with the value 3132333435363738393A3B3C3D3E3F is specified for output, it would be formatted as follows:
31323334-35363738-393A3B3C-3D3E3F
LOCATION
The folder where the trace files are to be written, that is
the folder specified by the MFTRACE_LOGS environment variable. If MFTRACE_LOGS is not set, the current folder is used. Your COBOL development system command prompt implicitly sets MFTRACE_LOGS to the base\mftrace\logs directory in your COBOL development system installation.

If the folder specified by the LOCATION property does not exist, the Consolidated Tracing Facility tries to create it. If this fails, the Consolidated Tracing Facility uses the default location (as specified by the MFTRACE_LOGS environment variable). If this fails, the current folder is used.

Default = 8
MAXFILESIZE
The maximum amount of data (in Kb) that will be written to the trace file before the file is closed and the next trace file in the generation sequence is opened. The first trace file in a generation sequence results in the $(GEN) pseudo-variable (see the description of the FILE property, above) being set to 1, the second in the sequence results in it being set to 2, and so on until MAXGENERATION is exceeded. Once the MAXGENERATION number of files has been reached, the generation number reverts to 1 and the first trace file in the generation is overwritten. This is only used if MAXGENERATION > 1.
Default = 0x00002800, indicating a maximum file size of 10 Mb.
MAXGENERATION
The maximum number of trace files that will be written to while tracing is enabled. Use this property in conjunction with the MAXFILESIZE property.
Default = 1, indicating that only a single trace file will be created.
MultiProc
Controls whether trace events are written to the trace file by a single process or multiple processes. If enabled for multiple processes, the File property must also be specified without the $(PID) pseudo-variable embedded in its name.

Default=FALSE, indicating that the configured trace file includes only events from the current process.
QUOTESTRING
Whether or not string trace data is to be output enclosed in double-quote characters.
Default = TRUE
Parent topic: Emitter List


WINEVENT Emitter Properties

The WINEVENT emitter is provided to allow trace records to be output to the Windows event log. By default, to prevent the event log from being filled with unnecessary information, this emitter only outputs trace records with a trace level of error or above.

To enable the WINEVENT emitter, specify the following statement in the Consolidated Tracing Facility configuration file:

mftrace.dest = WINEVENT

The behaviour of the WINEVENT emitter and the format of the output it creates are controlled by the following properties:

Property | Description | Default
DELIMCHAR | The character used in the output file to delimit trace data parts for a trace event. | Space
FORMAT | The format to be used for each trace data record written to the file. You can use the following pseudo-variables in the format specification: | $(DATA)
$(COMPONENT) | The name of the component outputting the trace event.
$(DATA) | The trace data specified by the component to be output for the trace event. Each trace part will be delimited by the character specified by the DELIMCHAR property.
$(DATE) | The current date, output as yyyy/mm/dd.
$(EVENT) | The event identifier as specified by the component outputting the trace event.
$(LEVEL) | The tracing level:
0 | debug
1 | info
2 | warning
3 | error
4 | fatal
$(THREAD) | The current operating system thread identifier.
$(TIME) | The current time, output as hh:mm:ss.nnn.
FORMAT The format to be used for each trace data record written to the file. You can use the following pseudo-variables in the format specification: $(DATA)
HEXBLOCKSIZE The number of hexadecimal bytes to be output in each block when outputting binary trace data. Each block of hexadecimal characters will be separated by a '-' character. For example, if HEXBLOCKSIZE is set to 4, and some binary trace data with the value 3132333435363738393A3B3C3D3E3F is specified for output, it would be formatted as follows:
31323334-35363738-393A3B3C-3D3E3F
 8
LEVEL | The trace level below which this emitter will not output trace records. | 3
QUOTESTRING | Whether or not string trace data is to be output enclosed in double-quote characters. | TRUE
Parent topic: Emitter List
Related information
Emitter List


Tracing Examples

By default, tracing is disabled for all components, so the absolute minimum you need to do to enable run-time system tracing is to specify an mftrace.level or mftrace.level.mf.rts entry in the configuration file. For example, if you have set the MFTRACE_CONFIG environment variable set as follows:

set MFTRACE_CONFIG=e:\mydir\ctf.cfg

and e:\mydir\ctf.cfg contains only the following entry:

mftrace.level=error

a trace file with an entry for event id 255 would be created by any process that generated a run-time system error. Note that you do not have to specify any properties for the mf.rts component for this event to be emitted; having the trace level set to error is enough.

In the examples that follow, the application mymain is used. This application comprises two programs: mymain.cbl and mysub.cbl that include the following code:

mymain.cbl:

 identification division.
 program-id. mymain.
 environment division.
 data division.
 working-storage section.
 01 my-var pic 9(9) external.
 procedure division.
     move 1 to my-var

     perform 5 times
         call 'mysub'
         add 1 to my-var
     end-perform

     cancel 'mysub'

     call 'myprog'
     goback.

mysub.cbl:

 identification division.
 program-id. mysub.
 environment division.
 data division.
 working-storage section.
 01 my-var pic 9(9) external.
 procedure division.
     display my-var
     goback.

When mymain is executed, run-time system error 173 (“Called program file not found in drive/directory”) occurs because of the call to myprog. The contents of a trace file generated using the configuration above look similar to the following:

1>   # -MFTRACE Text Emitter-
2>   # CommandLine      = mymain
3>   # ProcessId        = 2404
4>   # Date             = 2004/12/14
5>   # Time             = 11:54:42.875
6>   # Operating System = Windows XP Service Pack 1 (Build 2600)
7>   # Computer Name    = PC-NAME
8>   # Format           = $(TIME) $(COMPONENT) $(EVENT) $(LEVEL)$(DATA)
9>   11:54:42.875 MF.RTS 255 3 173 1 "myprog"
The entries marked 1> through 8> are header records output by the TEXTFILE emitter giving information about the application being traced. 8> indicates the format of the subsequent trace entries (this example is using the default trace entry format), so the fields in entry 9> can be interpreted as follows:
Information in Trace File | Pseudo-variable | Description
11:54:42.875 | $(TIME) | The time the trace entry was output.
MF.RTS | $(COMPONENT) | The name of the component outputting the trace entry. MF.RTS indicates the run-time system.
255 | $(EVENT) | The event identifier. Event identifier 255 for the mf.rts component indicates a run-time system error.
3 $(LEVEL) The level of the error, based on the following values:
  • 0 = debug
  • 1 = info
  • 2 = warning
  • 3 = error
  • 4 = fatal
173 1 "myprog" | $(DATA) | Event-specific data.

If you now rerun mymain after changing the statement in the configuration file to specify a trace level of INFO, as follows:

mftrace.level=info

the trace file created contains entries for the run-time system initialization and de-initialization events in addition to the run-time system error event. The trace file looks similar to the following:

    # -MFTRACE Text Emitter-
    # CommandLine      = mymain
    # ProcessId        = 2820
    # Date             = 2004/12/14
    # Time             = 12:27:04.317
    # Operating System = Windows XP Service Pack 1 (Build 2600)
    # Computer Name    = PC-NAME
    # Format           = $(TIME) $(COMPONENT) $(EVENT) $(LEVEL)$(DATA)
    12:27:04.317 MF.RTS 128 1
    12:27:04.327 MF.RTS 129 1
    12:27:04.337 MF.RTS 255 3 173 1 "myprog"
    12:27:04.367 MF.RTS 130 1
    12:27:04.367 MF.RTS 131 1

To see which programs the application has invoked before the run-time system error occurred you need to set the PGM property. If you want to see where the programs have been loaded from and when they are canceled, you also need to set the PGMLOAD property, as follows:

mftrace.level=info
mftrace.comp.mf.rts#pgm=true
mftrace.comp.mf.rts#pgmload=true

When you rerun mymain, the trace file created contains additional entries for program load, entry, exit, and cancel events. The trace file looks similar to the following:

    # -MFTRACE Text Emitter-
    # CommandLine      = mymain
    # ProcessId        = 4092
    # Date             = 2004/12/14
    # Time             = 13:44:30.868
    # Operating System = Windows XP Service Pack 1 (Build 2600)
    # Computer Name    = PC-NAME
    # Format           = $(TIME) $(COMPONENT) $(EVENT) $(LEVEL)$(DATA)
    13:44:30.868 MF.RTS 128 1
    13:44:30.888 MF.RTS 129 1
    13:44:30.888 MF.RTS 19 1 0 0 "mymain" "" ""
    13:44:30.888 MF.RTS 6 1 17 0 "mymain"
    13:44:31.008 MF.RTS 19 1 0 0 "mysub" "gnt" "E:\myprogs"
    13:44:31.008 MF.RTS 6 1 1 0 "MYSUB"
    13:44:31.008 MF.RTS 7 1
    13:44:31.008 MF.RTS 6 1 1 0 "MYSUB"
    13:44:31.008 MF.RTS 7 1
    13:44:31.008 MF.RTS 6 1 1 0 "MYSUB"
    13:44:31.008 MF.RTS 7 1
    13:44:31.008 MF.RTS 6 1 1 0 "MYSUB"
    13:44:31.008 MF.RTS 7 1
    13:44:31.008 MF.RTS 6 1 1 0 "MYSUB"
    13:44:31.008 MF.RTS 7 1
    13:44:31.008 MF.RTS 20 1 0 0 "mysub"
1>  13:44:31.008 MF.RTS 6 1 1 0 "MYSUB"
    13:44:31.008 MF.RTS 7 1
    13:44:31.139 MF.RTS 255 3 173 1 "myprog"
    13:44:31.199 MF.RTS 130 1
    13:44:31.199 MF.RTS 20 1 0 0 "mymain"
2>  13:44:31.199 MF.RTS 6 1 17 0 "mymain"
    13:44:31.199 MF.RTS 7 1
    13:44:31.199 MF.RTS 131 1

The entries marked 1> and 2> show event type 6 and 7 entries (program entry and exit) for a program immediately after an event type 20 entry (logical cancel) for the same program. This is because the Compiler embeds a cancel routine in all programs to close any files that the program may have opened. These cancel routines are implicitly invoked by the run-time system as part of a logical cancel operation.

To enable the tracing of all run-time system events with the exception of the memory management ones, you use the following configuration file entries:

mftrace.level = info
mftrace.comp.mf.rts#all=true
mftrace.comp.mf.rts#memory=false

When you rerun mymain, the trace file created contains additional entries for external data items. If you have compiled the programs with the AMODE directive, there would also be entries for each of the Mainframe Pointer Manager events. The trace file looks similar to the following:

    # -MFTRACE Text Emitter-
    # CommandLine      = mymain
    # ProcessId        = 2716
    # Date             = 2004/12/14
    # Time             = 14:33:22.704
    # Operating System = Windows XP Service Pack 1 (Build 2600)
    # Computer Name    = PC-NAME
    # Format           = $(TIME) $(COMPONENT) $(EVENT) $(LEVEL)$(DATA)
    14:33:22.704 MF.RTS 128 1
    14:33:22.714 MF.RTS 129 1
    14:33:22.714 MF.RTS 19 1 0 0 "mymain" "" ""
    14:33:22.714 MF.RTS 6 1 17 0 "mymain"
1>  14:33:22.714 MF.RTS 26 1 "MY_VAR" 9
    14:33:22.714 MF.RTS 19 1 0 0 "mysub" "gnt" "E:\myprogs"
    14:33:22.724 MF.RTS 6 1 1 0 "MYSUB"
    14:33:22.724 MF.RTS 7 1
    14:33:22.724 MF.RTS 6 1 1 0 "MYSUB"
    14:33:22.724 MF.RTS 7 1
    14:33:22.724 MF.RTS 6 1 1 0 "MYSUB"
    14:33:22.724 MF.RTS 7 1
    14:33:22.724 MF.RTS 6 1 1 0 "MYSUB"
    14:33:22.724 MF.RTS 7 1
    14:33:22.724 MF.RTS 6 1 1 0 "MYSUB"
    14:33:22.724 MF.RTS 7 1
    14:33:22.724 MF.RTS 20 1 0 0 "mysub"
    14:33:22.724 MF.RTS 6 1 1 0 "MYSUB"
    14:33:22.724 MF.RTS 7 1
    14:33:22.724 MF.RTS 255 3 173 1 "myprog"
    14:33:22.764 MF.RTS 130 1
    14:33:22.764 MF.RTS 20 1 0 0 "mymain"
    14:33:22.764 MF.RTS 6 1 17 0 "mymain"
    14:33:22.764 MF.RTS 7 1
2>  14:33:22.764 MF.RTS 27 1 "MY_VAR"
    14:33:22.764 MF.RTS 131 1

The entries marked 1> and 2> show the additional entries for external data items.

Parent topic: Introduction to the Consolidated Tracing Facility
Related information
To enable CTF tracing


FaultFinder

  • FaultFinder Tunables
    FaultFinder is controlled by tunables.
  • FaultFinder Report
    The FaultFinder report shows the state of an application at the time of any abnormal application termination
  • FaultFinder Listing Generator
    To help you analyze a FaultFinder report, you can take a snapshot of a program's source code, and its compiled characteristics, before shipping the program to your end-users.
Parent topic: Tools


FaultFinder Tunables

To turn on FaultFinder set the run-time tunable faultfind_level to a positive value. Then, if the application terminates abnormally, the run-time-system automatically invokes FaultFinder which in turn generates the report.

The following run-time tunables control the operation and output of FaultFinder:

faultfind_config=n Controls the inclusion of program memory data in the output file, where value indicates the action to perform and the type of memory as follows:

0 = Include all types of memory (default)

1 = Exclude working storage

2 = Exclude thread-local storage

4 = Exclude dynamically allocated memory

These values can be combined to suppress combinations of types of memory, for example, a value of 5 will exclude working storage and dynamically allocated memory.

faultfind_level=n | Turns on FaultFinder and enables tracing of events. n can be any positive value less than or equal to 1024 and enables the last n events to be dumped. The default value is 0.
faultfind_outfile="filename" The file to which the analysis is written. The default filename is fltfnd.out in the current working directory. If, for some reason, the specified file cannot be opened, output is directed to the screen.

You can specify the filename as follows:

"fault%option.log"

Where option can be:

d = replaced with the date of the fault in the format <yyyymmdd>

p = replaced with the process ID of the faulting process

t = replaced with the time of the fault in the format <hhmmss>

faultfind_recsize="record_size" | A numerecord_sizeric value, in bytes, that specifies the amount of extra data that is to be kept for each trace operation. record_size can be any non-negative value less than or equal to 1024. The default value is 64.

Example:

set faultfind_config=5
set faultfind_level=5
set faultfind_outfile="applflt.log"
set faultfind_recsize=1024

FaultFinder Performance

Enabling FaultFinder event tracing (that is, setting faultfind_level to a value greater than 0) does have a performance impact, although it should not be noticeable in most cases. The number of events traced does not significantly impact performance; tracing one event is not significantly faster than tracing 1000. The most expensive operations to trace are file operations; the worst case for FaultFinder is a file handling benchmark. Even if this is the case, you would expect no more than a 5% performance degradation. Most applications which perform a mixture of operations should see minimal impact on performance.

FaultFinder Listing Generator

To help you analyze a FaultFinder report, you can take a snapshot of a program's source code, and its compiled characteristics, before shipping the program to your end users. You can create a snapshot using the FaultFinder Listing Generator.

Parent topic: FaultFinder
Related information
FaultFinder Report
FaultFinder Listing Generator


FaultFinder Report

This information is contained in titled sections in the report. You can search for sections in the report by their titles.

For threaded programs (run with the multi-threading run-time system), additional information is output; this is discussed in the relevant sections.

Note:
  • On most systems only one process can have debug control over a target. If your target process is already being debugged by the Debugger, you might not be able to obtain a FaultFinder report.
  • It takes a finite amount of time to obtain the information used by FaultFinder. During this time, the target process is stopped and unable to respond to any user input.
  • FaultFinder Report - Environment
  • FaultFinder Report - Call Stack
  • FaultFinder Report - Loaded Programs
  • FaultFinder Report - Logically Canceled Programs
  • FaultFinder Report - Open Files
  • FaultFinder Report - Trace Back
Parent topic: FaultFinder
Related information
FaultFinder


FaultFinder Report - Environment

The Environment section of the report describes:

  • The application command line
  • The run-time system error (both number and message) that caused the problem
  • The date and time at which the dump was taken
  • For threaded applications, the identifier of the failing thread
  • The settings of all current environment variables
  • The settings of all the run-time tunables
Parent topic: FaultFinder Report


FaultFinder Report - Call Stack

The Call Stack section of the report contains, for each thread running at the time of failure, a call stack traceback. Programs are listed with full pathname and extension (where available). Entry points are not listed. The information for each thread is listed in a reverse calling hierarchy, so that:

  • The last program running (the program executing at time of termination) is listed first
  • Any programs that called the program that terminated, and any programs that called these programs are then listed
  • Finally, the initial program in the call hierarchy is listed

If the program contains Local-Storage and/or Linkage Sections, these sections are dumped with the corresponding call stack instance. For these sections, the following information is dumped:

  • Local-storage. The starting address is given followed by the contents. This information is dumped in hexadecimal and ASCII. Duplicate lines are not repeated but replaced by a single asterisk (*).
  • Linkage:
    • Addresses of Using parameters (in USING order)
    • Addresses of Linkage pointers (in Linkage Section order)

For .int files, the current program-counter is also dumped.

Parent topic: FaultFinder Report


FaultFinder Report - Loaded Programs

The Loaded Programs section of the report contains all currently loaded ("live") programs, with their reentrant and non-reentrant data areas. The non-reentrant data area has separate areas for working-storage and each instance of user-allocated data (using CBL_ALLOC_MEM, flag=0). A separate reentrant data area exists for each thread executing that program and has separate areas for thread-local storage and thread-local allocated data (using CBL_ALLOC_MEM, flag=8). Each chunk of data states the hexadecimal address of the data item and the dump (in hexadecimal and ASCII with duplicate lines not repeated but replaced by a single vertical bar (|)) of the data.

Note: The working-storage section includes all of the non-user program specific data areas, as in the file-control and file sections, as well as system needed non-reentrant space. To better define the start of the program's actual working-storage section, it is recommended that you insert a special data item as the first item in working-storage and give it a value that can easily be searched for.
Parent topic: FaultFinder Report


FaultFinder Report - Logically Canceled Programs

This section of the report contains a list of logically canceled programs, with full pathname and filename extensions.

Files that have been logically canceled are still known to the run-time system, so can be loaded and run directly without having to be loaded from disk. Files that are physically canceled release all their memory and no longer exist to the run-time system.

No other information is available in this section of the report.

Parent topic: FaultFinder Report


FaultFinder Report - Open Files

This section of the report contains information about all opened files, both local (non-external) and externally opened files. For each file the information listed is:

  • The filename
  • The exit status of a file operation
  • The record length
  • The organization
  • The open mode
  • For local files, which program it was opened by
  • The last record
  • The file control descriptor
  • The last operations performed on this file

The entire last record and the file control descriptor (FCD) are both dumped (with address) in hexadecimal and ASCII.

The operation trace records the basic operation (READ, WRITE, OPEN and so on) as well as the:

  • Exact operation code
  • Return status for that operation
  • Thread performing the operation
  • Dump of record data for the file operation

The last two items are only recorded when applicable.

Parent topic: FaultFinder Report


FaultFinder Report - Trace Back

The Trace Back section of the report lists the last n events for each thread, where n is defined by the run-time tunable faultfind_level. For each thread, the operations traced are:

  • CBL_ALLOC_MEM
  • CBL_ALLOC_DYN_MEM
  • CBL_ALLOC_SHMEM
  • CBL_ALLOC_THREAD_MEM
  • All file operations.

This section is broken down by thread; it records all operations for thread 1, followed by all operations recorded for thread 2, and so on. There are typically two events per operation: one as the operation begins, and another as it finishes.

Parent topic: FaultFinder Report


FaultFinder Listing Generator

  • Using the FaultFinder Listing Generator
  • The FaultFinder Source Listing
Parent topic: FaultFinder


Using the FaultFinder Listing Generator

You can create a snapshot using the FaultFinder Listing Generator, which provides information in the form of a detailed listing file.

To create a listing file:

  1. Compile the program for debug
  2. Run the fflst command

To run the FaultFinder Listing Generator, use the command:

fflst options filename [listfile]

where the parameters are:

options
Specifies the level of detail in the FaultFinder listing. options can be any combination of:

If you specify no options, the Listing Generator produces the full source, data map, procedure map and cross-reference listing. For details of these listings, see below.

s | Suppresses the source listing
d | Suppresses the data map listing
-p | Suppresses the procedure map listing
-x | Suppresses the cross reference listing
-ln | Specifies a page size of n lines. The default is 66 lines
-v | Verbose output with version information
filename
The name of the .idy file to be processed. You do not have to specify the .idy file extension as this is the default file type.
listfile
The name of the file to which the listing is saved. If you do not specify this parameter, the listing is directed to the screen.
Note: The FaultFinder Listing Generator always uses the .idy file, not the COBOL source file.

For example, if you have a program appsource.cbl, the following command generates a full listing minus any cross-reference information in the listing file appsource.ffl:

cobol appsource.cbl anim;
fflst -x appsource.idy appsource.ffl
Parent topic: FaultFinder Listing Generator


The FaultFinder Source Listing

The FaultFinder listing is composed of several parts.

The examples of output in the topics describing these parts were generated using the following program:

 program-id. 'funbar'.
 working-storage section.
 01 ws-var-1    pic x(255).

 thread-local-storage section.
 01 tls-var-1   pic x(1021).

 local-storage section.
 01 ls-var-1    pic x(511).

 linkage section.
 01 lnks-var-1  pic x(2011).
 01 lnks-var-1r pic a(1024) redefines lnks-var-1.
 01 lnks-var-2  pic x(3096).

 procedure division using lnks-var-1 lnks-var-2.
     move tls-var-1 to ws-var-1
     if ws-var-1 = lnks-var-1
         display ls-var-1
     end-if
     stop run.

This program was compiled to generated code, and the FaultFinder listing generated using the commands:

cobol fun.cbl;
cbllink fun.obj
fflst –l19 fun.idy fun.lst
  • FaultFinder Source Listing - Header
  • FaultFinder Source Listing - Source
  • FaultFinder Source Listing - Map
  • FaultFinder Source Listing - Xref
Parent topic: FaultFinder Listing Generator


FaultFinder Source Listing - Header

The header to the listing provides useful information on the compilation of the program. An example header appears below, with additional notes describing the information presented below:

* * * * * * * * * * * * * COMPILATION SUMMARY * * * * * * * * * * *

        Micro Focus Net Express        V1.1 revision 000

        Product ID   : HXCTG/AA0/00000
        Compiler ref : GNR-071060000AD

        Date compiled: 05-Oct-99
        Time Compiled: 18:20

        Source File: fun.cbl
        .idy File  : fun.id   y
        Program ID : funbar
        Compiled to: Gnt/object with xref information

- - - - - - - - - - - - - - - - Sizes  - - - - - - - - - - - - - - -

 INT Code Proc:   000059  Data: 0001C4  Local: 000200 Thread: 0003FE
 GNT Code User:   000178  Full:   0002C8

- - - - - - - - - - - - -  02 Linkage Item(s) - - - - - - - - - - - -

 LNKS-VAR-1                 :   2011 bytes (h"000007DB")
 LNKS-VAR-1R                :   1024 bytes (h"00000400") (redef)
 LNKS-VAR-2                 :   3096 bytes (h"00000C18")

- - - - - - - - - - - -  Key Compilation Directives - - - - - - - - -

 noP64 INTLEVEL(3) noREENTRANT  CHARSET(ASCII)
 MF    noOSVS      noVSC2       CHECKDIV        PERFORM-TYPE(MF)
 noBOUND         TRUNC(ANSI)
 noSPZERO        noIBMCOMP

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Information section

The first section of the listing provides information on the Compiler and the sources compiled. For the Compiler, the product name, product version, product ID and compiler reference number are given. These values are often useful to Micro Focus support representatives. For the source code, the files compiled, the resulting .idy file, the main entry point of the program and target mode of the compilation are given.

Sizes

The Sizes section of the report shows the sizes of the various segments defined in the program, in particular:

  • Intermediate code created during the syntax-check phase
  • Machine code generated during the generate phase
  • The Working-Storage Section, Local-Storage Section and the Thread-Local-Storage Section.

In the example listing above:

  • The syntax-check phase generated h"59" bytes of intermediate code
  • The generate phase created h"178" bytes of machine code as a result of user application code, and h"2C8" bytes of machine code in total
  • The Working-Storage Section is h"1C4" bytes long
  • The Local-Storage Section is h"200" bytes long
  • The Thread-Local-Storage Section is h"3FE" bytes long

Linkage items

The Linkage Item(s) section of the report lists the Linkage Section data items defined in this program, and their sizes. As these sizes are significant in interprogram communication, they warrant their own section. In the example above, the item LNKS-VAR-1R is a redefinition of LNKS-VAR-1, so there are effectively only two distinct linkage items.

Key Compilation Directives

The Key Compilation Directives section of the report lists the Compiler directives that affect run-time behavior.

Parent topic: The FaultFinder Source Listing


FaultFinder Source Listing - Source

There are two kinds of source listings that appear in the output, the Data Division listing and Procedure Division listing.

Data Division Listing

The Data Division listing looks like this:

fun.cbl, line 1
Line    Loc   :Size  ----+-*A-1-B--+----2----+----3----+----4----+---...-8
000001                        program-id. 'funbar'.
000002                        working-storage section.
000003  000050:0000FF         01 ws-var-1     pic x(255).
000004  000005                thread-local-storage section.
000006  000000:0003FD         01  tls-var-1   pic x(1021).
000007  000008                local-storage section.
000009  000000:0001FF         01  ls-var-1    pic x(511).
000010  000011                linkage section.
000012  000000:0007DB         01  lnks-var-1  pic x(2011).
000013  000000:000400         01  lnks-var-1r pic a(1024) redefines lnks-var-1.
000014  000000:000C18         01  lnks-var-2  pic x(3096).
000015  000016               procedure division using lnks-var-1 lnks-var-2.

The listing contains a page header, not shown in the example above, that gives product and compilation information. This is followed by the name of the source module that the first line of page originates from and its sequence number relative to that module. For example, the first line of page 1 in the example source listing originates from the module fun.cbl and is line 1 in that module.

After the line showing the module is a column scale; this indicates the COBOL areas of the source line (that is, Area A, Area B, and so on). In the example above, this scale is compressed to allow notations. In this scale line, there is also a header for the sequence line of the source lines being displayed.

Following the column scale is the Data Division code. The first 80 characters of each source line that was compiled are displayed in the body of the source listing. If a source line exceeds 80 characters, the excess characters are not shown.

The header indicates that the location (Loc) and size (Size) of each data item definition is displayed (in hexadecimal) immediately before the actual source line that defines the data item. For example, on line 3, the data item ws-var-1 is defined and it has an offset from the start of statically allocated data of h"50" and a size of h"ff" (decimal 255). Similarly, at line 6 the variable tls-var-1 has an offset of h"00" and a size of h"3FD" (decimal 1021).

Procedure Division Listing

The Procedure Division Listing looks like this:

fun.cbl, line 17
IntAddr:GntAddr----+-*A-1-B--+----2----+----3----+----4----+--- ... -8   Xref
000017  00002e                 sec1 section.                          =000017
000018  000030                 par1.                                  =000018
000019  000031:00000CC             move tls-var-1 to ws-var-1          000006 >000003
000020  000039:00000F4             if ws-var-1 = lnks-var-1           ?000003 ?000012
000021  000042:0000160                display ls-var-1                 000009
000022  000049                     end-if
000023  00004B:000016C         stop run.
000024

The listing contains a page header, not shown in the example above, that gives product and compilation information. This is followed by the name of the source module that the first line of the page originates from and its sequence number relative to that module. For example, the first line of page 2 in the listing originates from the module fun.cbl and is line 17.

After the line showing the module is a column scale that indicates the COBOL areas of the source line (that is, Area A, Area B, and so on). In the example listing above, this scale is compressed to allow notations. In the scale line there is also a header for the sequence line of the source lines being displayed.

The column scale contains the headers IntAddr and GntAddr, under which are shown the intermediate code address and the generated/object code address relative to the start of the module, of the actual source line from which the generated code was created. For example, for the syntax at line 19, the intermediate code address is h"31" and the generated/object code address is h"CC". The column scale aslo contains the header Xref, under which is shown the definition line of the data items that are manipulated in the statement, and any operations performed on the data items in the statement. The type of operations is indicated by a character:

= | Definition
> | Modification
? | Test

For example, on line 18 of the listing above, par1 is defined; on line 19, there is a reference to tls-var-1 which is defined on line 6 and there is a modification to ws-var-1 which is defined on line 3. On line 20, there is a test of ws-var-1, which is defined on line 3, and of lnks-var-1, which is defined on line 12.

Parent topic: The FaultFinder Source Listing


FaultFinder Source Listing - Map

There are two map listings, one for data items and one for procedural items.

Data Item Map Listing

The data item map listing looks like this:

* Data Map Listing
* Line   Name                           Addr   Size   Sec  Usage   Picture string
  000003 WS-VAR-1                       000050 0000FF WS   Alnum   PIC X(255)
  000006 TLS-VAR-1.                     000000 0003FD TS   Alnum   PIC X(1021)
  000009 LS-VAR-1                       000000 0001FF Lcl  Alnum   PIC X(511)
  000012 LNKS-VAR-1                     000000 0007DB Lnk  Alnum   PIC X(2011)
  000013 LNKS-VAR-1R.                   000000 000400 Lnk  Alpha   PIC A(1024)
  000014 LNKS-VAR-2                     000000 000C18 Lnk  Alnum   PIC X(3096)
  000000 RETURN-CODE                    000150 000002 WS   Comp    PIC S9(4) COMP
  000000 SORT-RETURN                    000154 000002 WS   Comp    PIC S9(4) COMP

This listing shows:

  • The line at which the data item was defined
  • The hexadecimal address and size of the data item
  • The section in which the data item was defined, identified by:
    WS | Working-Storage Section
    FS | File Section
    TS | Thread-Local Storage Section
    Lcl | Local Storage Section
    Lnk | Linkage Section
    Obj | Object-Storage Section
    SRg | Compiler Special Register
  • The usage defined for the data item, such as alphanumeric, alphabetic or computational
  • The picture of the data item

Procedural Item Map Listing

The procedural item map listing looks like this:

*  Procedure Map Listing
*  Line   Name                           Seg IntAddr  GntAddr  Sec/Par
   000017 SEC1                               000002E           Sec
   000018 PAR1
   0000030                                   00000CC           Par

This listing shows:

  • The line at which the procedural item was defined
  • The address in the intermediate and/or generated code at which the procedural item was defined
  • Whether the procedural item is a section or paragraph
Parent topic: The FaultFinder Source Listing


FaultFinder Source Listing - Xref

The Xref listing provides a sorted list of data names. It looks like this:

*  Xref Map Listing
*  Def'd  Name                    References, ?Tests, >Modifications
   000012 LNKS-VAR-1              0000013 0000016 ?0000020
   000013 LNKS-VAR-1R.
   000014 LNKS-VAR-2              0000016
   000009 LS-VAR-1                0000021
   000018 PAR1
   000017 SEC1
   000006 TLS-VAR-1               0000019
   000003 WS-VAR-1                >0000019 ?0000020
   000016 funbar*
   000001 funbar@

For each data item, the listing shows:

  • The line at which the data item was defined
  • The lines at which the data item is used
  • The operations performed on the data item on particular lines

The header to the third column, References, ?Tests, >Modifications, shows the type of operations that are recognized, and the indicators for these operations. For example, lnks-var-1 is defined at line 12, referenced at lines 13 and 16, and tested at line 20, while ws-var-1 is defined at line 3, modified at line 19 and tested at line 20.

A name suffixed with an asterisk (*) indicates the line at which that program's Procedure Division begins, while a name suffixed with the at sign (@) indicates the line at which that program's program id is defined.

Parent topic: The FaultFinder Source Listing


Profiler

  • Introduction to Profiler
  • Running Profiler
  • Profiler Output
  • Time Spent in Called Programs
  • Directives for Profiler
Parent topic: Tools


Introduction to Profiler

Profiler is a facility that enables you to obtain detailed statistics on the run-time performance of a COBOL program.

When you compile a program you can specify the PROFILE compiler directive. This causes the compiler to include code in your program that produces performance statistics about each paragraph of the program each time you run the compiled program. If your program contains no paragraphs, this report is not produced.

The performance statistics produced using the PROFILE compiler directive for that run of the program are contained in a file called program-name.ipf where program-name is the name of the program that was run. If an executable file is produced, then program-name is the first entry point name in the executable file.

These performance statistics are in compact form and first must be converted to a readable format, using Profiler.

By default, this file is created in the current working directory, but you can change this using the COBPRFDIR environment variable to specify an alternative directory. For example:

SET COBPRFDIR=C:\myipfdir
Parent topic: Profiler


Running Profiler

To start Profiler from the reUZE Developer command prompt, use the following command:

profiler filenames directives

where the parameters are:

filenames
One or more files containing compact Profiler output. Profiler always searches for a file with the filename extension .ipf; if you specify any other extension, it is ignored.
directives
One or more of the directives that control the operation of Profiler. To specify a directive to Profiler, you must precede it with a plus sign (+). You can precede each directive with a plus sign; alternatively, you can specify one at the start of a list of directives.

Directives must be separated by one or more spaces. Where a Profiler directive takes a parameter, you can enclose the parameter either in quotation marks or in parentheses. If you use either of these, however, you must escape them using the backslash character ( \).

Profiler creates a file with the extension .prf, with the same basename as the .ipf file. If you profile more than one program at one time, Profiler output for all programs is appended to the output file for the first program, that is filename1 .prf.

Parent topic: Profiler


Profiler Output

When you run Profiler, the following banner is displayed:

* Micro Focus COBOL Profiler Vv.r
* name-1
.
.
.
* name-n

where name is one of the files listed in filenames in the command line.

For example, if you compile the program prog1 with the PROFILE directive set, run the program, and then enter:

profiler prog1 +LIST

the following output is produced on the console:

* Micro Focus COBOL Profiler Vv.r
* prog1
 Total time: 172 milliseconds. Module called once.

%time   time    entries  ms/entry    paragraph
-----------------------------------------------------------------
64.53   111     21       5           TEST-ROUTINE
17.44   30      1        30          PARA1
16.28   28      15       2           NAME-ENTRY
1.74    3       1        3           END-SECTION
0.00    0       1        0           INITIAL(UNNAMED) PARAGRAPH

The Profiler output gives the total execution time (in milliseconds) for the program run and then breaks this down for each section and paragraph in the program:

Output | Description
%time | Total percentage of execution time spent in the named section or paragraph
time | Total time (in milliseconds) spent in the named section or paragraph
entries | Number of times the named section or paragraph was entered
ms/entry | Average time (in milliseconds) per entry to the section or paragraph
paragraph | Section or paragraph to which performance statistics apply. The initial (unnamed) paragraph listed is the initialization code executed before the user part of the program is entered.

The product of the ms/entry and the number of entries should equal the total time spent in the section or paragraph; however, because all three values are truncated, there can be a slight discrepancy.

Note: Profiler reports can include unnamed paragraphs that appear if a program has sections without subsequent paragraphs, or in-line PERFORM and EVALUATE statements.
Parent topic: Profiler


Time Spent in Called Programs

How the run-time system treats the time spent in a called COBOL program that has been compiled with the PROFILE directive (a profiled program) depends on the value of the profile_behavior run-time tunable. You specify this tunable when you run the program that you want to be profiled.

If the profile_behavior run-time tunable is set to 0 (the default), then time spent in a profiled called program is recorded both in the called program and in the calling program.

If the profile_behavior run-time tunable is set to1, then time spent in a profiled called program is recorded only in the called program.

For example, suppose program prog_a calls program prog_c. prog_a is a profiled COBOL program. Then:

  • If prog_c is not COBOL, time spent in prog_c is recorded in prog_a
  • If prog_c is COBOL but is not profiled, time spent in prog_c is recorded in prog_a
  • If prog_c is COBOL and profiled, time spent in prog_c is recorded in prog_c, and not in prog_a

If prog_a actually calls prog_b, which calls prog_c, and prog_b is not a profiled COBOL program, then time in prog_b is always recorded in prog_a, while time in prog_c is recorded as explained above.

Parent topic: Profiler


Directives for Profiler

You can use the following directives to control the behavior of the COBOL Profiler.

ALL
Outputs a full performance profile. If you do not set the ALL directive, no statistics are produced for sections or paragraphs that are not entered or PERFORMed
ALPHA
Outputs performance statistics in alphabetical order by paragraph name. If you do not specify ALPHA, statistics are output in descending order of the total percentage time spent in each paragraph.
FORM"integer"
Specifies the page size in lines for the listing file. The minimum value you should specify is 6. The default size is 60 lines.
LIST["destination"]
Specifies where the listing is to be produced.
If destination is specified, the output is written to that file.
If destination is not specified, then the output is sent to the console, with page headings and page throws omitted. The VERBOSE Profiler directive is also set automatically.
If you do not set the LIST Profiler directive, then by default the output is produced in a file called filename.prf, where filename is the first name in the files listed on the command line.
[NO]VERBOSE
Displays on the screen messages output by Profiler. The default setting is NOVERBOSE, unless the LIST directive is set without a specified parameter, in which case VERBOSE is set automatically.
WIDE
Allows lines in the Profiler output to be up to 131 characters wide. If the WIDE directive is not set, lines are truncated to 79 characters.
Parent topic: Profiler


Configuring CCI

  • CCI Support for APPC
  • APPC Configuration
  • Application Configuration
  • CCIIPX Configuration
    CCIIPX is supported on Windows 95, Windows 98 and Windows NT systems only.
  • CCINETB Configuration
    CCINETB is supported on Windows 95, Windows 98 and Windows NT systems only.
  • CCITCP Configuration
    CCITCP is supported on Windows 95, Windows 98 and Windows NT systems.
  • CCINAMPU Configuration
    CCINAMPU is supported on UNIX systems only.
  • Application Configuration
    CCI is used by a variety of Micro Focus applications. This chapter describes how each of these applications is configured to use CCI for each supported network protocol.
  • CCI Trace
    CCI Trace enables you to trace any CCI function calls made by applications. The information obtained from the trace is sent to a log file. By default this is called ccitrc1.trc, which a matching index file ccitrc1.idx. In addition to the trace information, data flow information can be sent to a separate set of log files with the default names ccitrc1d.trc and ccitrc1d.idx, depending on the trace options specified.Although the trace log file is not generally in a readable format, any data output from the CCI data buffers will not be encrypted when written to a trace file. Applications that use CCI can be coded to block data tracing for security reasons.
  • CCI.INI - The CCI Configuration File
  • CCI Status Messages
  • Attachmate Personal Client v6.3
    This document provides views of a sample installation for Attachmate Personal Client v6.3 for 95/NT over an 802.2 DLC connection. We have validated the CCIAPPC component against Attachmate Personal Client version 6.1, 6.2 and 6.3. This document is arranged in a logical sequence for an new installation of the Attachmate product. Please note that screen snapshots are copyright Attachmate Corporation.
  • Attachmate Personal Client v6.1 and v6.2
    This document provides views of a sample installation for Attachmate Personal Client 6.2 for Windows 95/NT over an 802.2 DLC connection. The configuration for Attachmate Personal Client 6.1 is very similar and this document can be used as a guide for both versions. We have validated the CCIAPPC component against Attachmate Personal Client version 6.1 and 6.2. This document is arranged in a logical sequence for an new installation of the Attachmate product. Please note that screen snapshots are copyright Attachmate Corporation.
  • IBM Communications Server v5.01 for Windows NT
    This document provides sample views of an 802.2 DLC connection for IBM Communications Server Version for NT. We have validated the CCIAPPC component against IBM Communications Server version 5.01. This document is arranged in a logical sequence for a new installation of the Communications Server product. Please note that screen snapshots are copyright IBM Corporation.
  • IBM Personal Communications v4.2 for Windows 95 and Windows NT
    This document provides sample views of an 802.2 DLC connection for IBM Personal Communications for Windows 95 and Windows NT. We have validated the CCIAPPC component against IBM Personal Communications version 4.2. This document is arranged in a logical sequence for a new installation of the Personal Communications product. Please note that screen snapshots are copyright IBM Corporation.
  • Microsoft SNA Server v3.0
    This document provides sample views of an 802.2 DLC connection for Microsoft SNA Server Version 3.0 for Windows 95/NT. We have validated the CCIAPPC component against Microsoft SNA Server version 3.0. This document is arranged in a logical sequence for a new installation of the SNA Server product. Please note that screen snapshots are copyright Microsoft Corporation.
  • Microsoft SNA Server v2.11
    This document provides sample views of an 802.2 DLC connection for Microsoft SNA Server for Windows 95/NT. We have validated the CCIAPPC component against Microsoft SNA Server version 2.11. This document is arranged in a logical sequence for a new installation of the SNA Server product. Please note that screen snapshots are copyright Microsoft Corporation.
  • Rumba Office 95/NT
    This document provides sample views of an 802.2 DLC connection for Rumba Office 95/NT. We have validated the CCIAPPC component against Rumba Office 95/NT version 5.0. This document is arranged in a logical sequence for an new installation of the Rumba product.
  • Support for Attachmate EXTRA! Personal Client
  • Configuring DLC over 802.2 on Windows 95
    This document provides sample views of DLC over an 802.2 Token-Ring / Ethernet connection for Windows '95. Please note that screen snapshots are copyright Microsoft Corporation.
  • Configuring DLC over 802.2 on Windows NT
    This document provides sample views of DLC over an 802.2 Token-Ring / Ethernet connection for Windows NT. Please note that screen snapshots are copyright Microsoft Corporation.


Configuring CCI Introduction

CCI is the acronym for Common Communications Interface. CCI is the technology used by Micro Focus products such as Mainframe Access, Fileshare and CICS, to enable communications applications. CCI allows a common approach to configuration and diagnosis of errors for users of Micro Focus distributed applications.

This book provides a wide range of examples for configuring the various Micro Focus products that use CCI. All of this information is applicable to all products that make use of CCI technology. The information is divided into several categories:

  • Specific information regarding each communications protocol supported
  • Application configuration information
  • Tracing and CCI.INI file entry specifics used to customize your communications application
  • Error messages and their possible resolution.

If you are using CCI on Windows, you can ignore the chapter on CCINAMPU.


CCI Support for APPC

  • CCI Support Modules for APPC
  • Pre-requisite SNA Support for CCIAPPC
Parent topic: Configuring CCI
Related information
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


CCI Support Modules for APPC

In order to enable CCI support for APPC one executable module is provided:

  • CCIAP32.DLL - which enables the CCI interface routines necessary for CCI equipped machines to communicate with each other. Micro Focus products use this (and other protocol-specific CCI modules) so that they do not need to worry about the complexities of the underlying network protocol.
Parent topic: CCI Support for APPC


Pre-requisite SNA Support for CCIAPPC

CCI support for APPC prerequisites the APPC support provided by a third-party SNA product. CCI uses the Windows Common Programming Interface for Communications (Windows CPI-C) to communicate with other systems using APPC. The SNA products supported by CCI on 32-bit Windows platforms are listed in the APPC Configuration section.

Parent topic: CCI Support for APPC
Related information
APPC Configuration


APPC Configuration

  • APPC Product Configuration Guides
Parent topic: Configuring CCI
Related information
CCI Support for APPC
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


APPC Product Configuration Guides

The following configuration guides describe configuration of the SNA products supported for use with CCIAPPC on 32-bit Windows platforms.

These SNA products require that a network adapter and device driver have been installed which will be used to communicate with other systems using SNA protocols. In a Local Area Network (LAN) environment you will need to have installed a LAN adapter and 802.2 Data Link Control device driver.

These guides describe how to install a DLC device driver and configure APPC for CCI communication in a LAN environment using 802.2 Data Link Control (DLC). However, you may want to use another network configuration, such as SDLC, X25 or Channel attachment, for example. Please refer to the documentation provided with the SNA product for information on configuring the SNA product in network configurations other than a LAN. In such cases, although the SNA Connection configuration will differ, the APPC configuration will be identical to that described for a LAN environment.

Parent topic: APPC Configuration
Related information
Attachmate EXTRA! Personal Client v6.3
Attachmate EXTRA! Personal Client v6.1,v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows NT/95
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
RUMBA Office 95/NT v5.0


Application Configuration

CCIAPPC Client/Server applications use the CCI Server Name and Machine Name parameters to enable the CCI Client to specify the CCI Server with which to communicate.

The CCI Server identifies itself using the Server Name parameter. The CCI Client specifies the partner CCI Server using the Server Name and Machine Name parameters.

  • CCIAPPC Server Name
  • CCIAPPC Machine Name
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


CCIAPPC Server Name

  • CCI Server

    The Server Name parameter specifies the APPC Local LU Name and Transaction Program Name (TP Name) to be used by the CCI Server.

    The format of the Server Name is as follows:

     Local-LU-Name.TP-Name

    For example, CCISERV.CCITPN01. The TP Name is optional and if absent the Local LU Name is also used as the TP Name.

  • CCI Client

    The Server Name parameter specifies the APPC Partner LU Name (also known as the APPLID on a host system) and TP Name of the partner CCI Server. The Partner LU Name (or APPLID) must match the Local LU Name (or APPLID) and TP Name as specified by the CCI Server (see above).

    The format of the Server Name is as follows:

     Partner-LU-Name.TP-Name
Parent topic: Application Configuration


CCIAPPC Machine Name

  • CCI Client

    The Machine Name parameter specifies the APPC Local LU Name for the CCI Client and and APPC Mode Name to be used by the Client to communicate with the Server.

    The format of the Machine Name is as follows:

     Local-LU-Name.Mode-Name

    For example, CCICLI.CCIMODE

    The Mode Name is optional and if absent the default APPC Mode #INTER is used.

Note:

APPC LU Names, TP Names and Mode Names can be up to 8 characters in length.

Parent topic: Application Configuration


Troubleshooting

  • CCI error message "CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined" obtained

    This occurs when the Local LU has not been properly specified for the CCIAPPC Client. Refer to the section entitled Enabling CCIAPPC To Find The Local LU in the appropriate configuration guide in the APPC Product Configuration Guides section for the SNA product in use.

For other problems refer to the section entitled Error Reporting and Diagnostics in the appropriate configuration guide in the APPC Product Configuration Guides section for the SNA product in use.

Related information
APPC Product Configuration Guides


CCIIPX Configuration

  • CCI Support for Novell NetWare IPX
  • Configuring CCIIPX Parameters
  • Available CCI.INI Options for CCIIPX
  • Application Configuration
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


CCI Support for Novell NetWare IPX

  • CCI Support Modules for IPX
  • Novell NetWare IPX Configuration
Parent topic: CCIIPX Configuration


CCI Support Modules for IPX

In order to enable CCI support for the Novell NetWare IPX transport, one executable module is provided:

  • CCIIX32.DLL - which enables the CCI interface routines necessary for CCI equipped machines to communicate with each other. Micro Focus products use this (and other protocol-specific CCI modules) so that they do not need to worry about the complexities of the underlying network protocol.
Parent topic: CCI Support for Novell NetWare IPX


Novell NetWare IPX Configuration

There is no specific configuration of the Novell NetWare or operating system environment required to run CCIIPX, however there are restrictions on the supported IPX protocol providers which can operate with CCIIPX, these differ between operating systems.

Microsoft Windows 95

  • CCIIPX v3 requires Novell's Client32(tm) NetWare Requester support as shipped by Novell. Use of Client32 version 2.20 or later is recommended.

Microsoft Windows NT

  • CCIIPX v3 requires Novell IntraNetWare Client for Windows NT(tm) v4.0a or v4.10 as shipped by Novell.

CCIIPX cannot use the Microsoft IPX compatible transport as shipped with Windows 95 or Windows NT, these IPX transports do not provide the interface support level required for CCIIPX.

Parent topic: CCI Support for Novell NetWare IPX


Configuring CCIIPX Parameters

  • CCI.INI File Options for CCIIPX
  • Why would I need to use any CCI.INI options?
  • What form do CCIIPX CCI.INI options take?
Parent topic: CCIIPX Configuration


CCI.INI File Options for CCIIPX

You can tune CCIIPX using the tuning options described below. You set the ones you want to change in the file CCI.INI.

Parent topic: Configuring CCIIPX Parameters


Why would I need to use any CCI.INI options?

The CCIIPX module has been developed to be a reliable and easy to configure protocol option in the CCI suite. In almost all circumstances CCIIPX will work correctly straight out of the box with no need to configure anything. If however some system tuning is required the following options are available under a heading of [cciipx-base] in the CCI.INI file.

CCI.INI can be located in a number of locations for testing and deployment. On Windows systems of all types the Windows root directory is a good location as it is visible from all applications. There may be configuration sections for more than one CCI protocol module in any CCI.INI file.

If you only want to affect the behavior of a single application, rather than affecting every application on the system, put the CCI.INI file (containing the CCIIPX entries for this application) in the current directory - the directory from where the application is being run.

Parent topic: Configuring CCIIPX Parameters


What form do CCIIPX CCI.INI options take?

A sample CCIIPX section of a CCI.INI file could look like:-

[cciipx-base]
 REPORT_CONNTYPES=n
 CRC_SEND=n
 CRC_FORCE_RECV=n
 CRC_REPORT_FAILS=n
 CRC_RETRY=y
 MAX_PKT_SIZE=17872

Acceptable entries for yes/no options are, "Y","y","YES" or "yes", and "N","n","NO", or "no". Mixed case words such as "Yes" are NOT accepted and default settings will be used if their use is attempted. Numeric values must always be entered in decimal format, use of HEX and OCTAL values is not supported and will lead to unpredictable results. Any unwanted entries in the CCI.INI file can be commented out using ";" as the first character of the line.

Parent topic: Configuring CCIIPX Parameters


Available CCI.INI Options for CCIIPX

  • Basic CCI.INI Options for CCIIPX
  • Advanced CCI.INI Options for CCIIPX
Parent topic: CCIIPX Configuration


Basic CCI.INI Options for CCIIPX

  • REPORT_CONNTYPES, default setting "n".

    If the application calling CCIIPX is a Console type application running on Windows 95 or Windows NT, a display will appear on the screen at the connection of a client to a server giving details of the type of connection that was established. These details include the protocol revision number (200, 201 or 202) and the maximum packet size that can be used to transmit data on the new session. If the application calling CCIIPX is not a Console type application running on one of the systems listed above, the output is lost. An example of output for an Ethernet based connection which doesn't use CRC checks is:

    "Con_Accepted: CRC_NO_SEND - v201 client, max pkt 1394 bytes"
  • CRC_SEND, default setting "n"

    Create a Cyclic Redundancy Check checksum and include this in outgoing packets, this process slows down data transmission but ensures greater data integrity on links where corruption is suspected. Connections with CRC checking switched on appear as protocol versions 200 and 202.

  • CRC_FORCE_RECV, default setting "n".

    Some servers will automatically discard CRC information from clients to save time, use of this flag will force the receiving servers to create a session which always uses the CRC information when sent from this client machine. Links with this flag set are seen as protocol type 202. NetWare Client v4.0 for NT has a inherent data integrity problem, when this client is installed CCIIPX will detect this and will always include CRC data in sessions created from these machines, CCIIPX clients on these machines will always force any server accepting their connections to use this CRC information, hence these clients will always be of protocol type 202.

  • CRC_REPORT_FAILS, default setting "n".

    This is a debugging setting, which can be used to display a notification message whenever a CRC check fails. This setting is obviously redundant in the default installations which do not utilize CRC checking at all.

  • CRC_RETRY, default setting "y".

    This is a debugging setting, which allows a system setup to use CRC checking to behave as if no CRC checking were being performed. Used in conjunction with "CRC_REPORT_FAILS=y" it can confirm a data integrity error on a link and appropriate action can be taken on the client and server systems to enable CRC checking to always preserve data, at the expense of speed on the links.

  • MAX_PKT_SIZE, default setting "17872".

    This option defines in bytes the maximum size of a data packet that can be used by CCIIPX. It will not always be possible to connect two machines at this size of packet, but negotiation to determine the largest possible packet to transmit and receive takes place at the initialization of a new session, so the largest possible packet that can be carried on the intervening link between two machines, up to this limit, will be used whenever possible.

Parent topic: Available CCI.INI Options for CCIIPX


Advanced CCI.INI Options for CCIIPX

  • SAP_OBJECT_TYPE, default setting "2088".

    We have registered service type 0x828 for CCI use, if users wish to utilize another service type in the SAP registrations they may alter this setting to do this. Users MUST remember to always use the new setting on ALL systems which require access to these re-assigned services. Since no other service type setting is registered with Novell for Micro Focus CCI, we cannot be responsible for any clashes with other installed services which my also be SAPing with the newly associated service type.

  • KA_PERIOD, default setting "27".

    This is the time period, in whole seconds, between attempts to confirm the continued existence of the remote end of a quiescent connection. See KA_RETRIES for more details.

  • KA_RETRIES, default setting "3".

    This is the number of retried attempts to confirm the continued existence of the remote end of a quiescent connection that are allowed to be missed before the remote end of the connection is declared lost. See KA_PERIOD for details as to the inter-attempt time period. Users may alter this setting to adjust the time-out of a connection and hence alter the time of detection of a dead connection. On WAN and dial-up links this period may be lengthened to accommodate the delays imposed in these architectures.

  • MAX_ASYNC_SEND_PAUSE, default setting "400".

    Maximum time in milliseconds between successive sends if no ACK has been received from the receiving end during an attempt to send a buffer. After this time another attempt will be made to send a reminder packet to the receiver. This is a very advanced setting which should only be used upon advisement from tech support, it is used to tune the system to avoid retries on already congested networks.

Parent topic: Available CCI.INI Options for CCIIPX


Application Configuration

CCIIPX Client/Server applications use the CCI Server Name and Machine Name parameters to enable the CCI Client to specify the CCI Server with which to communicate.

The CCI Server identifies itself on the network by using the Server Name parameter. The CCI Client specifies the CCI Server using the Server Name. Additionally, if it only wants to find this Server running on a particular machine in the network, it needs to specify the Machine Name parameter.

  • CCIIPX Server Name
  • CCIIPX Machine Name
Parent topic: CCIIPX Configuration


CCIIPX Server Name

Both CCI server and CCI client applications need to have a Server Name specified: server applications need to register themselves as available under this name (or what fixed port to use); and clients need to specify which server they wish to contact.

This can be any valid alphanumeric string (up to 47 characters in length). Strings must be terminated with either a space (" ") or a NULL (binary zero) byte. Names presented with a length greater than this limit will be rejected with a bad parameter message, to avoid the possibility of a truncated name allowing connection of a client to an unwanted service.

Parent topic: Application Configuration


CCIIPX Machine Name

This is a parameter that only needs to be specified by CCI client applications.

There are two aspects to the use of Machine Name

  • Clients for later versions of the old 16-bit broadcast based CCIIPX and the new CCIIPX for 32-bit Windows installations support the use of a 'Machine Name' parameter when calling CCI Client initialization functions.

    The broadcast based CCIIPX modules support the string format:

    • '<network>.<node>.<port>' - where the service port address is known.
    • '<network>.<node>' - where the service port address is unknown.

    For example, "33c251.1" for a NetWare Server based CCIIX32.NLM hosted service, where the NetWare Servers internal network number is "33c251" and the logical "node" address for the server is "1".

    The new 32-bit Windows hosted CCIIPX modules support the use of 'machinename' in exactly the same manner as the older broadcast based CCIIPX modules, however the SAP based module also support the use of ',' as the name element separators

    For example, "33c251,1" for the NetWare Server in the example above.

  • The 32-bit Windows hosted CCIIPX modules use the Novell NetWare Service Advertising Protocol (SAP) to detect the presence of CCIIPX services, without the direct need for 'machinename' information.

    The Service location detection is done by querying the contents of the NetWare Server which the client is attached to at the time. However if a large number of connections/disconnections are to be made with the same service, this SAP look-up can take up an appreciable amount of the overall time spent in using a connection.

    If the application using CCI supports this style of access, one such application is AAI, it is possible to avoid the requirement to search the SAP information on the connected NetWare Server and make the connection directly and thus speed up the connection time.

    This is done as follows:

    Set 'Machine Name' to "FFFFFFFF,FFFFFFFFFFFF,FFFF"

    The contents of the data area which holds this set of values will be over-written with the correct location of the server on the first successful connection attempt. If the same information is then passed back to the CCI Client connection call on the next connection/disconnection loop by the application, the CCI Client connection call will attempt to connect directly to this location, and avoid using the NetWare Servers SAP table completely.

    If three attempts to connect using this method are ignored (this takes 12 seconds during CCI Client connection execution time), the client will then use the NetWare Server's SAP tables and attempt to locate the service in the usual fashion. This technique provides a backup connection path, should the location information in the 'Machine Name' area become stale.

    Please note: the use of "FFFFFFFF" parameters in any other format or combination with other groups of numbers is invalid, and will result in a parameter rejection message being returned by CCI.

Parent topic: Application Configuration


CCINETB Configuration

  • CCI Support for NetBIOS
  • Configuring CCINETB Parameters
  • Application Configuration
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


CCI Support for NetBIOS

  • CCI Support Modules for NetBIOS
  • Configuring the Environment for Using CCINETB
  • Which Protocol will CCINETB Use?
Parent topic: CCINETB Configuration


CCI Support Modules for NetBIOS

In order to enable CCI support for the NetBIOS transport API, one executable module is provided:

  • CCINB32.DLL - which enables the CCI interface routines necessary for CCI equipped machines to communicate with each other. Micro Focus products use this (and other protocol-specific CCI modules) so that they do not need to worry about the complexities of the underlying network protocol.
Parent topic: CCI Support for NetBIOS


Configuring the Environment for Using CCINETB

The CCINETB module uses a NetBIOS interface to communicate over NetBEUI. Although Windows 95 and Windows NT offer NetBIOS interfaces running over other protocols such as TCP/IP, it is recommended that you use CCINETB with NetBEUI only. If communication over any other protocol is required, you should use the associated CCI module for that protocol.

Parent topic: CCI Support for NetBIOS


Which Protocol will CCINETB Use?

On Windows NT, CCINETB will, by default, interrogate the Registry and use the LAN Adapter number of the NetBEUI protocol. If, for some reason, this fails, CCINETB attempts to use LANA 0 (LAN Adapter Zero).

Parent topic: CCI Support for NetBIOS


Using CCINETB on Windows 95

Unlike Windows NT, CCINETB cannot discover the location of the NetBEUI logical Lan Adaptor (LANA) automatically, only the default LANA is defined on Windows 95, that is always LANA 0. So in Windows 95 some manual configuration may be required if NetBEUI is installed as well as other protocols.


Multiple Protocols on Windows 95

On Windows 95, it may be necessary to configure the default protocol to ensure that the NetBIOS interface is being used over the NetBEUI protocol. CCINETB will, by default, attempt to use the LAN Adapter number of the default protocol and the default protocol always uses LANA 0 (LAN Adapter Zero).


Setting the Default Protocol on Windows 95

You can set the adapter that CCINETB will use by following the directions for setting the AdapterLoc parameter below or you can ensure that CCINETB uses the NetBEUI protocol by setting NetBEUI to be the default protocol under Windows 95 as follows:
  1. Select the Network option in the Control Panel.

  2. Click on the Configuration tab.

  3. Double click on the NETBEUI network adapter protocol binding that you want CCINETB to use.

  4. Click on the Advanced tab.

  5. Ensure that the check box Set This Protocol To Be The Default Protocol is selected.

  6. Click OK.
  7. Restart Windows 95 for changes to take effect.


Using Multiple Adapters on Windows 95

On Windows 95, if you have configured more than one adapter, you must ensure that the NetBEUI protocol is only bound to a single adapter, the one that will be used by CCINETB. To do this:

  1. Select the Network option in the Control Panel

  2. Click on the Configuration tab.

  3. If there are multiple entries for NetBEUI, select, in turn, those that will not be used by CCINETB and then click on Remove.

  4. Click OK.
  5. Restart Windows 95 so that the changes take effect.


Configuring CCINETB Parameters

  • CCI.INI File Options for CCINETB
  • Available CCI.INI Options for CCINETB
Parent topic: CCINETB Configuration


CCI.INI File Options for CCINETB

You can tune CCINETB using the tuning options described below. You set the ones you want to change in the file CCI.INI.

  • Why would I need to use any CCI.INI options?
  • What form do CCI.INI options take?
Parent topic: Configuring CCINETB Parameters


Why would I need to use any CCI.INI options?

CCINETB can be used without any additional configuration by following the instructions above. It is possible, however, to configure some of the default parameters that CCINETB uses via the CCI.INI file.

You can create the CCI.INI file using any text editor. The CCI.INI configuration file must be placed in a directory defined on the system PATH.

Parent topic: CCI.INI File Options for CCINETB


What form do CCI.INI options take?

A sample CCINETB section of a CCI.INI file could look like:-

[ccinetb-base]

  AdapterLoc=0
  DefaultBuffLen=4096
  Commands=20
  Sessions=10
  Names=2
Parent topic: CCI.INI File Options for CCINETB


Available CCI.INI Options for CCINETB

The CCINETB parameters which are listed below must be specified in the [ccinetb-base] section of the CCI.INI file:

  • AdapterLoc, default setting "0"

    This parameter specifies the adapter and protocol binding over which CCINETB should be used.

  • DefaultBuffLen, default setting "4096"

    This parameter specifies, in bytes, the default size of the receive buffer used internally by CCI. The default value for this parameter on Windows NT and Windows 95 is 4096 bytes.

    If the data to be received is larger than the buffer, CCINETB performs multiple receive operations automatically until all the data has been received. Hence this parameter can be used to tune CCINETB to perform the minimum number of network receives whilst optimizing memory usage. For example, if you know that your CCI application will transmit data in buffers larger than 4096 bytes then increase this parameter. The maximum buffer size allowable is 65535 bytes.

  • Commands, default setting "20"

    This parameter specifies the maximum number of NetBIOS commands which can be outstanding at any one time. This parameter is used by CCINETB to allow it to communicate using NetBEUI. By default, CCINETB sets this parameter to 20 on Windows NT and Windows 95.

    On Windows 95 the default system value for the number of commands available is actually 12 . This means that the default for the maximum number of NetBIOS commands is overridden by Windows 95.

    If you are running client applications under Windows 95 this value may be sufficient. However, if you are running a server application or testing between Windows 95 sessions you may want to increase this value.

    CCINETB leaves one command outstanding for each end of a CCI session between a client and a server. It also uses two additional commands for listening for incoming connections and additional commands for canceling sessions. So, a CCI installation running a CCI server which services up to 10 connections needs to increase this parameter by at least 15 (i.e. to 27), ensuring that enough commands remain for other NetBIOS applications.

    To increase this system defined maximum:

    1. Select the Network option in Control Panel and click the Configuration tab.
    2. Double click on the NetBEUI network adapter protocol binding that you want CCINETB to use.
    3. Click on the Advanced tab, select NCBS and alter the value.
    4. Click on OK.
    5. Shutdown and restart Windows 95 so that the changes take effect.
  • Sessions, default setting "10"

    This parameter specifies the maximum number of NetBIOS sessions which can be active at any one time. By default, CCINETB sets this parameter to 10 on Windows NT and Windows 95.

    On Windows 95 the default system value for the number of sessions available is also 10. To increase the number of sessions available you must modify the system value for Windows 95. You may want to increase this value depending on how many other applications on your system require NetBIOS.

    CCINETB uses a NetBIOS session for each CCI session between a client and a server. So, a CCI installation running a CCI server which services up to 10 connections needs to increase this parameter by at least 10 (i.e. to 20), ensuring that enough sessions remain for other NetBIOS applications.

    To increase the system defined maximum:

    1. Select the Network option from the Control Panel and click on the Configuration tab.
    2. Double click on the NetBEUI network adapter protocol binding that you want CCINETB to use.
    3. Click on the Advanced tab, select Maximum Sessions and alter the setting of Value.
    4. Click on OK.
    5. Shutdown and restart Windows 95 so that the changes take effect.
  • Names, default setting "4096"

    This parameter is used to specify the maximum number of NetBIOS names which can exist in the NetBIOS name table at any one time. For Token Ring this includes the universally administered address.

    The default value for this parameter on Windows NT and Windows 95 is 2.

    The value of this parameter determines the maximum number of CCI servers which can exist at any one time.

Parent topic: Configuring CCINETB Parameters


Application Configuration

CCI Client/Server applications use the CCI Server Name and Machine Name parameters to enable the CCI Client to specify the CCI Server with which to communicate.

The CCI Server identifies itself on the network by using the Server Name parameter. The CCI Client specifies the CCI Server using the Server Name. Additionally, if it only wants to find this Server running on a particular machine in the network, it needs to specify the Machine Name parameter.

  • CCINETB Server Name
  • CCINETB Machine Name
Parent topic: CCINETB Configuration


CCINETB Server Name

Both CCI server and CCI client applications need to have a Server Name specified: server applications need to register themselves as available under this name (or what fixed port to use); and clients need to specify which server they wish to contact. This can be any valid alphanumeric string (up to 14 characters in length). Strings must be terminated with either a space (" ") or a NULL (binary zero) byte. Names presented with a length greater than this limit will be rejected with a bad parameter message, to avoid the possibility of a truncated name allowing connection of a client to an unwanted service.

Parent topic: Application Configuration


CCINETB Machine Name

No Machine Name configuration is available for CCINETB, any configuration options detected will be ignored.

Parent topic: Application Configuration


CCITCP Configuration

  • CCI Support For TCP/IP
  • Advanced Features
  • Application Configuration
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


CCI Support For TCP/IP

CCI over TCP/IP (CCITCP) allows an application to connect to another application (on another machine, usually, although it can be another process on the same machine) in two ways: directly, by specifying the TCP/IP address and port being used by the application you want to connect to (this is described in the Advanced Features section); or indirectly, by specifying a logical "Server Name" of the service you wish to connect to.

This second method allows the most flexibility: the applications can be moved from machine to machine without being altered; and the details of the machine they are running on are unimportant (as long as they support CCI and TCP/IP, of course). This flexibility is achieved by having an intermediate program which CCI can query when a connection request is made. This program contains or can obtain the necessary details to allow an application to establish a connection with another application of a given Server Name. This program is called the CCITCP2 registration daemon.

Before using CCI over TCP/IP (with or without using CCITCP2) there is some configuration that is necessary, described in the sections below.

  • CCI Support Modules for TCP/IP
  • TCP/IP Configuration
  • Running the CCI Configuration Utility
  • CCI Configuration for UNIX Users
  • Using CCITCP2
Parent topic: CCITCP Configuration
Related information
Advanced Features


CCI Support Modules for TCP/IP

In order to enable CCI support for TCP/IP three executable modules are provided:

  • CCITC32.DLL- which enables the CCI interface routines necessary for CCI equipped machines to communicate with each other. The module, its interface, and its associated functionality and other support modules, is generically referred to as CCITCP. Micro Focus products use this (and other protocol-specific CCI modules) so that they do not need to worry about the complexities of the underlying network protocol.
  • CCITCP2.EXE- a server registration module, which is used to register and advertise CCI server processes that are available for CCI clients to call. It is designed to be run as a background application, and so is sometimes referred to as a "daemon" process.
  • CCIINST.EXE- adds necessary entries to the TCP/IP services file automatically and registers the name of the machine which CCI clients will use to connect to a CCITCP2 process. It generally needs to be run only once on a machine.
Parent topic: CCI Support For TCP/IP


TCP/IP Configuration

Before the CCI modules can work effectively the appropriate TCP/IP network hardware and software drivers must be already installed, fully configured, and working. Once the TCP/IP software is installed and configured, the network connections should be fully checked out using suitable utilities, such as the TCP/IP standard commands "ping" and "ftp", before attempting to use CCI over TCP/IP. Ensure that if hostnames are going to be used (as opposed to only dotted decimal IP addresses) that the Domain Name Server (DNS) configuration is correct and that the service is working.

Where a network is connected to other networks, ensure that TCP/IP is aware of the gateway(s) to these networks by running "route add" or a similar command. Please see your TCP/IP vendor's installation and configuration guides for details of these steps.

Once you are certain that TCP/IP is fully configured and functional and that the machines which you wish to communicate with are similarly set up and reachable, then the only other configuration issue that needs to be resolved is where (and whether) a CCITCP2 daemon will be run to enable these machines to contact each other.

Parent topic: CCI Support For TCP/IP


Running the CCI Configuration Utility

This section does not apply to UNIX installations. Please refer to CCI Configuration for UNIX users

If a CCITCP2 daemon is used to allow CCITCP clients and servers to establish contact then the "CCI Configuration" utility needs to be run first. It can be started by going to the "Configuration" group under the product Start menu item and selecting "CCI Configuration". Alternatively just run CCIINST from any Micro Focus Command Prompt.

The CCI Configuration Utility asks for the address of the machine in the reachable network which is running a CCITCP2 daemon. You can enter either a hostname or a dotted decimal format address. If you do not know the TCP/IP hostname or address of the system that the CCITCP2 daemon is running on, contact your system/network administrator.

The CCI Configuration Utility also updates the TCP/IP services file with values necessary for CCI to work over TCP/IP.

If you leave the hostname field empty, CCI assumes that the CCITCP2 daemon will be running on the local machine, and the changes to the services file are still made.

If the machine running the CCITCP2 daemon changes, you must rerun the CCI Installation Utility and change the hostname to the new value. If there are any Micro Focus processes running which were started before the value was changed (e.g. Command Prompt, Integrated Development Environment, etc.) then these will need to be re-started before they pick up the new value.

Parent topic: CCI Support For TCP/IP
Related information
CCI Configuration for UNIX users


CCI Configuration for UNIX Users

Prior to using CCITCP with CCITCP2, an entry must be made in the /etc/services file as follows:-

mfcobol 86/udp

Without this entry in the /etc/services file, CCITCP2 cannot function.

On UNIX systems the user is required to set an environment variable "CCITCP2" to select the location of the machine hosting CCITCP2 executable in the network that is being used.

An example of the setting of a CCITCP2 environment variable for korn shell users is

export CCITCP2=myhostmachinename

or

export CCITCP2=192.77.293.1

The method for setting environment variables in other UNIX shells differs slightly from the examples given here, please use the appropriate method for the user shell of your choice.

Please refer to the section Environment Variables and the CCI.INI File for more details of the advanced configuration of CCITCP.

Parent topic: CCI Support For TCP/IP
Related information
Environment Variables and the CCI.INI File


Using CCITCP2

There only needs to be one CCITCP2 process active on a network in order for CCI over TCP/IP to work, as long as all machines have been configured (using the CCI Configuration Utility) to use it. Alternatively, multiple CCITCP2 processes running in the network can coexist and can communicate between each other so that a machine configured to use one daemon can find an application registered with a different daemon in the network. For instance, it is possible for every machine on the network to be running a copy of CCITCP2 and be configured to use their own local copy to search for connections. This would, however, generate a lot more network broadcast traffic compared to having just one daemon which all machines are configured to use.

The CCI Configuration Utility needs to be run on a machine before CCITCP2 can be successfully started on it (enter a blank hostname if the daemon is run locally). Once started, the daemon will accept service registrations until the effective RAM available to the process is exhausted, or until it is shut down.

CCITCP2 can be started manually at any time (as long as it is not already running) by entering:

ccitcp2

at a Micro Focus command prompt, or it can be started automatically at system start-up by including it in the startup folder. Alternatively, on NT, it can be installed as a service (see CCITCP2 as an NT Service).

  • Using Directory Server Instead of CCITCP2
  • CCITCP2 Search Order
  • CCITCP2 Troubleshooting
Parent topic: CCI Support For TCP/IP
Related information
CCI Configuration Utility
CCITCP2 as an NT Service


Using Directory Server Instead of CCITCP2

If you have installed Micro Focus Enterprise Server, available with Net Express and Server Express and standalone, then the CCITCP2 program will have been replaced by a trigger program that calls the Micro Focus Directory Server program. As far as CCI users are concerned, the Directory Server serves the same purpose as CCITCP2 and behaves in exactly the same way. Each machine that runs Enterprise Server must have the Directory Server program running on it, and for Windows machines it is automatically installed and started as a service. For more information about the Directory Server see your Enterprise Server Configuration and Administration book.

Parent topic: Using CCITCP2


CCITCP2 Search Order

If both the Server Name and Machine Name (see Application Configuration for a definition of these terms) are specified by the client application, the CCITCP2 process returns the machine and port address of the service specified to the client so that it can establish a connection with the named service. If the service is not found, an error is returned.

However, if the Server Name is specified but the Machine Name is not, the CCITCP2 process searches all the registered Server Names in the reachable network in the following order until either the named service is found or an error is returned:

  1. The CCITCP2 process returns the address and port of any occurrence of the Server Name that is registered with it and is running on the same machine as the CCITCP2 process.
  2. The CCITCP2 process returns the address and port of any occurrence of the named service that is registered with it but is running on another machine.
  3. The CCITCP2 process returns the address and port of the first occurrence of the named service that is registered with any other addressable CCITCP2 process. Note that there is no guarantee which particular service this will be.
  4. The CCITCP2 process returns an error to the calling program if the named service still cannot be found. At this point the client will probably keep re-trying for a fixed amount of time, in case the service has been started after the client first began searching for it.

You can avoid the potential problem of producing an undesired connection from the third level search by closely observing the rules followed at the first two search levels or by using a unique name for each server process on the network.

Parent topic: Using CCITCP2
Related information
Application Configuration


CCITCP2 Troubleshooting

This section provides information that may be useful if you experience problems when using CCI over TCP/IP with CCITCP2.

  • "mfcobol port entry not found in services file" error

    Run the CCI Configuration Utility on the machine receiving this error: this should automatically update the TCP/IP services file with the necessary entries.

  • "Cannot find CCITCP2" error

    Run the CCI Configuration Utility on the machine receiving this error. Make sure that the hostname or TCP address value matches that of the machine running the CCITCP2 process you expect to use, and that the CCITCP2 process is running on that machine. Use "ping" and "ftp" to make sure that the machine is reachable using the address you have specified. Check that there are no CCITCP environment variables or CCI.INI file entries over-riding the value specified by the Configuration Utility. If the value has been changed recently, make sure that the failing process has been subsequently re-started.

  • "Registered service found but could not make a connection" error

    There are two main possible causes of this message:

    • This error can occur if the CCI server the client is trying to connect to has abnormally terminated, but still remains registered with the CCITCP daemon that both the client and server are pointed at. (Where possible, CCITCP attempts to detect this sort of abnormal termination and tries to remove the Server Name entry which is no longer valid, however this cannot be guaranteed.) The client then connects to the CCITCP2 daemon, which tells it where to look for the CCI server, but when it then tries to connect to the terminated server and fails it will give the above error.

      To check to see if this is what is happening close and re-start the CCITCP2 daemon that the client is pointed at. This will clear it of all registered Server Names, including any "orphan" servers. (If CCITCP2 is running in debug console mode then you can press F2 and it will list what CCI servers are registered with it.) Check to see that the CCI service is not abnormally terminating.

    • Another reason you may get this error is if both the CCI server and client can see the CCITCP2 daemon, but they cannot contact each other directly (because of the network topology: packets from the client are not reaching the server because a bridge or router is not allowing them through). Check that the client can "ftp" from the machine running the CCI server and visa versa. If they cannot, then notify the system administrator.
  • "A CCITCP call has timed out" error

    This most commonly occurs if the server application that the client is attempting to contact is not running at the time the client is started. However, it can also a be produced in a network topology which includes routers or bridges which have not been configured to allow CCITCP2 daemons to communicate with each other. For example, if a client fails to connect with a registered service as follows:

    • Server A registers itself with the CCITCP2 process running on machine A
    • Client B looks for server A using the CCITCP2 process running on machine B
    • Client B fails to connect to server A.

    The CCITCP2 modules are designed to communicate with each other using the TCP/IP broadcast address mechanism. If this is not correctly configured, CCITCP2 cannot locate services registered with other CCITCP2 modules. If this happens, you should advise your system administrator.

    System administrators should be aware of the following:

    • Bridges and gateways that are not configured to pass broadcast addressed packets will have a blocking effect on CCITCP connectivity. These items must be re-configured to pass broadcast packets if the registration of processes is performed on a leg of a network other than that of the requesting client. The actual configuration operations for these are specific to each device. In this situation, the use of a CCITCP2 module on the same leg of the network for both client and server applications will avoid the problem.
    • Most bridges and routers can be configured to only pass broadcast packets using certain TCP/IP port numbers; that is, a filter is applied. To allow CCITCP2 to communicate across bridged networks, your router or bridge should allow broadcasts using port number 86 in the UDP domain to pass unhindered through the filter.

    For CCITCP2 modules to communicate correctly, your network must be configured to pass broadcast packets to all areas that want to use CCITCP.

Parent topic: Using CCITCP2
Related information
CCI Configuration Utility


Advanced Features

  • Running CCITCP2 as an NT Service
  • Using CCI Over TCP/IP Without CCITCP2
Parent topic: CCITCP Configuration


Running CCITCP2 as an NT Service

On Windows NT you can run the CCITCP2 daemon as an NT service by entering:

ccitcp2 -i

at the Micro Focus command prompt. (You must be logged on as a user with Administrator privilege to do this.)

Once installed as an NT service, CCITCP2 can be started and stopped via the Control Panel in the usual way.

You can use the -c option to install CCITCP2 as a service and run it in debug mode so that a console shows services being registered and connections being made:

ccitcp2 -c

Note that if CCITCP has already been installed as a non-console service it will need to be uninstalled first. To uninstall CCITCP2 as a service, use the -u option:

ccitcp2 -u

The -? option lists the available CCITCP2 startup modes.

Note:

If CCITCP2 is installed as an NT service, it will be started automatically when the NT system is re-started. If a non-service CCITCP2 has previously been added to the Windows Startup group, it should be removed; otherwise, Windows will try to start a second instance of CCITCP2.

If CCITCP2 is started from a command line with the -d (debug) option or installed as a service with the -c option, then pressing the F2 key will list the CCI services that are registered with the daemon. F4 toggles the echoing of the console output to the ccitcp2.log file in the current directory of the daemon.

Note:

If you have installed Micro Focus Enterprise Server for Windows, available with Net Express and also standalone, then the Micro Focus Directory Server (MFDS) will have been installed as a service, so there is no need to manually install CCITCP2 as a service. (If you have already installed CCITCP2 as a service, stop it and uninstall it before installing Micro Focus Enterprise Server for Windows.) For more information see the section Using Directory Server Instead of CCITCP2.

Parent topic: Advanced Features
Related information
Using Directory Server Instead of CCITCP2


Using CCI Over TCP/IP Without CCITCP2

  • Direct Connection and Starting Servers on Fixed Ports
  • Environment Variables and the CCI.INI File
Parent topic: Advanced Features


Direct Connection and Starting Servers on Fixed Ports

A CCITCP2 registration daemon is not necessary if the CCI client application and the CCI server application establish a connection directly between each other. This can only be done when the server application starts up on a specific TCP port, and the client knows which address and port the server is using.

In a relatively static application enterprise environment where the server application location is well-defined and persistent, then using direct connection can have advantages over using a CCITCP2 registration process to help establish a connection.

Allowing a server application to listen on a known, fixed port means that clients can contact the server through a security firewall if a gap has been configured for that port and address.

A CCI server can support both direct connection and normal connection via a CCITCP2 daemon simultaneously. If a server starts on a fixed port, and a CCITCP2 daemon is present, then it will register a Server Name with it as normal, but in addition clients will be able to connect to it directly because the port it is using is known. If the CCITCP2 daemon is not present or reachable then a fixed port server will still start successfully, but only clients who attempt to connect directly will be able to contact it.

Parent topic: Using CCI Over TCP/IP Without CCITCP2


Environment Variables and the CCI.INI File

A variety of environment variables and CCI.INI file entries can be used to customize CCI behavior either on a machine-wide or per-process basis. Most users should not need to use either of these methods, but they are provided in case a greater degree of application control is required.

If more than one of the above methods is used for the same purpose or feature, the order of precedence that determines the behavior is:

  1. environment variable
  2. CCI.INI option
  3. the original or default behavior
  • CCITCP Environment Variables
  • CCITCP Options in the CCI.INI File
Parent topic: Using CCI Over TCP/IP Without CCITCP2


CCITCP Environment Variables

  • CCITCP2 Environment Variable

    Instead of using the CCI Configuration Utility to set the TCP address of the machine running the CCITCP2 registration daemon the environment variable "CCITCP2" can be used instead. This may be useful if you need different processes on the same machine to contact different registration daemons. The value can be set from the command prompt by typing:

    set CCITCP2=hostname

    where hostname is the TCP hostname or dotted decimal IP address of the machine running the CCITCP2 daemon you wish to contact from that session.

    The environment variable value will always take precedence over any value set using the Configuration Utility. To restore a process to using the value set by the Configuration Utility simply set the environment variable to an empty string e.g.

    set CCITCP2=

    Alternatively, if this environment variable is set system-wide (by creating a system variable in the system environment settings, or by using a CONFIG.SYS file) then this value will always take precedence over any value set using the Configuration Utility.

  • CCITCPS_ Environment Variable

    If you want to start a CCI server on a fixed port, then you can associate the Server Name with the port value by using the CCITCPS_ environment variable (instead of appending the information on the Server Name itself, as described in the CCITCP Server Name section). If the Server Name is server_name, and you want it to use the fixed TCP port 3000, this can be specified by typing:

    set CCITCPS_server_name=MFPORT:3000

    Note that this will only work if the server application process is started in the same session or process that has this environment variable set.

  • CCITCPT_ Environment Variable

    If a client is known to be trying to connect to a server with Server Name server_name, and the TCP address (server_hostname) and port (e.g. 3000) that the server is using is known, then the client can be made to connect directly to it by setting an environment variable as follows:

    CCITCPT_server_name=MFNODE:server_hostname,MFPORT:3000

    Note that this can be used instead of setting the client Machine Name value (see section CCITCP Machine Name). This is useful if the Machine Name value the client specifies cannot be altered by an application defined method.

Parent topic: Environment Variables and the CCI.INI File
Related information
CCITCP Server Name
CCITCP Machine Name


CCITCP Options in the CCI.INI File

The CCI.INI file is only used by CCITCP if direct connection or a fixed port server is required. In addition, this configuration method is only recommended when the Server Name or Machine Name cannot be modified by the application that is using CCI, and the environment variable method described in the section above is also not considered suitable.

There are two possible sections in the CCI.INI file which are specifically used by CCITCP:

[ccitcp-servers]

which can have entries of the following form:

server_name=MFPORT:xxxxx

This is used exclusively to match a given Server Name server_name (see CCITCP Server Name for a description of valid values) with a fixed TCP port value xxxxxx.

The other CCI.INI section used is:

[ccitcp-targets]

which expects entries of the following form:

server_name=MFNODE:server_hostname,MFPORT:xxxxx

This is used exclusively by clients to associate a target Server Name server_name with a Machine Name value to the right of the "=" character (see CCITCP Machine Name for valid values and uses).

Parent topic: Environment Variables and the CCI.INI File
Related information
CCITCP Server Name
CCITCP Machine Name


Application Configuration

CCITCP Client/Server applications use the CCI Server Name and Machine Name parameters to enable the CCI Client to specify the CCI Server with which to communicate.

The CCI Server identifies itself on the network by using the Server Name parameter. The CCI Client specifies the CCI Server using the Server Name. Additionally, if it only wants to find this Server running on a particular machine in the network, it needs to specify the Machine Name parameter.

  • CCITCP Server Name
  • CCITCP Machine Name
Parent topic: CCITCP Configuration


CCITCP Server Name

Both CCI server and CCI client applications need to have a Server Name specified: server applications need to register themselves as available under this name (or what fixed port to use); and clients need to specify which server they wish to contact. The Server Name is not the same as the TCP host name of the machine the application is running on, but a name chosen by the server application to identify itself on the network so that client applications can find it whichever machine it is running on.

Server Name can be any valid alphanumeric string (up to 127 characters in length). Names beginning with a ',' character, or including the consecutive characters ",MF" are reserved for Micro Focus use.

If you wish to have the server start on a fixed or known TCP port (see Direct Connection and Starting Servers on Fixed Ports), then this can be achieved by appending the string ",MFPORT:xxxxx" to the Server Name, where xxxxx is the decimal value of the port. This string is not used as part of the Server Name, but is interpreted by CCI so that the server uses the specified port for listening for incoming clients. If you do not wish the server to have any name (that is, clients cannot use CCITCP2 to contact the server, but can only specify it directly by using the Machine Name parameter) then the Server Name need only consist of this string.

Note:

It is recommended that you do not use port numbers below 2000 as these may already be in use by standard TCP services. The maximum port value normally supported is 65535. Care should be taken not to use a port value that is already in use by other standard applications: check with the system or network administrator on valid port value ranges that should be used.

Parent topic: Application Configuration
Related information
Direct Connection and Starting Servers on Fixed Ports


CCITCP Machine Name

This is a parameter that only needs to be specified by CCI client applications.

This should be the TCP address (either the hostname if DNS is enabled, or the dotted decimal address if not) of the machine you wish to restrict the client to contacting. If you know that the Server Name of the application the client is trying to contact is unique in the reachable network, or you do not care which server of this same name it connects to, then this parameter is optional.

If you do not wish to use a CCITCP2 daemon to resolve the TCP address and port that the server is using (see Using CCI over TCP/IP without CCITCP2), but want the client to contact the server directly, then the Machine Name must have the following form:

MFNODE:server_hostname,MFPORT:xxxxx

where server_hostname is the hostname or dotted decimal address which the server application is using, and xxxxxx is the decimal port value.

Parent topic: Application Configuration
Related information
Using CCI over TCP/IP without CCITCP2


CCINAMPU Configuration

  • CCI Support for UNIX Named Pipes (FIFOs)
  • Application Configuration
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


CCI Support for UNIX Named Pipes (FIFOs)

  • CCI Support Module for UNIX Named Pipes
  • Transport Speed
  • CCI.INI File Options for CCINAMPU
Parent topic: CCINAMPU Configuration


CCI Support Module for UNIX Named Pipes

In order to enable CCI support for UNIX Named Pipes, one shared object executable module is supplied

  • cobnampu.so - which enables the CCI interface routines in CCI enabled processes to communicate with each other.

The CCINAMPU module is used to connect processes on single UNIX machines using UNIX named pipes (FIFO pipes). Any process running on a machine which has CCINAMPU installed can access any service on that same machine. CCINAMPU cannot communicate with CCINAMP for OS/2.

Parent topic: CCI Support for UNIX Named Pipes (FIFOs)


Transport Speed

For a given machine CCINAMPU may perform faster than using CCITCP in loopback mode (communicating on a single machine). This is entirely dependant upon the priorities given to each method of communication by the UNIX kernel design on any given system, it is recommended that users try both CCITCP and CCINAMPU and select whichever performs quicker in their own system.

Parent topic: CCI Support for UNIX Named Pipes (FIFOs)


CCI.INI File Options for CCINAMPU

Unlike many other CCI protocol modules, there are no CCI.INI configuration options available when using CCINAMPU.

Parent topic: CCI Support for UNIX Named Pipes (FIFOs)


Application Configuration

CCI Client/Server applications use the CCI Server Name and Machine Name parameters to enable the CCI Client to specify the CCI Server with which to communicate.

The CCI Server identifies itself on the network by using the Server Name parameter. The CCI Client also specifies the CCI Server using the Server Name. Additionally, if it only wants to find this Server running on a particular location within the UNIX machine, it needs to specify the Machine Name parameter.

In other protocols Machine Name is used to specify the individual machine hosting a service, with CCINAMPU Machine Name is used to denote the directory location of the service's listening Named Pipe, as such within a single UNIX system there may be several Services using the same Server Name but residing in different areas of the system.

  • CCINAMPU Server Name
  • CCINAMPU Machine Name
  • Default Service Location
  • Common Error Status
Parent topic: CCINAMPU Configuration


CCINAMPU Server Name

The Server Name specified in the creation of a CCINAMPU server can be one of the following:

  • A relative pipe-name (default)
  • An absolute pipe-name

A relative pipe-name is equivalent to an absolute pipe-name composed of a concatenation of the path /usr/spool/uucppublic/.CCI/ together with a period and the given server name. A relative pipe-name must be at least one character less than the maximum allowed length of a filename for the operating system.

For example, a Server Name consisting of

mainsrvr

would generate a named-pipe with the name /usr/spool/uucppublic/.CCI/.mainsrvr which would be unique on the machine in use.

The only restriction for using an absolute pipe-name is that the pipe name must be of a file layout supported by the host machine's file system.

An example of an absolute pipe-name is:

/u/work/pipespace/mainsrvr

This creates a pipe at the exact location specified. If the user attempting to create the pipe does not have permissions to use the requested directory, CCINAMPU issues an error.

All absolute pipe-names must start with a leading slash (/).

Parent topic: Application Configuration


CCINAMPU Machine Name

The CCINAMPU client initialization function always assumes that a Server Name is a relative pipe-name when it is passed an empty Machine Name parameter. When CCI-Initclient is passed a non-empty Machine Name parameter, the pipe-name searched for is composed of the absolute Server Name with the Machine Name preceding it to form the complete absolute path.

Thus if Server Name is passed as:

mainsrvr

and Machine Name is passed as:

/u/work/pipespace

the resultant pipe that is searched for would be /u/work/pipespace/mainsrvr

and would connect with the example of an absolute servername used in the description for starting a CCINAMPU server given above.

An absolute pipe-name must be consistent with any limitations of the file system in use on the host machine at all times. You should be aware that file permissions apply to named-pipes as well as to files.

Absolute pipe-names cannot be used across network file systems (NFS) successfully. Therefore, we recommend that relative pipe-names are used for simplicity in the majority of applications.

Parent topic: Application Configuration


Default Service Location

Unlike CCITCP, there is no central registration module for CCINAMPU. Any Server Name given to CCINAMPU as a relative pipe name, for example, "SRVS" appears as a pipe-file in the directory /usr/spool/uucppublic/.cci/.SRVS.

These are not normal files but they are affected by access permissions. So, if a server doesn't respond to a client's request, the first check should be made on access permissions. All files, and the directory itself, should have READ and WRITE permissions for all processes.

Parent topic: Application Configuration


Common Error Status

When running an application which uses CCINAMPU, if an error occurs when starting either the client or the server components, and the error status indicates that the system was too busy to create a new pipe, then it is most likely that the access permission set in the service location directory - for default service locations /usr/spool/uucppublic - is incorrect. The permission must be set to 777 for CCINAMPU to function correctly for all users at all times.

Parent topic: Application Configuration


Application Configuration

  • CCI Configuration for the Mainframe Access Product Suite
  • CCI Configuration for Fileshare
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


CCI Configuration for the Mainframe Access Product Suite

The section CCI Configuration in the protocol specific CCI configuration for Applications section below, describes the prerequisite CCI configuration for each protocol, which must be completed prior to its successful use with any application, including the Mainframe Access product suite.

Once the system has been configured correctly for use with CCI the following CCI parameters in Mainframe Access must be configured as described below:

  • CCI communication type

    Select the CCI protocol to use.

  • Standard Server Name

    Specify the standard server name of the Fileshare Server, which is Server Name as described in the section Server Name guide for the CCI Configuration being used.

  • Standard Server Machine Parameters

    Specify the Standard server machine parms, which is Machine Name as described in the section Machine Name guide for the CCI Configuration being used.

  • An example of using APPC with Mainframe Access
  • An example of using TCP/IP with Mainframe Access
Parent topic: Application Configuration
Related information
CCI configuration for Applications


An example of using APPC with Mainframe Access

The Partner LU Name portion of the Standard Server Name (before the period) for Mainframe Access must match the Partner LU Name, also known as the APPLID, of the Fileshare task running on the host system. The Transaction Program Name portion of the Standard Server Name for Mainframe Access (following the period) should be four characters long with 'F' as the fourth character.

In the example below the mainframe Server Name used is FILESHR2.BETF.

Parent topic: CCI Configuration for the Mainframe Access Product Suite


An example of using TCP/IP with Mainframe Access

In the example below the mainframe Server Name used is FILESHR2.MYSERVER.

If the mainframe connection supports direct connection, then the Standard Server Machine Parameter needs to be filled out. In this example the TCP hostname of the mainframe is server_hostname, and the fixed listening port is 3000. If the connection is direct then the Standard Server Name is optional.

Parent topic: CCI Configuration for the Mainframe Access Product Suite


CCI Configuration for Fileshare

  • Generic Fileshare Configuration
  • CCI Configuration for Applications
Parent topic: Application Configuration


Generic Fileshare Configuration

This may also be described as Record Level I/O especially when the Fileshare Server is running on a mainframe system.

The section CCI Configuration in the protocol specific CCI Configuration for Applications section below, describes the prerequisite CCI configuration for each protocol, which must be completed prior to its successful use with Fileshare.

Once the underlying protocol support has been configured correctly for use with CCI the following CCI parameters in Fileshare must be configured as described below:

  • Communication Module Parameter

    This is specified using the FSCOMMS environment variable or the Fileshare Server /CM parameter or the /CM parameter in the FHREDIR.CFG Fileshare Client configuration file.

  • Server Name Parameter

    This is specified using the FSSERVER environment variable or the Fileshare Server /S parameter or the /S parameter in the FHREDIR.CFG Fileshare Client configuration file.

    Specify the Server Name of the Fileshare Server as described in the section Server Name guide for the CCI Configuration being used.

    For example,

    SET FSCOMMS=Server-Name

    or in FHREDIR.CFG:

    /S
                Server-Name
  • Machine Name Parameter

    This is specified using the /MA parameter in the FHREDIR.CFG Fileshare Client configuration file. Note that the /MA parameter must be on the same FHREDIR.CFG text line as a matching /S parameter.

    Specify the Machine Name as described in the section Machine Name guide for the CCI Configuration being used.

For example, in FHREDIR.CFG:

/MA Machine-Name /S Server-Name

Note that Fileshare has a limit of 64 characters for the /MA parameter.

  • Example FHREDIR.CFG Configuration File for Use with APPC
  • Example FHREDIR.CFG Configuration File for Use with Multiple CCI Modules
  • Example FHREDIR.CFG Configuration File for Use with Default CCI Modules
Parent topic: CCI Configuration for Fileshare
Related information
CCI Configuration for Applications


Example FHREDIR.CFG Configuration File for Use with APPC

/MA CCILLU01.#INTER /S FILESHR2.BETF
/CM CCIAPPC /S FILESHR2.BETF
/F SYSOUT* /S FILESHR2.BETF

Fileshare can be used with multiple CCI protocols simultaneously, by specifying different CCI communications modules for each Fileshare Server, and by specifying which files reside on which server.

Parent topic: Generic Fileshare Configuration


Example FHREDIR.CFG Configuration File for Use with Multiple CCI Modules

/MA CCILLU01.#INTER /S FILESHR2.BETF
/CM CCIAPPC /S FILESHR2.BETF
/F SYSOUT* /S FILESHR2.BETF
/CM CCINETB /S FILESHR1
/F MYFILE /S FILESHR1

Fileshare also has the capability to specify a default protocol to be used whenever a file location is not specified directly in the configuration file.

Parent topic: Generic Fileshare Configuration


Example FHREDIR.CFG Configuration File for Use with Default CCI Modules

/CM CCITCP
/MA 32CC461,1 /S FILESHR2
/CM CCIIPX /S FILESHR2
/F FileName /S FILESHR2

This configuration file works in the following manner:

  • /CM CCITCP

    specifies the use of CCITCP as the default protocol to be used whenever no other specific configurations apply.

  • /MA 32CC461,1 /S FILESHR2

    specifies a Machine Name location to be used whenever the Fileshare server called "FILESHR2" is accessed.

  • /CM CCIIPX /S FILESHR2

    specifies that CCIIPX be used to contact the Fileshare server called FILESHR2.

  • /F FileName /S FILESHR2

    specifies that any access to a specific file called "FileName" is always made to Fileshare Server called "FILESHR2".

Parent topic: Generic Fileshare Configuration


CCI Configuration for Applications

Each application which uses CCI has different configuration mechanism, however the details of the CCI communications requirements are the same for all applications calling the same CCI module. These CCI configuration requirements are detailed in the sections in the table below. For details on the Protocol specific CCI Configuration, Server Name and Machine Name guidelines, please click on the appropriate item in the CCI configuration table below.

  • CCI Configuration Information by Protocol
  • Advanced Use of CCITCP Without Using CCITCP2
Parent topic: CCI Configuration for Fileshare


CCI Configuration Information by Protocol

For normal use of CCI protocol modules, including CCITCP using the CCITCP2 service registration daemon, please use the links in the following table to help configuration of the relevant environments. For details of using CCITCP without using CCITCP2, please see the section below.

CCIAPPC | CCI Configuration | Server Name guide | Machine Name guide
CCIIPX | CCI Configuration | Server Name guide | Machine Name guide
CCINETB | CCI Configuration | Server Name guide | Machine Name guide
CCITCP | CCI Configuration | Server Name guide | Machine Name guide
CCINAMPU | CCI Configuration | Server Name guide | Machine Name guide
Parent topic: CCI Configuration for Applications
Related information
CCIAPPC Configuration
Server Name guide
Machine Name guide
CCI Configuration
Server Name guide
Machine Name guide
CCI Configuration
Server Name guide
Machine Name guide
CCI Configuration
Server Name guide
Machine Name guide
CCI Configuration
Server Name guide
Machine Name guide


Advanced Use of CCITCP Without Using CCITCP2

It is possible to use CCITCP without having a CCITCP2 daemon present (see Direct Connection and Starting Servers on Fixed Ports on why you may want to do this). This method may be used for all applications which use CCITCP.

Example:

To start a Fileshare Server using a fixed TCP port, on the machine whose TCP hostname is server_hostname, enter the following command:

fs /s server_name,MFPORT:3000 /cm CCITCP

where:

server_name | is the name of the Fileshare Server
,MFPORT:3000 | is used by CCITCP to ensure that the server listens for incoming calls on port 3000

Once you have configured the Fileshare Server to use a specific port, you can get a Fileshare Client to connect to the server on this port number using the /MA parameter in the FHREDIR.CFG file to specify a Machine Name of the form:

/MA MFNODE:server_hostname,MFPORT:3000 /S server_name

The FHREDIR.CFG will look like this:

/S server_name
/CM ccitcp
/MA MFNODE:server_hostname,MFPORT:3000 /S server_name
Parent topic: CCI Configuration for Applications
Related information
Direct Connection and Starting Servers on Fixed Ports


CCI Trace

  • Activating CCI Trace
  • CCI Trace Options
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


Activating CCI Trace

To activate CCI Trace add the following /tr parameter setting to the Fileshare Server configuration file.

/tr cci

To prevent unauthorized access to the CCI Trace information you are prompted for the supervisor password when you invoke a Fileshare Server with CCI Trace enabled (the supervisor password is that specified for the user-ID FSVIEW in the password file so you must specify this password when you start the Fileshare Server). If the password is accepted CCI Trace is enabled and a second prompt asks if CCI Trace should be activated immediately or not.

CCI Trace can be toggled on and off using the F3 key.

Parent topic: CCI Trace


CCI Trace Options

  • CCITRACE Environment Variable
  • CCI.INI Trace Options
Parent topic: CCI Trace


CCITRACE Environment Variable

CCI trace can be enabled for any application by setting the CCITRACE environment variable as follows:

CCITRACE=filename [options]

where:

filename
The name of the log file you want the trace output to go to. If you do not specify this parameter, the log file ccitrc1.trc is created in the current directory with all options set to their default states. A matching filename.idx will also be generated.
options
Any, or all, of the following:
/F or -F | logs the details of CCI API calls to the trace file. The default condition for this option is OFF, unless a filename or any other trace option are specified, in which case it is always ON.
/P or -P | logs the details of protocol level calls to the trace file. If this flag is not ON, then only the details of the CCI user level API will be traced. If this flag is ON, the level of function tracing may be greatly increased. The default condition for this option is OFF.
/D or -D | logs the contents of all buffers passed to and from the CCI functions. The default condition for this option is OFF. Data tracing may not be allowed if the application has been coded to prohibit data tracing for security reasons.

So to create a CCI trace file with the default name of ccitrc1.trc (with matching ccitrc1.idx file) which traces CCI API function flow, along with the underlying protocol function flow, but with no tracing of the user data passed to these calls, the value of the CCITRACE environment variable would be /P.

The CCI.INI file can also be used to control trace options, but any values specified by the CCITRACE environment variable will take precedence.

Parent topic: CCI Trace Options


CCI.INI Trace Options

CCI trace options can be specified via the CCI.INI file. These options are listed under the [ccitrace-base] section.

Option | Value | Meaning
force_trace_on | yes or no | If yes, logs the details of CCI API calls to the trace file. The default condition for this option is no. Unless this option is specified, no tracing will be generated, even if the other options are specified to yes.
protocol_trace | yes or no | If yes, logs the details of protocol level calls to the trace file. If this option is yes, the level of function tracing may be greatly increased. The default condition for this option is no.
data_trace | yes or no | If yes, logs the contents of all buffers passed to and from the CCI functions. The default condition for this option is no. Data tracing may not be allowed if the application has been coded to prohibit data tracing for security reasons.

For example, to turn on CCI API tracing and data tracing, but not protocol level tracing, the CCI.INI file would need to contain the following

[ccitrace-base]
force_trace_on=yes
protocol_trace=no
data_trace=yes

Note that if trace options have been specified via a CCITRACE environment variable they will take precedence over any trace options specified in the CCI.INI file.

Parent topic: CCI Trace Options


CCI.INI - The CCI Configuration File

  • What is the CCI.INI File?
  • Where to Locate CCI.INI
  • The Format of CCI.INI
  • Specific Contents of CCI.INI for Each CCI Module
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


What is the CCI.INI File?

The CCI.INI file is used to specify selective configuration options for all or some CCI modules installed on a system. The contents of the CCI.INI file will vary from system to system in a network, depending upon the requirements for tuning each individual system.

Parent topic: CCI.INI - The CCI Configuration File


Where to Locate CCI.INI

CCI.INI may be located in a number of locations for testing and deployment. The Windows root directory is a good location as it is visible from all applications. There may be configuration sections for more than one CCI protocol module in any CCI.INI file so care is required when choosing the location for a CCI.INI file. If you only want to affect the behavior of a single application, rather than affecting every application on the system, put the CCI.INI file (containing the CCIIPX entries) in the current directory, from where the application is being run.

Parent topic: CCI.INI - The CCI Configuration File


The Format of CCI.INI

CCI.INI is a plain text file, which may be edited or created by any text editor. A CCI.INI file may look like this:-

[cciipx-base]
  REPORT_CONNTYPES=n
  CRC_SEND=n
  CRC_FORCE_RECV=n
  CRC_REPORT_FAILS=n
  CRC_RETRY=y
  MAX_PKT_SIZE=17872

[ccinetb-base]
  AdapterLoc=0
  DefaultBuffLen=4096
  Commands=20
  Sessions=10
  Names=2

[ccitcp-servers]
  myserver=MFPORT:3000
Parent topic: CCI.INI - The CCI Configuration File


Specific Contents of CCI.INI for Each CCI Module

The following sections describe the usage of CCI.INI file for all the available CCI modules.

  1. There are no CCI.INI tuning options for CCIAPPC
  2. CCI.INI usage for CCIIPX
  3. CCI.INI usage for CCINETB
  4. CCI.INI usage for CCITCP
  5. There are no CCI.INI tuning options for CCINAMPU
  6. CCI.INI usage for CCI Trace
Parent topic: CCI.INI - The CCI Configuration File
Related information
CCI.INI usage for CCIIPX
CCI.INI usage for CCINETB
CCI.INI usage for CCITCP
CCI.INI usage for CCI Trace


CCI Status Messages

  • CCI Status Messages
  • CCI Message Table
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


CCI Status Messages

All CCI modules produce text based error messages describing the status of the completion of the last CCI operation. Some errors are critical and require remedial action before use of the affected CCI module can continue. Others are warnings and, in most cases, do not require you to take any action.

When an error occurs in the communications layer the CCI status codes returned to calling applications will change to reflect the underlying problem that has occurred. All CCI enabled applications can then make a call to CCI to obtain a text message describing the problem.

The manner in which these messages is returned to the application user is specific to each application, however the actual text returned from CCI is the same in all cases. The sections below indicate what the status messages mean, and what steps can be taken by the user to correct the situation which created the error status in the first place.

The text format used for all CCI messages is as follows:-

"CCINETB-0001I A CCINETB call has timed-out."

This is broken down in to the following sections:

  • Protocol issuing the message - "CCINETB"
  • Message number - "0001"
  • Severity level - "I"
  • Message text.- "A CCINETB call has timed-out."

Not all the available messages are produced by all the protocol modules, there are also messages which are specific to individual aspects of configuration on specific protocol environments. Some status are intended for use only during the development of CCI enabled applications, where these status are seen by the end user they should contact our technical support staff and report the situation and applications which generated the status condition.

Parent topic: CCI Status Messages


CCI Message Table

The following is a list of status numbers returned which may be produced from CCI modules, along with a brief explanation of their meaning, and, if applicable, a suggestion as to how to resolve the issue being reported. Status numbers which are produced to aid coding of CCI applications have been included in this list.

Message Number | Severity | Reason | Suggestion
0000 | Information | The last operation completed successfully | No action to take
0001 | Information | The last operation Timed-out prior to completion. | Increase time-out periods if the application allows, or check the status of the remote application to ensure that its host system is still functioning.
0002 | Information | A buffer given to a CCI receiving operation was too small to contain the incoming data stream. | This is a warning intended for applications designers. Contact us if you suspect that this is actually causing a problem.
0003 | Error | A bad parameter was given to a CCI function. | This is a application coding problem. Contact our technical support department and report any of these errors that appear.
0004 | Warning | This is only generated from a Service initiation. This status indicates that a Service with the same name was previously registered at the same network address. | No action required, the current Service is now registered with the network, connecting clients will connect to this Service.
0005 | Error | This is only generated from a Service initiation. This status indicates that a Service with the same name was previously registered at the same network. | Two services cannot exist on some networks with the same Service name, choose another name to start this Service with.
0006 | Error | A name parameter passed being used to start a client or a Service was invalid. | The range of valid names differs for underlying protocols, please see the sections for the relevant CCI module for the protocol in use for this information.
0007 | Error | An attempt was made to use a connection which has already been terminated. | This is a application coding error, contact our technical support department and report any occurrence of this error.
0008 | Error | A broken connection was detected on this link. | Check the status of the network supporting this link and determine whether the problem lies at the network or at the machine at the far end of the link.
0010 | Warning | The CCI module in use was too busy to complete the request. | Allow some of the outstanding CCI actions to complete before trying again.
0011 | Warning | The CCI module discovered that the system was too low on memory to complete an action. | Close any unwanted applications, and free up some memory to allow the application to continue.
0012 | Error | No service was found, the client could not complete a connection request. | Check the address passed as a location to the client and try again.
0013 | Error | The address specified in the direct addressing modes would not accept a client connection. | Check the address passed as a location to the client and try again. The service listening at the far end may not be compatible with a CCI client.
0014 | Error | An error occurred when creating a network endpoint. | The local network service provider was incapable of creating a new connection point, this usually means that a resource limit has been reached, or that the network itself is disabled. Check the system status and raise network resources as appropriate.
0015 | Error | A transport error has occurred | CCI full network transport failure has been reported to CCI from the transport provider. Check the network status, correct any problems that are found and try again.
0016 | Error | A CCI support module was not found on the network. | Some CCI protocols and configurations require network support modules, such as CCITCP2, please check to ensure that you have configured your network correctly to use CCI, and that the required support modules are running before starting CCI, then try again.
0017 | Error | A transport connection error has occurred | Where possible CCI will distinguish between this message and message 0016. This message indicates that an individual connection has failed, rather than a general network failure occurring. Check the application at the far end of the link to ensure that it is still functioning.
0018 | Information | An asynchronous call has not completed yet. | This status is intended for application programmers to monitor the status of an ongoing operation, it may be ignored by end users.
0019 | Information | An asynchronous call has completed correctly. | This status is intended for application programmers to monitor the status of an ongoing operation, it may be ignored by end users. It is functionally equivalent to status "0000".
0020 | Information | An asynchronous call has completed part one of a two part operation.. | This status is intended for application programmers to monitor the status of an ongoing operation, it may be ignored by end users.
0021 | Error | An error occurred when closing a session. | This could be a network or operating system failure, however a failure at this time may not affect the overall running of an application. Contact our technical support department if you suspect that this is actually causing a problem.
0022 | Error | This is only generated from a Service termination. Could not de-register a service | There was a problem when terminating a service that prevented it being de-registered from the CCI support modules such as CCITCP2, or from the network provider itself. Subsequent attempts to start a Service with the same name will generate messages 0004 or 0005 depending upon the network which is being used.
0023 | Error | This is only generated from a Service application. A client connection could not be completed due to a network level error condition. | The network service provider reported a failure to allow a full connection of an incoming client. Check the connecting clients to determine which of them is failing to connect, then check the network provider on the client and server machines for version compatibility.
0024 | Error | A call to HANGUP a server session could not complete as data was still queued. | This is an application coding error. Contact our technical support department.
0025 | Error | Transport initialization failure, INITCLIENT could not find CCITCP2, | The UDP support in the TCP/IP service provider configuration may be switched off, or may have run out of available resources. Ensure that UDP is enabled and that sufficient sockets are available, then try again.
0026 | Error | Transport initialization failure during INITCLIENT. | Check the version details of the network service provider to ensure that CCI is compatible with this level of network provider.
0027 | Error | A call to CCI-Query was made with an invalid session handle. | This is an application coding error. Contact our technical support department.
0028 | Error | A call to CCI-Wait was made with an invalid session handle. | This is an application coding error. Contact our technical support department.
0029 | Error | Parameters were incorrectly passed to the call named in the text. | This is an application coding error. Contact our technical support department.
0030 | Error | A listen call failed as the machine was too busy to receive any more incoming client connections. | The system configuration is too small to support the connection load being used, either increase the system capacity for the protocol in use, or reduce the load on this specific system by examining other possible alternative to using this system.
0031 | Error | A CCI function detected a transport failure during an attempt to receive a data buffer. | The network, or the machine at the far end of the connection, experienced an error condition, correct the network error and try again.
0032 | Error | CCI-Transact function detected a transport failure during an attempt to send a data buffer. | The network, or the machine at the far end of the connection, experienced an error condition, correct the network error and try again.
0033 | Error | CCI-Transact function detected a transport failure during an attempt to receive a data buffer. | The network, or the machine at the far end of the connection, experienced an error condition, correct the network error and try again.
0034 | Error | CCITCP could not find an entry for "mfcobol" in the "services" TCP/IP configuration file. | An entry such as : 'mfcobol <TAB> 86/udp' must be included in the file for CCI to establish a registration ,or make a registration enquiry with a CCITCP2 module.
0035 | Error | The far end of a connection has been reset. | Check this status of the remote end of a connection as it appears to have dropped off the network.
0036 | Information | CCITCP2 could not be found, a CCI Service could not de-register correctly from CCITCP2. | The Service registration module, CCITCP2, may have been closed or the network link to the machine hosting CCITCP2 may have died. If CCITCP2 is still running any requests for this Service will find a registration which is not responding to Client connection attempts. Any further requests to register the Service by the same name will get a status "0004" returned as it was already registered. See the CCITCP configuration guide for further details about using CCITCP2.
0037 | Error | An invalid service handle was passed to the CCI function named in the text. | This is an application coding error. Contact our technical support department.
0038 | Error | An invalid async' request handle was passed to CCI-Query or CCI-Wait. | This message has been superceded by "0027" and "0028" and should only be found on older CCI installations. See "0027" and "0028" for the correct action to take.
0039 | Warning | A data buffer and length combination given to CCI crossed a segment boundary in memory. Data was truncated at this boundary. | This is an application coding error. Contact our technical support department.
0040 | Error | A call to CCI-Suspend was made prior to a call to CCI-Resume. | This is an application coding error. Contact our technical support department.
0041 | Error | A call to initialize a network service provider has failed | Check the network support for the system and correct any problems found, then try again.
0042 | Error | Could not attach to a Network Server | This CCIIPX message indicates that no NetWare server has been found on your network. CCIIPX cannot operate with a NetWare server on its network and so cannot continue.
0043 | Error | Cannot connect to an incompatible version of CCI | A connection has been requested between dissimilar CCI installations, this has been detected and to prevent possible data flow problems a connection cannot be completed. please check the revisions in use and update the CCI installations as required before trying again.
0044 | Error | Could not register a service | This could be a configuration error, see CCITCP2, or the underlying network could have failed to allow the registration due to insufficient capacity of available resources, see message 0025 and CCINETB configuration.
0045 | Error | A bad address was passed to a CCI initialization call. | Check that the addresses used in the configuration are of the correct style and content for the CCI module being used, then try again.
0046 | Error | CCIAPPC failed to locate an APPC session | Ensure that the local LU is defined for this session.
0047 | Error | A call to CCI failed as CCI has already been terminated. | This is an application coding error. Contact our technical support department.
0048 | Error | A bad data buffer location was passed to CCI for use in sending or receiving data. | This is an application coding error. Contact our technical support department.
0049 | Error | CCI-Trace was unable to create trace output files for the CCI module named in the text. | There may be insufficient space left on the fixed disk to hold the data trace file. Please clear some space and try again.
0050 | Error | The requested CCI-TRACE output file could not be opened | Check that write permissions are available for the user of the application being traced, and that there is sufficient disk space remaining to store the trace file before trying again.
0051 | Error | An unexpected CCI error has occurred. | This is an internal CCI error. Contact our technical support department.
0052 | Information | This status is reserved for future use. |
0053 | Information | This status is reserved for future use. |
0054 | Information | This status is reserved for future use. |
0055 | Warning | Cannot send or receive data on a suspended session. | This is an application coding error. Contact our technical support department.
Parent topic: CCI Status Messages
Related information
CCITCP2
CCINETB configuration


Attachmate Personal Client v6.3

  1. Installing DLC for Windows 95
  2. Installing Attachmate Personal Client
  3. Configuring Attachmate Personal Client
  4. Step 1: Creating a New Configuration
  5. Step 2: Local Node Definition
  6. Step 3: Data Link Control Definition
  7. Step 4: Port Definition
  8. Step 5: Configuring the 802.2 Template (Port Definition)
  9. Step 6: Link Definition
  10. Step 7: Configuring the 802.2 Template (Link Definition)
  11. Step 8: Configuring a 3270 LU for Terminal Emulation
  12. Step 9: Configuring LU's for APPC
  13. Step 10: Configuring the Local LU
  14. Step 11: Configuring the Remote LU
  15. Step 12: Adjacent Link Definition
  16. Step 13: Configuring Session Limits - Defining a Mode
  17. Step 14: Enabling CCIAPPC to Find the Local LU
  18. Step 15: Updating the System Path
  19. Step 16: Activating the Configuration
  20. Error Reporting and Diagnostics
  21. Known Problems
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT
Important Bulletin Regarding Support For Attachmate EXTRA! Personal Client


Installing DLC for Windows 95

The Rumba product requires the Microsoft 32-bit DLC protocol to provide support for a connection over 802.2. You should already have installed the 32-bit DLC driver for Windows 95 or Windows NT. If you have not yet done this, please follow the instructions for installing this driver in Configuring DLC over 802.2 on Windows 95 or Configuring DLC over 802.2 on Windows NT.

Parent topic: Attachmate Personal Client v6.3
Next topic: Installing Attachmate Personal Client
Parent topic: Attachmate Personal Client v6.1 and v6.2
Next topic: Installing Attachmate Personal Client
Parent topic: Rumba Office 95/NT
Related information
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


Installing Attachmate Personal Client

You should have already installed Attachmate Personal Client. We suggest that you confirm that the CPI-C interface is installed before continuing, the 3270 display portion of this product will be fully functional without CPI-C, but CCIAPPC will not be able to access APPC.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Installing DLC for Windows 95
Next topic: Configuring Attachmate Personal Client


Configuring Attachmate Personal Client

After successfully installing the Attachmate Personal Client product, you can start to configure your APPC connection. You should have a VTAM definition of the connection you are attempting to configure available to you during the configuration. Select Start from the Taskbar, then Programs, then EXTRA! Personal Client 32-bit, then APPN Configurator. The APPN Configurator window will be displayed. A sample window with a full configuration is displayed below for reference.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Installing Attachmate Personal Client
Next topic: Step 1: Creating a New Configuration


Step 1: Creating a New Configuration

The first screen presented in the configuration tool allows you to enter a new configuration by choosing File from the action bar and selecting New to create a new configuration.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Configuring Attachmate Personal Client
Next topic: Step 2: Local Node Definition


Step 2: Local Node Definition

Select Node Definition from the Sections window and then click the Add button. The Local Node Configuration window will appear.

  1. Enter the Network ID for this SNA network. This should be obtained from the network administrator of the host system.
  2. Enter the Control Point (CP) name assigned to this machine. This should be obtained from the network administrator of the host system. The CP Name should match the Physical Unit (PU) name assigned to this machine as specified in the PU definition in VTAM for this machine.
  3. Enter the CP Alias, This should duplicate the CP Name.
  4. Enter the Default Node ID (Block ID, PU ID) This is the 8 digit hexadecimal number which is used to identify this local system on the SNA network. The first 3 digits is the block (IDBLK) number followed by the last 5 digits of the node (IDNUM) number. These numbers usually correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system, however EXTRA requires that the PU ID be set to FFFFF.
  5. The Maximum locates and Locate timeout parameters can be left to the default values.
  6. The Default Protocol can be left to default to APPN then MPTN.
  7. HPR support level should be set to None.
  8. Support DLUR can be left to default to selected. This allows a Dependent LU Requester connection which allows you to route 3270 LU information through APPN traffic.
  9. The Start attach manager check box should be unselected. This does not need to be selected if only running CCIAPPC clients (e.g. Fileshare clients). The attach manager is only needed for incoming APPC requests, for example if running CCIAPPC servers.
  10. The Request discontact check box can be left unselected.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 1: Creating a New Configuration
Next topic: Step 3: Data Link Control Definition


Step 3: Data Link Control Definition

Select Data Link Control from the Sections window and then click the Add button. The Add Data Link Control dialog box will appear. Select DLC type Network (802.2) and press OK. The 802.2 definition template will then be displayed.

  1. Enter the DLC Name, a name to describe the DLC definition which will be unique within this node. For example, LANDLC since this is going to be a LAN connection.
  2. Leave the Negotiable links checkbox to default to unselected.
  3. The Activate on startup checkbox, we suggest initially be left unselected so that the DLC is tested by starting manually. Once this is tested this option can then be selected.
  4. For Board number specify the adapter number which will be used for this connection. If there is only one network adapter configured in this machine then select 0. To determine the network adapters installed double-click the Network icon in the Control Panel. The adapters are listed in ascending adapter number starting at zero.
  5. Select the appropriate Adapter type for the LAN network adapter, either Tokenring or Ethernet.
  6. You may allow the Buffer size in kilobytes to default to 64.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 2: Local Node Definition
Next topic: Step 4: Port Definition


Step 4: Port Definition

Select Port from the Sections window and then click the Add button. The Add Port definition dialog box will appear. Select DLC type Network (802.2) and press OK. The Port definition template will then be displayed.

  1. Enter the Port Name to describe the Port definition which will be unique within this node. For example, LANPORT since this is going to be a LAN connection.
  2. Select the Port Type, select SATF (shared access transport facility), the appropriate choice for a LAN connection. Note: select Switched for SDLC over a dialup line, Nonswitched for leased line SLDC or DFT.
  3. Enter the BTU size, select the maximum size of packet that the port can receive without segmentation. You must specify a value that is less than or equal to the value of the MAXDATA parameter of the PU definition in VTAM for this machine. For a 4 Mbs Token Ring specify a BTU value of 4195 or less. For a 16 Mbs Token Ring specify a value of 16393 or less. For an Ethernet LAN specify a BTU value of 1493 or less.
  4. Select the DLC section name, the definition to associate with this port, that is, the DLC definition configured above.
  5. Select Link station role, choose the default, Negotiable.
  6. Select Transmit/receive capability, choose the default, Half.
  7. Enter Target pacing count, allow this field to default to 7.
  8. Enter Maximum I-frames received, allow this field to default to 7.
  9. You may leave the TG characteristics section name blank.
  10. Enter Active Links. These parameters define the maximum number of connections or links which can be active using this port. This will define the maximum number of SNA connections to other nodes using this port, i.e. how many mainframes or peer systems you want to connect to using this port. We suggest you set both the Inbound and Outbound parameters to 2.
  11. The Implicit limited resource check box should be unselected.
  12. The Implicit CP-CP session check box should default to selected.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 3: Data Link Control Definition
Next topic: Step 5: Configuring the 802.2 Template (Port Definition)


Step 5: Configuring the 802.2 Template (Port Definition)

Select the 802.2 template by clicking on the tab labelled 802.2.

  1. Enter the Local SAP, allow this field to default to 4.
  2. Uncheck the HPR support checkbox to disable HPR.
  3. Enter Test Timeout and Retry, these values determine the time waited (in milliseconds) for the remote node to respond to a test frame and the number of times a test frame is transmitted if no response is received. A test frame is sent when you attempt to establish the SNA connection with the host. If you find that the connection fails to activate or fails to activate on an intermittent basis increase these values (defaults are 6 and 6).
  4. Enter the XID Timeout and Retry, these values determine the time waited (in milliseconds) for the remote node to respond to an XID frame and the number of times an XID frame is transmitted if no response is received. A NULL XID frame is sent following the response to a test frame when you attempt to establish the SNA connection with the host. If you find that the connection fails to activate or fails to activate on an intermittent basis increase these values (defaults are 6 and 6).

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 4: Port Definition
Next topic: Step 6: Link Definition


Step 6: Link Definition

Select Link from the Sections window and then click the Add button. The Add Link definition dialog box will appear. Select DLC type Network (802.2) and press OK. The Link definition template will then be displayed.

  1. Enter the Link Name, enter a name to describe the Link definition which will be unique within this node. For example, use a name which will describe the remote node, i.e. the host system, which this Link is used to communicate with.
  2. Select Adjacent CP type, select Learn.
  3. Select Port section name, select the Port definition to associate with this Link, that is, the Port definition configured above.
  4. Enter PU Name, enter a name which will act as an internal PU name which will be uniquely associated with this Link. For example duplicate the Link Name for the PU Name.
  5. Enter Adjacent net ID, leave this field blank.
  6. Enter Adjacent CP name, leave blank.
  7. Enter the Block ID, PU ID, this is the 8 digit hexadecimal number which is used to identify this local system on the SNA network.. The first 3 digits is the block (IDBLK) number followed by the last 5 digits of the node (IDNUM) number. These numbers correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system.
  8. Select Back level XID, choose the default, No.
  9. Enter Target pacing count, allow this field to default to 7.
  10. Enter Maximum send BTU size, select the maximum size of packet that the Link can send without segmentation. You must specify a value that is less than or equal to the value of the MAXDATA parameter of the PU definition in VTAM for this machine. For a 4 Mbs Token Ring specify a BTU value of 4195 or less. For a 16 Mbs Token Ring specify a value of 16393 or less. For an Ethernet LAN specify a BTU value of 1493 or less.
  11. Select Default TG chars check box.
  12. TG characteristics, leave blank.
  13. Activate on startup check box, we suggest that initially this be left unselected so that the Link is tested by starting manually. Once this is tested this option can then be selected.
  14. Limited resource check box, do not select.
  15. Select Host connection check box.
  16. CP-CP session check box, do not select.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 5: Configuring the 802.2 Template (Port Definition)
Next topic: Step 7: Configuring the 802.2 Template (Link Definition)


Step 7: Configuring the 802.2 Template (Link Definition)

Select the 802.2 template by clicking on the tab labeled 802.2.

  1. Enter the Remote MAC Address, the 12 digit hexadecimal adapter address of the network controller attached to the remote host system. This should be obtained from the network administrator of the host system.
  2. Select the Remote SAP, allow this field to default to 4.
  3. Select the Address format, select the format which corresponds to type of adapter installed in the network controller attached to the remote host system. This is likely to be Tokenring but could be Ethernet.
  4. Enter the Test Timeout and Retry, these values determine the time waited (in seconds) for the remote node to respond to a test frame and the number of times a test frame is transmitted if no response is received. A test frame is sent when you attempt to establish the SNA connection with the host. If you find that the connection fails to activate or fails to activate on an intermittent basis increase these values (defaults are 6 and 6).
  5. Enter the XID Timeout and Retry, these values determine the time waited (in seconds) for the remote node to respond to an XID frame and the number of times an XID frame is transmitted if no response is received. A NULL XID frame is sent following the response to a test frame when you attempt to establish the SNA connection with the host. If you find that the connection fails to activate or fails to activate on an intermittent basis increase these values (defaults are 6 and 6).
  6. The configuration of the SNA LAN connection to the remote host is now complete. In the File menu select Save As and specify the name DEFAULT as the configuration file name.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 6: Link Definition
Next topic: Step 8: Configuring a 3270 LU for Terminal Emulation


Step 8: Configuring a 3270 LU for Terminal Emulation

Select 3270 from the Sections window and then click the Add button.

  1. Select the PU name, select the PU name associated with the Link to be used.
  2. Enter the LU name, this should match a dependent LU definition name for this PU as defined in VTAM. Dependent LUs are recognizable by the fact that the LOCADDR parameter of the LU definition is non-zero (LUs with a LOCADDR value of zero are Independent LUs used for APPC.
  3. Specify the NAU address, this should match the value of the LOCADDR parameter of the dependent LU as defined in VTAM.
  4. Leave the Pool Name blank.
  5. Select Priority, Allow this field to default to High.
  6. Select LU Type, allow this field to default to Unknown.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 7: Configuring the 802.2 Template (Link Definition)
Next topic: Step 9: Configuring LU's for APPC


Step 9: Configuring LU's for APPC

Before attempting to communicate using CCIAPPC you must define the local and remote LUs which will be used to communicate over the SNA connection you have configured. In this section we will describe the configuration of Independent LUs to be used to communicate over the host connection configured in section 1. When communicating with Host systems running VTAM (or NCP) the Remote LU is known as the APPLID (pronounced 'apple-id').

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 8: Configuring a 3270 LU for Terminal Emulation
Next topic: Step 10: Configuring the Local LU


Step 10: Configuring the Local LU

Select Local LU (LU 6.2) from the Sections window and then click the Add button.

  1. Enter the Local LU Name as defined in the list of LUs defined for this PU in VTAM on the host system.
  2. Enter the LU Alias, duplicate the LU name.
  3. Enter the NAU address, this value should correspond to the value of the LOCADDR parameter of this LU definition in VTAM on the host system. For independent LUs this value should be zero, whereas dependent LUs have a non-zero address.
  4. Select the PU Name, choose the PU Name associated with the Link to be used.
  5. Session limit For independent LUs specify the maximum number of parallel sessions which will be supported. Set the Session limit according to the number of CCIAPPC clients which are to communicate using this Local LU name. If the clients all specify the same LU Name in the machinename parameter of CCI-INITCLIENT (or the /MA parameter in FHREDIR.CFG for Fileshare clients) then the session limit should reflect this number of clients. If a different Local LU name is specified for each client, meaning that multiple Local LUs will need to be defined the session limit can remain at 1. Hence, a value of 8 is recommended for flexibility. Dependent LUs must have a maximum session limit of 1, that is, they are single session only.
  6. Repeat this section until all required Local LUs have been added.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 9: Configuring LU's for APPC
Next topic: Step 11: Configuring the Remote LU


Step 11: Configuring the Remote LU

Select Partner LU (LU 6.2) from the Sections window and then click the Add button.

  1. Enter the Network ID, the network name for SNA network which includes the host system as defined in VTAM on the host system. This should be obtained from the network administrator of the host system.
  2. Enter the LU Name, the name of the VTAM APPL ID on the host system which is specified by the CCIAPPC server in the publicname parameter (or in the /S parameter of the Fileshare Server).
  3. Enter the PLU Alias, duplicate the LU Name.
  4. Enter the Maximum logical record size, allow this field to default to 32767.
  5. PLU unqualified name, leave blank.
  6. You do not need to enter any information in the MPTN area or the Owning control point area.
  7. Leave Protocol preference to default to Use Node Default.
  8. Leave Domain Name or IP address blank.
  9. Leave Owning Control Point parameters, Network ID and CP name blank.
  10. Conversion security verification check box, leave unselected.
  11. Parallel session support check box, leave selected.
  12. Repeat this section until all required Partner LUs have been added.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 10: Configuring the Local LU
Next topic: Step 12: Adjacent Link Definition


Step 12: Adjacent Link Definition

Select Adjacent Link from the Sections window and then click the Add button.

  1. Enter the Network ID, enter the network name for SNA network which includes the host system as defined in VTAM on the host system. This should be obtained from the network administrator of the host system.
  2. Enter the CP name, enter the PU name of the host system as defined in VTAM on the host system. This should be obtained from the network administrator of the host system.
  3. Enter the Partner LU names to be associated with the host system (up to 8 names, separated by commas). Specify the Partner LUs, also known as APPLIDs defined in VTAM on the host system, which will be used by Fileshare servers running on the host system.
  4. Use as a wildcard check box, leave this unselected.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 11: Configuring the Remote LU
Next topic: Step 13: Configuring Session Limits - Defining a Mode


Step 13: Configuring Session Limits - Defining a Mode

A Mode is used to define the attributes of sessions used between a Local LU and a Remote LU.

If the default mode #INTER is not appropriate (because its settings are incompatible with the modes defined on the host system for the Remote LU, or perhaps because a larger number of sessions is required) then a new mode can be defined.

CCIAPPC uses a single APPC session for each CCI session between the client and the server (e.g. between the MFA client and Fileshare running on a mainframe). When CCIAPPC establishes a connection between the client and server the attributes of the Mode determine, amongst other things, the number of CCI sessions available between the Local LU and the Remote LU (APPLID in VTAM). Hence the Mode determines how many client sessions can be established using the same Local LU - Remote LU pairing.

The Maximum Session Limit and the Minimum Contention Winners values together determine how many sessions can be established by the Local LU (see below).

For example: if 10 client sessions are required, all using the same Local LU then the Mode session attributes might be:

Session Limits:
Maximum = 20
Minimum contention winners = 15

Alternatively the same number of client sessions could be attained by using multiple Local LUs with the client sessions divided between these LUs.

Important:

When a connection is established between a Local LU and a Remote LU the Mode characteristics are negotiated. This means that it is possible that the partner system (e.g. mainframe) will reduce the session limits to values which it can support. This may mean that fewer client sessions than expected will be supported. Hence it is important that the Mode characteristics, as defined for both the Local and Remote LUs, are compatible.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 12: Adjacent Link Definition
Next topic: Step 14: Enabling CCIAPPC to Find the Local LU


Step 14: Enabling CCIAPPC to Find the Local LU

This is a very important topic and without following the instructions below you will fail to establish a CCI session with CCIAPPC. If the CCI-INITCLIENT call returns CCI error 9 and CCI_GETERROR returns the message "Transport failure, the client could not make a connection" it is likely that these instructions have not been implemented. When CCIAPPC attempts to allocate an LU 6.2 session with the remote system it must specify the Remote LU name which it requires a session with. This is the Remote LU name specified in the CCI Servername parameter (e.g. the /S parameter in FHREDIR.CFG). However, APPC needs to know the Local LU name as well as the Remote LU name when attempting to establish a session between the LUs. To enable APPC to retrieve the Local LU name to use when attempting to allocate APPC sessions set the APPCLLU environment variable to the Local LU Name prior to starting the CCAPPC client.

For Example:

SET APPCLLU=NBTRN1L0;

This can be done in the Cobol MFENV environment file.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 13: Configuring Session Limits - Defining a Mode
Next topic: Step 15: Updating the System Path


Step 15: Updating the System Path

Before EXTRA can be used with CCIAPPC the system path must be updated so that the required EXTRA runtime DLLs can be found by CCIAPPC. CCIAPPC on 32 Bit Windows uses the WCPIC32.DLL from the EXTRA product to provide CPI-C APPC support.

Use one of the following methods to update the path:

  • Add the EXTRA directory to the path in the Environment section of the System settings in the Windows NT Control Panel.

This takes effect immediately, applications subsequently started will have the correct path setting.

  • Add the EXTRA directory to the path in the autoexec.bat in Windows 95.

Restart Windows 95 to adopt the new path setting.

  • Add the EXTRA directory to the path setting in the COBOL MFENV environment file.

The new path will now be set when MFENV is used to set the environment for Cobol.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 14: Enabling CCIAPPC to Find the Local LU
Next topic: Step 16: Activating the Configuration


Step 16: Activating the Configuration

Once the settings described above have been made the configuration must be saved before starting the EXTRA APPN Node. In the File menu, click Save and then exit the APPN Configurator. From the EXTRA! Personal Client 32 Bit program folder start the Start APPN Node program. This should start successfully without generating any error messages.

Once the Node has successfully started without generating any error messages start the Node Manager from the EXTRA! Personal Client 32 Bit program folder.

  1. Select the DLC icon in the toolbar (green adapter card) and select Start to start the Data Link Control (DLC). Once the DLC has started successfully the DLC Status should display active.
  2. Select the Link icon in the toolbar (linked circles), select the link name to start and select Start to start the link. Once the link has started successfully the Status should display Active.

Once the Link is active CCIAPPC can be used with this connection to the host system.

If an error message is generated at any stage see the section Error Reporting and Diagnostics for information on determining how to correct the error.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 15: Updating the System Path
Next topic: Error Reporting and Diagnostics


Error Reporting and Diagnostics

  • APPN Node activation errors

    Configuration errors are detected when the APPN Node is started and error messages are displayed in the Node Events window of the APPN Node Information dialog box. These configuration errors must be corrected before attempting to use CCIAPPC with EXTRA! Personal Client.

  • Fileshare Error Reporting

    Fileshare clients log messages returned from CCI in both the fhredir.msg and fhneterr.log files in the current directory. For Example:e.g. an entry from fhredir.cfg CCI: 970116 15183855 0009 07 CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined Column 2 and 3 gives the date and time stamp of the error. Column 4 (in this case 0009) gives the CCI error code Column 6 gives the CCI error message returned by CCI-GETERROR.

  • Attachmate EXTRA! Status App

    The Audit Log function of the Status App displays information on significant events and error messages and should be checked if problems are experienced.

    The API Trace function of the Status App can be used to provide tracing of CPI-C api calls made by CCIAPPC.

    • When in the API Trace window select Settings from the Options menu item.
    • In the API Trace Options dialog box select the CPI-C checkbox.
    • Select Record from the Options menu to start tracing.
    • Select Stop from the Options menu to stop tracing.

    Trace entries can be selected and expanded by double-clicking. This then displays parameters and return codes, etc. Trace files can be saved by selecting the Save/Save as options from the File menu.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Step 16: Activating the Configuration
Next topic: Known Problems


Known Problems

  • Mainframe Access (MFA) hangs when communicating with the host system using Attachmate EXTRA! Personal Client

    Problems have been experienced whereby MFA hangs when drag-and-drop or Record Level IO (RLIO) operations are attempted to the host system using Extra! Personal Client. In these circumstances MFA must be terminated and restarted. This issue has been raised with Attachmate and the cause of the problem has been diagnosed. Watch this space for news on the availability of a patch from Attachmate for this problem.

  • CCIAPPC reports response errors due to connection failures

    If CCIAPPC is used over a LAN (802.2) connection which uses routers to reach the host system intermittent connection failures may be experienced. If packet sizes of the APPC traffic are larger than the maximum packet size allowed by the router then the larger APPC packets will be discarded resulting in a connection failure. This could also cause problems in activating a connection with the host system.

    The solution to this problem is to reduce the Basic Transmission Unit (BTU) size of the APPC traffic so that it is less than or equal to the maximum packet size allowed by the router. This is achieved by reducing the BTU parameter on the Link definition using the APPN Configurator.

    You should check with the Network Administrator to determine the maximum packet size allowed by the router. If in doubt, we suggest that the BTU be reduced to 521 bytes which is usually well below the limit imposed by the router.

Parent topic: Attachmate Personal Client v6.3
Previous topic: Error Reporting and Diagnostics


Attachmate Personal Client v6.1 and v6.2

  1. Installing DLC for Windows 95
  2. Installing Attachmate Personal Client
  3. Configuring Attachmate Personal Client
  4. Step 1: Creating a New Configuration
  5. Step 2: Local Node Definition
  6. Step 3: Data Link Control Definition
  7. Step 4: Configuring the NCIA Template (Data Link Control)
  8. Step 5: Port Definition
  9. Step 6: Configuring the 802.2/NCIA Template (Port Definition)
  10. Step 7: Link Definition
  11. Step 8: Configuring the 802.2/NCIA Template (Link Definition)
  12. Step 9: Configuring a 3270 LU Pool
  13. Step 10: Configuring LU's for APPC
  14. Step 11: Configuring the Local LU
  15. Step 12: Configuring the Remote LU
  16. Step 13: Adjacent Link Definition
  17. Step 14: Enabling CCIAPPC to Find the Local LU
  18. Step 15: Updating the System Path
  19. Step 16: Activating the Configuration
  20. Error Reporting and Diagnostics
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT
Important Bulletin Regarding Support For Attachmate EXTRA! Personal Client


Installing Attachmate Personal Client

You should have already installed Attachmate Personal Client. We suggest that you confirm that the CPI-C interface is installed before continuing, the 3270 display portion of this product will be fully functional without CPI-C, but CCIAPPC will not be able to access APPC.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Installing DLC for Windows 95
Next topic: Configuring Attachmate Personal Client


Configuring Attachmate Personal Client

After successfully installing the Attachmate Personal Client product, you can start to configure your APPC connection. You should have a VTAM definition of the connection you are attempting to configure available to you during the configuration. Select Start from the Taskbar, then Programs, then EXTRA! Personal Client 32-bit, then APPN Configurator. The APPN Configurator window will be displayed. A sample window with a full configuration is displayed below for reference.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Installing Attachmate Personal Client
Next topic: Step 1: Creating a New Configuration


Step 1: Creating a New Configuration

The first screen presented in the configuration tool allows you to enter a new configuration by choosing File from the action bar and selecting New to create a new configuration.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Configuring Attachmate Personal Client
Next topic: Step 2: Local Node Definition


Step 2: Local Node Definition

Select Node Definition from the Sections window and then click the Add button. The Local Node Configuration window will appear.

  1. Enter the Network ID for this SNA network. This should be obtained from the network administrator of the host system.
  2. Enter the Control Point (CP) name assigned to this machine. This should be obtained from the network administrator of the host system. The CP Name should match the Physical Unit (PU) name assigned to this machine as specified in the PU definition in VTAM for this machine.
  3. Enter the CP Alias, This should duplicate the CP Name.
  4. Enter the Default Node ID (Block ID, PU ID) This is the 8 digit hexadecimal number which is used to identify this local system on the SNA network.. The first 3 digits is the block (IDBLK) number followed by the last 5 digits of the node (IDNUM) number. These numbers usually correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system, however EXTRA requires that the PU ID be set to FFFFF.
  5. The Maximum locates and Locate timeout parameters can be left to the default values.
  6. The Start attach manager check box should be unselected. This does not need to be selected if only running CCIAPPC clients (e.g. Fileshare clients). The attach manager is only needed for incoming APPC requests, for example if running CCIAPPC servers.
  7. The Request discontact check box can be left unselected.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 1: Creating a New Configuration
Next topic: Step 3: Data Link Control Definition


Step 3: Data Link Control Definition

Select Data Link Control from the Sections window and then click the Add button. The Data Link Control Window will appear.

  1. Enter the DLC Name, a name to describe the DLC definition which will be unique within this node. For example, LANDLC since this is going to be a LAN connection.
  2. Enter the DLC Type, select Network (802.2) for a LAN connection. If an SDLC or COAX connection is required the corresponding option would be selected here.
  3. You may skip over the SDLC specific entry fields.
  4. In the 802.2 and NCIA specific entry fields enter the adapter number which will be used for this connection in Board number. If there is only one network adapter configured in this machine then select 0. To determine the network adapters installed double-click the Network icon in the Control Panel. The adapters are listed in ascending adapter number starting at zero.
  5. Select the appropriate Adapter type for the LAN network adapter, either Tokenring or Ethernet.
  6. You may allow the Buffer size in kilobytes to default to 64.
  7. You may skip over the Twinax specific fields.
  8. The Negotiable links check box should already be selected by default.
  9. The Activate on startup checkbox, we suggest initially be left unselected so that the DLC is tested by starting manually. Once this is tested this option can then be selected.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 2: Local Node Definition
Next topic: Step 4: Configuring the NCIA Template (Data Link Control)


Step 4: Configuring the NCIA Template (Data Link Control)

Select the NCIA template by clicking on the tab labeled NCIA.

  1. Enter the Workstation MAC Address as 00000000000. It is not necessary to provide the MAC address in most installations.
  2. Allow Ring to default to 0.
  3. Allow Bridge to default to 0.
  4. It is not necessary to enter any information under MPTN for this configuration.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 3: Data Link Control Definition
Next topic: Step 5: Port Definition


Step 5: Port Definition

Select Port from the Sections window and then click the Add button. The Port Window will appear.

  1. Enter the Port Name to describe the Port definition which will be unique within this node. For example, LANPORT since this is going to be a LAN connection.
  2. Select the Port Type, select SATF (shared access transport facility), the appropriate choice for a LAN connection. Note: select Switched for SDLC over a dialup line, Nonswitched for leased line SLDC or DFT.
  3. Enter the BTU size, select the maximum size of packet that the port can receive without segmentation. You must specify a value that is less than or equal to the value of the MAXDATA parameter of the PU definition in VTAM for this machine. For a 4 Mbs Token Ring specify a BTU value of 4195 or less. For a 16 Mbs Token Ring specify a value of 16393 or less. For an Ethernet LAN specify a BTU value of 1493 or less.
  4. Select the DLC section name, the definition to associate with this port, that is, the DLC definition configured above.
  5. Select Link station role, choose the default, Negotiable.
  6. Select Transmit/receive capability, choose the default, Half.
  7. Enter Target pacing count, allow this field to default to 7.
  8. Enter Maximum I-frames received, allow this field to default to 7.
  9. You may leave the TG characteristics section name blank.
  10. Enter Active Links. These parameters define the maximum number of connections or links which can be active using this port. This will define the maximum number of SNA connections to other nodes using this port, i.e. how many mainframes or peer systems you want to connect to using this port. We suggest you set both the Inbound and Outbound parameters to 2.
  11. The Implicit limited resource check box should be unselected.
  12. The Implicit CP-CP session check box should default to selected.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 4: Configuring the NCIA Template (Data Link Control)
Next topic: Step 6: Configuring the 802.2/NCIA Template (Port Definition)


Step 6: Configuring the 802.2/NCIA Template (Port Definition)

Select the 802.2/NCIA template by clicking on the tab labeled 802.2/NCIA.

  1. Enter the Local SAP, allow this field to default to 4.
  2. Enter Test Timeout and Retry, these values determine the time waited (in milliseconds) for the remote node to respond to a test frame and the number of times a test frame is transmitted if no response is received. A test frame is sent when you attempt to establish the SNA connection with the host. If you find that the connection fails to activate or fails to activate on an intermittent basis increase these values (defaults are 10 and 6).
  3. Enter the XID Timeout and Retry, these values determine the time waited (in milliseconds) for the remote node to respond to an XID frame and the number of times an XID frame is transmitted if no response is received. A NULL XID frame is sent following the response to a test frame when you attempt to establish the SNA connection with the host. If you find that the connection fails to activate or fails to activate on an intermittent basis increase these values (defaults are 10 and 6).
  4. It is not necessary to enter any information under SDLC or DFT for this configuration.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 5: Port Definition
Next topic: Step 7: Link Definition


Step 7: Link Definition

Select Link from the Sections window and then click the Add button.

  1. Enter the Link Name, enter a name to describe the Link definition which will be unique within this node. For example, use a name which will describe the remote node, i.e. the host system, which this Link is used to communicate with.
  2. Select Adjacent CP type, select Learn.
  3. Select Port section name, select the Port definition to associate with this Link, that is, the Port definition configured above.
  4. Enter PU Name, enter a name which will act as an internal PU name which will be uniquely associated with this Link. For example duplicate the Link Name for the PU Name.
  5. Enter Adjacent net ID, leave this field blank.
  6. Enter Adjacent CP name, leave blank.
  7. Enter the Block ID, PU ID, this is the 8 digit hexadecimal number which is used to identify this local system on the SNA network.. The first 3 digits is the block (IDBLK) number followed by the last 5 digits of the node (IDNUM) number. These numbers correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system.
  8. Select Back level XID, choose the default, No.
  9. Enter Target pacing count, allow this field to default to 7.
  10. Enter Maximum send BTU size, select the maximum size of packet than the Link can send without segmentation. You must specify a value that is less than or equal to the value of the MAXDATA parameter of the PU definition in VTAM for this machine. For a 4 Mbs Token Ring specify a BTU value of 4195 or less. For a 16 Mbs Token Ring specify a value of 16393 or less. For an Ethernet LAN specify a BTU value of 1493 or less.
  11. Select Default TG chars check box.
  12. TG characteristics, leave blank.
  13. Activate on startup check box, we suggest that initially this be left unselected so that the Link is tested by starting manually. Once this is tested this option can then be selected.
  14. Limited resource check box, do not select.
  15. Select Host connection check box.
  16. CP-CP session check box, do not select.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 6: Configuring the 802.2/NCIA Template (Port Definition)
Next topic: Step 8: Configuring the 802.2/NCIA Template (Link Definition)


Step 8: Configuring the 802.2/NCIA Template (Link Definition)

Select the 802.2/NCIA template by clicking on the tab labeled 802.2/NCIA.

  1. Enter the Remote Network Address, the 12 digit hexadecimal adapter address of the network controller attached to the remote host system. This should be obtained from the network administrator of the host system.
  2. Select the Remote SAP, allow this field to default to 4.
  3. Select the Address format, select the format which corresponds to type of adapter installed in the network controller attached to the remote host system. This is likely to be Tokenring but could be Ethernet.
  4. Enter the Test Timeout and Retry, these values determine the time waited (in milliseconds) for the remote node to respond to a test frame and the number of times a test frame is transmitted if no response is received. A test frame is sent when you attempt to establish the SNA connection with the host. If you find that the connection fails to activate or fails to activate on an intermittent basis increase these values (defaults are 1000 and 1).
  5. Enter the XID Timeout and Retry, these values determine the time waited (in milliseconds) for the remote node to respond to an XID frame and the number of times an XID frame is transmitted if no response is received. A NULL XID frame is sent following the response to a test frame when you attempt to establish the SNA connection with the host. If you find that the connection fails to activate or fails to activate on an intermittent basis increase these values (defaults are 1000 and 1).
  6. Router's TCP/IP Address, leave blank.
  7. Virtual Ring, leave blank.
  8. Local Ack leave unselected.
  9. It is not necessary to enter any information under SDLC for this configuration.
  10. The configuration of the SNA LAN connection to the remote host is now complete. In the File menu select Save As and specify the name DEFAULT as the configuration file name.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 7: Link Definition
Next topic: Step 9: Configuring a 3270 LU Pool


Step 9: Configuring a 3270 LU Pool

Select 3270 LU Pool from the Sections window and then click the Add button.

  1. Select the PU name, select the PU name associated with the Link to be used.
  2. Enter the Base name, enter a name to describe the Base terminal name which will be unique within this node. For example, use a name such as, TERM.
  3. Enter a Pool name, enter a name to describe the 3270 LU Pool which will be unique within this node. For example, use a name such as, POOL1.
  4. Select Priority, Allow this field to default to High.
  5. Select LU Type, allow this field to default to Unknown.
  6. The Network address units may be left at their default values.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 8: Configuring the 802.2/NCIA Template (Link Definition)
Next topic: Step 10: Configuring LU's for APPC


Step 10: Configuring LU's for APPC

Before attempting to communicate using CCIAPPC you must define the local and remote LUs which will be used to communicate over the SNA connection you have configured. In this section we will describe the configuration of Independent LUs to be used to communicate over the host connection configured in section 1. When communicating with Host systems running VTAM (or NCP) the Remote LU is known as the APPLID (pronounced 'apple-id').

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 9: Configuring a 3270 LU Pool
Next topic: Step 11: Configuring the Local LU


Step 11: Configuring the Local LU

Select Local LU (LU 6.2) from the Sections window and then click the Add button.

  1. Enter the Local LU Name as defined in the list of LUs defined for this PU in VTAM on the host system.
  2. Enter the LU Alias, duplicate the LU name.
  3. Enter the NAU Address, this value should correspond to the value of the LOCADDR parameter of this LU definition in VTAM on the host system. For independent LUs this value should be zero, whereas dependent LUs have a non-zero address.
  4. Select the PU Name, choose the PU Name associated with the Link to be used.
  5. Session limit For independent LUs specify the maximum number of parallel sessions which will be supported. Set the Session limit according to the number of CCIAPPC clients which are to communicate using this Local LU name. If the clients all specify the same LU Name in the machinename parameter of CCI-INITCLIENT (or the /MA parameter in FHREDIR.CFG for Fileshare clients) then the session limit should reflect this number of clients. If a different Local LU name is specified for each client, meaning that multiple Local LUs will need to be defined the session limit can remain at 1. Hence, a value of 8 is recommended for flexibility. Dependent LUs must have a maximum session limit of 1, that is, they are single session only.
  6. Repeat this section until all required Local LUs have been added.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 10: Configuring LU's for APPC
Next topic: Step 12: Configuring the Remote LU


Step 12: Configuring the Remote LU

Select Partner LU (LU 6.2) from the Sections window and then click the Add button.

  1. Enter the Network ID, the network name for SNA network which includes the host system as defined in VTAM on the host system. This should be obtained from the network administrator of the host system.
  2. Enter the LU Name, the name of the VTAM APPL ID on the host system which is specified by the CCIAPPC server in the publicname parameter (or in the /S parameter of the Fileshare Server).
  3. Enter the PLU Alias, duplicate the LU Name.
  4. Enter the Maximum logical record size, allow this field to default to 32767.
  5. PLU unqualified name, leave blank.
  6. You do not need to enter any information in the MPTN area or the Owning control point area.
  7. Conversion security verification check box, leave unselected.
  8. Parallel session support check box, leave default selected.
  9. Repeat this section until all required Partner LUs have been added.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 11: Configuring the Local LU
Next topic: Step 13: Adjacent Link Definition


Step 13: Adjacent Link Definition

Select Adjacent Link from the Sections window and then click the Add button.

  1. Enter the Network ID, enter the network name for SNA network which includes the host system as defined in VTAM on the host system. This should be obtained from the network administrator of the host system.
  2. Enter the CP name, enter the PU name of the host system as defined in VTAM on the host system. This should be obtained from the network administrator of the host system.
  3. Enter the Partner LU names to be associated with the host system (up to 8 names, separated by commas). Specify the Partner LUs, also known as APPLIDs defined in VTAM on the host system, which will be used by Fileshare servers running on the host system.
  4. Use as a wildcard check box, leave this unselected.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 12: Configuring the Remote LU
Next topic: Step 14: Enabling CCIAPPC to Find the Local LU


Step 14: Enabling CCIAPPC to Find the Local LU

This is a very important topic and without following the instructions below you will fail to establish a CCI session with CCIAPPC. If the CCI-INITCLIENT call returns CCI error 9 and CCI_GETERROR returns the message "Transport failure, the client could not make a connection" it is likely that these instructions have not been implemented. When CCIAPPC attempts to allocate an LU 6.2 session with the remote system it must specify the Remote LU name which it requires a session with. This is the Remote LU name specified in the CCI Servername parameter (e.g. the /S parameter in FHREDIR.CFG). However, APPC needs to know the Local LU name as well as the Remote LU name when attempting to establish a session between the LUs. To enable APPC to retrieve the Local LU name to use when attempting to allocate APPC sessions set the APPCLLU environment variable to the Local LU Name prior to starting the CCAPPC client.

For Example:

SET APPCLLU=CCILLU01;
Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 13: Adjacent Link Definition
Next topic: Step 15: Updating the System Path


Step 15: Updating the System Path

Before EXTRA can be used with CCIAPPC the system path must be updated so that the required EXTRA runtime DLLs can be found by CCIAPPC. CCIAPPC on 32 Bit Windows uses the WCPIC32.DLL from the EXTRA product to provide CPI-C APPC support.

Use one of the following methods to update the path:

  • Add the EXTRA directory to the path in the Environment section of the System settings in the Windows NT Control Panel.

This takes effect immediately, applications subsequently started will have the correct path setting.

  • Add the EXTRA directory to the path in the autoexec.bat in Windows 95.

Restart Windows 95 to adopt the new path setting.

  • Add the EXTRA directory to the path setting in the Cobol MFENV environment file.

The new path will now be set when MFENV is used to set the environment for Cobol.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 14: Enabling CCIAPPC to Find the Local LU
Next topic: Step 16: Activating the Configuration


Step 16: Activating the Configuration

Once the settings described above have been made the configuration must be saved before starting the EXTRA APPN Node. In the File menu select Save and then exit the APPN Configurator. From the EXTRA! Personal Client 32 Bit program folder start the Start APPN Node program. This should start successfully without generating any error messages.

Once the Node has successfully started without generating any error messages start the Node Manager from the EXTRA! Personal Client 32 Bit program folder.

  1. Select the DLC icon in the toolbar (green adapter card) and select Start to start the Data Link Control (DLC). Once the DLC has started successfully the DLC Status should display active.
  2. Select the Link icon in the toolbar (linked circles), select the link name to start and select Start to start the link. Once the link has started successfully the Status should display Active.

Once the Link is active CCIAPPC can be used with this connection to the host system.

If an error message is generated at any stage see the section Error Reporting and Diagnostics for information on determining how to correct the error.

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 15: Updating the System Path
Next topic: Error Reporting and Diagnostics


Error Reporting and Diagnostics

Fileshare Error Reporting - Fileshare clients log messages returned from CCI in both the fhredir.msg and fhneterr.log files in the current directory. For example, an entry from fhredir.cfg CCI: 970116 15183855 0009 07 CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined Column 2 and 3 gives the date and time stamp of the error. Column 4 (in this case 0009) gives the CCI error code Column 6 gives the CCI error message returned by CCI-GETERROR

Parent topic: Attachmate Personal Client v6.1 and v6.2
Previous topic: Step 16: Activating the Configuration


IBM Communications Server v5.01 for Windows NT

  • Installing IBM Communications Server
  • Installing IBM LLC2 Protocol for Windows NT
  • Configuring IBM Communications Server
  • Configuring the Node
  • Step 1: Node Setup
  • Step 2: Device Configuration
  • Step 3: Connection Configuration
  • Step 4: Enable API Client Support (Configure the Gateway)
  • Step 5: Local LU Configuration
  • Step 6: Partner LU 6.2 Configuration
  • Step 7: Configuring Modes (Optional)
  • Configuring the IBM Communications Server SNA Client
  • Enabling CCIAPPC to Find the Local LU
  • Activating the Configuration
  • Testing the Configuration
  • Error Reporting and Diagnostics
  • Known Problems
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


Installing IBM Communications Server

This documentation assumes that you have already installed IBM Communications Server. In addition you should have opted to install the IBM LLC2 protocol during the installation of IBM Communications Server.

Parent topic: IBM Communications Server v5.01 for Windows NT


Installing IBM LLC2 Protocol for Windows NT

IBM Communications Server requires the IBM LLC2 protocol to provide support for a connection over 802.2. Towards the end of the installation of IBM Communications Server you will be prompted to choose whether to automatically install the IBM LLC2 protocol for use with IBM Communications Server over a LAN. Unless you have installed LLC2 previously you must opt to install LLC2 if you intend to configure connections over 802.2.

Parent topic: IBM Communications Server v5.01 for Windows NT


Configuring IBM Communications Server

After successfully installing the Communications Server product, you can start to configure your APPC connection. You should have a VTAM definition of the connection you are attempting to configure available to you during the configuration.

From the IBM Communications Server program folder, start the SNA Node Configuration program.

Parent topic: IBM Communications Server v5.01 for Windows NT


Configuring the Node

  1. In the File menu select New to create a new Node configuration.
  2. In the Scenarios menu select SNA API Clients running APPC applications.

The Configuration Steps window describes the configuration steps you will complete. Note that for CCIAPPC configuration step 7. Configure Modes is optional and that step 8. Transaction program configuration is not required.

Parent topic: IBM Communications Server v5.01 for Windows NT


Step 1: Node Setup

From the Configuration options listbox select Configure Node and then select New.

  • Basic Settings
  • Advanced Settings
  • DLU Requester Settings
Parent topic: IBM Communications Server v5.01 for Windows NT


Basic Settings

  1. In the Fully Qualified CP name enter the Network Name for this SNA network in the first box. This should be obtained from the network administrator of the host system. In the second box following the period enter the Control Point (CP) name assigned to this machine. This should be obtained from the network administrator of the host system. The CP Name should match the Physical Unit (PU) name assigned to this machine as specified in the PU definition in VTAM for this machine.
  2. Enter the 8 digit hexadecimal Local Node ID which is used to identify this local system on the SNA network. The first 3 digits is the Block ID (IDBLK) number followed by the last 5 digits of the Physical Unit ID (IDNUM) (also known as the Node number). These numbers must correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system.
  3. Set the Node Type to End Node.

Parent topic: Step 1: Node Setup


Advanced Settings

These can be left to their default settings

Parent topic: Step 1: Node Setup


DLU Requester Settings

These can be left to their default settings

Select OK to complete the Node configuration.

Parent topic: Step 1: Node Setup


Step 2: Device Configuration

From the Configuration options listbox select Configure Devices. Then from the DLCs list box select LAN and then select New.

  • Basic Settings
  • Advanced Settings
  • Performance Settings
Parent topic: IBM Communications Server v5.01 for Windows NT


Basic Settings

  1. From the Adapter number pulldown select the LAN adapter which will be used for the SNA connection to the host system.
  2. Leave the Local SAP setting to default to 04.

Parent topic: Step 2: Device Configuration


Advanced Settings

These can be left to their default settings

Parent topic: Step 2: Device Configuration


Performance Settings

These can be left to their default settings

Select OK to complete the Device configuration.

Parent topic: Step 2: Device Configuration


Step 3: Connection Configuration

From the Configuration options listbox select Configure connections and then select New.

  • Basic Settings
  • Advanced Settings
  • Security Settings
Parent topic: IBM Communications Server v5.01 for Windows NT


Basic Settings

  1. Enter a name for the connection in the Link station name. This must be up to 8 characters long and will describe the connection, e.g. the destination of the connection.
  2. From the Device name pulldown select the LAN Device name configured previously in step 2.
  3. Enter the 12 digit hexadecimal Destination address of the network controller attached to the remote host system. This should be obtained from the network administrator of the host system.
  4. Unless directed otherwise, leave the Remote SAP to default to 04.

Parent topic: Step 3: Connection Configuration


Advanced Settings

  1. Select Activate link at start to automatically activate the connection when the Node is started.
  2. Select APPN support.
  3. Leave HPR Support, Auto-activate support, Link to preferred NN server and Solicit SSCP sessions unselected.
  4. Enter the 8 digit hexadecimal Local Node ID which is used to identify this local system on the SNA network. This should be the same as the Local Node ID specified when configuring the Node in step 1 previously.

Parent topic: Step 3: Connection Configuration


Security Settings

  1. Enter the fully qualified Control Point name of the Host system in the Adjacent CP name. Enter the Network Name for this SNA network in the first box. This should be obtained from the network administrator of the host system. In the second box following the period enter the Control Point (CP) name assigned to the remote Host machine. This should be obtained from the network administrator of the host system.
  2. From the Adjacent CP type pulldown select APPN Node.
  3. Leave the TG number to default to 0.

Select OK to complete the Connection configuration.

Parent topic: Step 3: Connection Configuration


Step 4: Enable API Client Support (Configure the Gateway)

From the Configuration options list box select Configure the Gateway and then select View/Change/Add.

  • SNA Clients Settings
Parent topic: IBM Communications Server v5.01 for Windows NT


SNA Clients Settings

  1. Ensure that the Enable SNA API Client Services checkbox is selected.
  2. The Default pool for SNA API Client Services can be left to default to None.

Select OK to complete the Gateway configuration.

Before attempting to communicate using CCIAPPC you must define the local and remote LUs which will be used to communicate over the SNA connection you have configured. In this section we will describe the configuration of Independent LUs to be used to communicate over the host connection. When communicating with Host systems running VTAM (or NCP) the Remote LU is known as the APPLID (pronounced 'apple-eye-dee').

Parent topic: Step 4: Enable API Client Support (Configure the Gateway)


Step 5: Local LU Configuration

From the Configuration options list box select Configure Local LU 6.2 and then select New.

  1. For the Local LU name specify the LU name as defined in the list of LUs defined for this PU in VTAM on the host system.
  2. Select SNA API client use.
  3. Leave Dependent LU unselected.
  4. For the Local LU alias enter the same Local LU name.
  5. Leave the LU session limit to default to 0.

Select OK to complete the Local LU configuration.

Parent topic: IBM Communications Server v5.01 for Windows NT


Step 6: Partner LU 6.2 Configuration

From the Configuration options list box select Configure Partner LU 6.2 and then select New.

Unlike Local LUs, Remote LUs are assigned to a connection which will be used to communicate with it.

  • Basic Settings
  • Advanced Settings
  • Configuring Session Limits: Defining a Mode
Parent topic: IBM Communications Server v5.01 for Windows NT


Basic Settings

  1. Enter the fully qualified Partner LU Name.

This LU Name should match the definition of the LU as it exists on the remote system, in this case in the form of a VTAM APPL definition on the host system.

Enter the Network Name for this SNA network in the first box. This should be obtained from the network administrator of the host system. In the second box following the period enter the name of the APPL on the remote Host machine. This should be obtained from the network administrator of the host system.

  • Leave Wildcard unselected.
  • For the Partner LU alias enter the Partner LU name (i.e. APPL name).
  • Enter the Fully qualified CP name of the Host system on which the partner LU resides.

This is the same as the fully qualified CP name entered in the Security settings of the Connection configured previously in step 3.

Setting this correctly will enable the Server to determine which connection to use to locate a partner LU when establishing a session with a Local LU.

Parent topic: Step 6: Partner LU 6.2 Configuration


Advanced Settings

  1. Leave the Maximum LL record sixe to default to 32767.
  2. Selecting Conversation security support will have no effect since this is not supported by CCIAPPC.
  3. Ensure that the Parallel session support is selected.

Select OK to complete the Partner LU configuration.

Parent topic: Step 6: Partner LU 6.2 Configuration


Configuring Session Limits: Defining a Mode

A Mode is used to define the attributes of sessions used between a Local LU and a Remote LU.

If the default mode #INTER is not appropriate (because its settings are incompatible with the modes defined on the host system for the Remote LU, or perhaps because a larger number of sessions is required) then a new mode can be defined.

CCIAPPC uses a single APPC session for each CCI session between the client and the server (e.g. between the MFA client and Fileshare running on a mainframe). When CCIAPPC establishes a connection between the client and server the attributes of the Mode determine, amongst other things, the number of CCI sessions available between the Local LU and the Remote LU (APPLID in VTAM). Hence the Mode determines how many client sessions can be established using the same Local LU - Remote LU pairing.

The PLU mode session limit and the Minimum contention winner sessions together determine how many sessions can be established by the Local LU (see below).

For example: if 10 client sessions are required, all using the same Local LU then the Mode session attributes might be:

PLU mode session limit = 20
Minimum contention winner sessions = 15

Alternatively the same number of client sessions could be attained by using multiple Local LUs with the client sessions divided between these LUs.

Important:

When a connection is established between a Local LU and a Remote LU the Mode characteristics are negotiated. This means that it is possible that the partner system (e.g. mainframe) will reduce the session limits to values which it can support. This may mean that fewer client sessions than expected will be supported. Hence it is important that the Mode characteristics, as defined for both the Local and Remote LUs, are compatible.

Parent topic: Step 6: Partner LU 6.2 Configuration


Step 7: Configuring Modes (Optional)

From the Configuration options list box select Configure Modes and then select New.

  • Basic Settings
  • Advanced Settings
Parent topic: IBM Communications Server v5.01 for Windows NT


Basic Settings

  1. Enter Mode Name, this should match the Mode Name as defined on the Host system in VTAM. This can be the default log mode specified by the DLOGMOD parameter of the VTAM Applid (APPL) definition.
  2. Enter the PLU mode session limit. This is the maximum number of sessions that can be established between the two LUs.
  3. Enter the number of Minimum contention winner sessions. This is the number of sessions that the Local LU can establish without needing the permission of the Remote LU.

This value cannot be greater than the PLU mode session limit.

Parent topic: Step 7: Configuring Modes (Optional)


Advanced Settings

  1. Leave Maximum negotiable session limit to default to 128.
  2. Leave Receive pacing window size to default to 1.
  3. Enter the number of Automatic activate sessions. This is the number of contention winner sessions to activate when the connection using this mode is started.
  4. From the Class of service name pulldown select #INTER. This is the default APPC class of service.
  5. Do not select Use cryptography or Use Compression support.
  6. Leave Use default RIU size selected.

If you are in doubt over these values check with the network administrator of the host system.

Select OK to complete the Mode configuration.

Parent topic: Step 7: Configuring Modes (Optional)


Configuring the IBM Communications Server SNA Client

The IBM Communications Server SNA Client (also known as the SNA API Client) runs on a client machine and communicates with the IBM Communications Server over the LAN using either TCP/IP or Novell SPX.

Having installed the IBM Communications Server SNA Client the following configuration is required.

  • Creating User IDs
  • Creating the SNA Client Configuration File
Parent topic: IBM Communications Server v5.01 for Windows NT


Creating User IDs

Clients are authorized to connect with the Communications Server by specifying a Windows NT Domain userid which is in the IBMCSAPI user group. You may want to define a unique userid for each client user or a single userid used by all users.

  1. On the NT Server, in the Administrative Tools program folder select User Manager.
  2. In the User menu select New User... and fill in the Username, Description, Password, etc. and select Add. Repeat this until all the required userids have been added.
  3. The group IBMCSAPI should have been created during the installation of IBM Communications Server. If is was not, select New Global Group... from the User menu. Enter Group Name IBMCSAPI and a description and select OK.
  4. In the Groups window double-click on IBMCSAPI and add the required userids from the Not Members window into the Members window. Select OK when all the required userids have been added to the group.
Parent topic: Configuring the IBM Communications Server SNA Client


Creating the SNA Client Configuration File

Start the Configuration program from the IBM Communications Server SNA Client program folder.

  1. In the Configuration Options window select Configure Global Data and then select New...
  2. Enter a a userid which is a member of the IBMCSAPI group.
  3. Enter and confirm the userid password.
  4. Select OK to complete the Global Data configuration.

  1. In the Configuration options window select Configure APPC Server List and then select New...
  2. In the first Servers edit box enter the name of the IBM Communications Server machine.

If the client will use TCP/IP to communicate with the Server the machine name should be the IP address of the Server machine or the TCP/IP hostname of the Server machine.

  • Select the Transport Type for this Server. This is either TCP (TCP/IP) or SPX (Novell Sequenced Packet Exchange).
  • Select OK to complete the APPC Server List configuration.

In the File menu select Save As... and save the configuration file as CSNTAPI.INI. Exit the SNA Client Configuration program.

Parent topic: Configuring the IBM Communications Server SNA Client


Enabling CCIAPPC to Find the Local LU

It is very important that the CCIAPPC module be able to determine the Local LU to use for communication with the Host application. You may have configured everything else correctly and all of your other APPC applications may work, but if you miss this final step you will fail to establish a CCI session with the host application. If the CCI-INITCLIENT call returns CCI error 9 and CCI_GETERROR returns the message "CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined" it is likely that you have failed to complete this final step. When CCIAPPC attempts to allocate an LU 6.2 session with the remote system it must specify the Remote LU name which it requires a session with. This is the Remote LU name specified in the CCI Servername parameter (e.g. the /S parameter in FHREDIR.CFG). However, APPC needs to know the Local LU name as well as the Remote LU name when attempting to establish a session between the LUs.

To enable APPC to retrieve the Local LU name to use when attempting to allocate APPC sessions set the APPCLLU environment variable to the Local LU Name prior to starting the CCIAPPC client. This must be done wherever the CCIAPPC client (e.g. MFA Drag and Drop) is run. If the CCIAPPC client communicates with the Server using the IBM Communications Server SNA Client then the APPCLLU environment variable must be set on each client machine. If the CCIAPPC client runs on the Server itself then the APPCLLU environment variable must be set on the Server machine.

For Example:

SET APPCLLU=CCILLU01
Parent topic: IBM Communications Server v5.01 for Windows NT


Activating the Configuration

Once the configuration has been verified as correct the Node can be started.

  1. In the IBM Communications Server program folder start the SNA Node Operations program.
  2. In the Operations menu select Start Node... or select the green Start Node icon in the task bar.
  3. Select the configuration to open and select Open.

Once the Node is active the underlying connections will activate if Activate link at start was defined for the connections.

Parent topic: IBM Communications Server v5.01 for Windows NT


Testing the Configuration

Once you have an active connection use the CNOS Initialize option in the Operations menu of the SNA Node Operations program to test the configuration. This will test the configuration by attempting to bind an LU 6.2 session between the Local LU and the Remote LU over the configured LAN connection.

  1. In the View menu of the SNA Node Operations program select LU 6.2 Sessions.
  2. In the Operations menu of the SNA Node Operations program select CNOS Initialize...
  3. Select the Local LU to be used from the Local LU 6.2 pulldown.
  4. Enter the fully qualified Partner LU name (as defined in step 6 previously). This is of the format:
     Network-Name.Partner-LU-Name
  5. Select the Mode to use. This may be a custom Mode you have defined or can be left to default to #INTER.
  6. Specify the characteristics of the Mode.
    • In Sessions specify the maximum number of sessions allowed by the Mode, this is PLU mode session limit defined for the Mode.
    • In Winners specify the number of Minimum Contention winners as defined for the mode.
    • Specify 0 in Losers for the number of Contention Losers.
    • Specify 1 in Activate to activate a single session as a test.
  7. Select OK to initiate the bind test.

    If the test is successful the session bound between the Local LU and Partner LU will appear in the LU 6.2 Sessions window of the SNA Node Operations program (in the View menu select Refresh to refresh the window). Sessions bound in this way can safely be terminated by selecting the Session Id, clicking the right mouse button and selecting Stop Abnormally.

    If the test fails an error will be reported in a dialog box. Use the IBM Communications Server Log File to help you diagnose the cause of failure (see the section Error Reporting and Diagnostics below).

Now you have tested the active connection it is ready for use with CCIAPPC.

Parent topic: IBM Communications Server v5.01 for Windows NT


Error Reporting and Diagnostics

  • Fileshare Error Reporting

    Fileshare clients log messages returned from CCI in both the fhredir.msg and fhneterr.log files in the current directory. For example an entry from fhredir.cfg CCI: 970116 15183855 0009 07 CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined Column 2 and 3 gives the date and time stamp of the error. Column 4 (in this case 0009) gives the CCI error code Column 6 gives the CCI error message returned by CCI-GETERROR.

  • Windows NT Event Log

    Events can be viewed using the Microsoft NT Event Viewer (in the Administrative Tools(Common) program folder). In the Event Viewer select Application from the Log menu. This will then display the Application Log. Events generated by the IBM Communications Server itself are prefixed with IBMCommServer. Events generated by interaction with clients use the prefix IBM SNA Client Services. Double-clicking on an event will show details of the event.

  • IBM Communications Server Log File (\IBMCS\PCWMSG.MLG)

    The Log file can be viewed by selecting Log Viewer from the Launch menu of the Node Operations program or by selecting Log Viewer from the IBM Communications Server program folder.

    Details of the selected message are shown at the bottom of the Log Viewer window. In addition, double-clicking on the message number will display an explanation of the message.

    Further useful diagnostic information can be obtained by interpreting the Sense Code returned with many errors using the Display SNA Sense Data utility in the IBM Communications Server program folder.

  • IBM Communications Server Trace Facility

    This can be used to provide tracing of CPI-C and APPC interface calls made by CCIAPPC.

    Start the Trace Facility program from the IBM Communications Server program folder or from the Launch menu of the SNA Node Operations program.

    1. Select Function Name APPN and APPC.
    2. Select Component Name CPI-C API and then select the desired Trace Options (Verb trace, Verb trace plus up to 128 bytes of data, or Verb trace plus full data).
    3. Select Component Name APPC API and then select the desired Trace Options (Verb trace, Verb trace plus up to 128 bytes of data, or Verb trace plus full data). CPI-C is built upon APPC and so it is sometimes useful to glean more information by tracing APPC as well as CPI-C.
    4. Adjust the Maximum Trace Data Length if required (default 16K).
    5. Select Start to start tracing.
    6. Having performed the required tracing select Stop to stop tracing.
    7. Select Save and opt to either overwrite or append to the unformatted trace file.
    8. Select Format and specify a name for the formatted trace file. The unformatted trace file will then be formatted and saved in this file.
    9. This file can be viewed using an editor or the Windows Notepad program.
Parent topic: IBM Communications Server v5.01 for Windows NT


Known Problems

None.

Parent topic: IBM Communications Server v5.01 for Windows NT


IBM Personal Communications v4.2 for Windows 95 and Windows NT

  • Installing IBM IEEE 802.2 LAN Interface
  • Configuring IBM Personal Communications
  • Configuring the Node
  • Step 1: Node Setup
  • Basic Settings
  • Basic Settings
  • Basic Settings
  • Step 5: Partner LU 6.2 Configuration
  • Basic Settings
  • Step 6: Configuring Modes (Optional)
  • Verifying the Configuration
  • Activating the Configuration
  • Testing the Configuration
  • Error Reporting and Diagnostics
  • Known Problems
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


Installing IBM IEEE 802.2 LAN Interface

IBM Personal Communications requires the IBM IEEE 802.2 Lan Interface to provide support for a connection over 802.2. Towards the end of the installation of IBM Personal Communications you will be prompted to choose whether to automatically install the IBM IEEE 802.2 Lan Interface for use with IBM Personal Communications over a LAN. Unless you have installed this interface previously you must opt to install the IBM IEEE 802.2 LAN Interface if you intend to configure connections over 802.2.

Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Configuring IBM Personal Communications

After successfully installing the Personal Communications product, you can start to configure your APPC connection. You should have a VTAM definition of the connection you are attempting to configure available to you during the configuration.

From the IBM Personal Communications program folder, start the SNA Node Configuration program.

Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Configuring the Node

In the File menu select New to create a new Node configuration.

Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Step 1: Node Setup

From the Configuration options listbox select Configure Node and then select New.

Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Basic Settings

  1. In the Fully Qualified CP name enter the Network Name for this SNA network in the first box. This should be obtained from the network administrator of the host system. In the second box following the period enter the Control Point (CP) name assigned to this machine. This should be obtained from the network administrator of the host system. The CP Name should match the Physical Unit (PU) name assigned to this machine as specified in the PU definition in VTAM for this machine.
  2. Duplicate the CP Name in CP alias.
  3. Enter the 8 digit hexadecimal Local Node ID which is used to identify this local system on the SNA network. The first 3 digits is the Block ID (IDBLK) number followed by the last 5 digits of the Physical Unit ID (IDNUM) (also known as the Node number). These numbers must correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system.

  • Advanced Settings
  • DLU Requester Settings
  • Step 2: Device Configuration
Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Advanced Settings

These can be left to their default settings

Parent topic: Basic Settings


DLU Requester Settings

These can be left to their default settings

Select OK to complete the Node configuration.

Parent topic: Basic Settings


Step 2: Device Configuration

From the Configuration options list box select Configure Devices. Then from the DLCs list box select LAN and then select New.

Parent topic: Basic Settings


Basic Settings

  1. Specify LAN adapter.

    IBM Personal Communications will detect which LAN adapters are available for use (i.e. are not dialup adapters, etc.) and list them by number in the Adapter number pulldown list box. If you only have one LAN adapter installed you can select the Use first available LAN adapter checkbox. If you have more than one LAN adapter do not select this checkbox but select the appropriate LAN adapter number from the Adapter number pulldown listbox. The following information will help you to determine the adapter number of the LAN adapter.

    In Windows 95 and Windows NT LAN adapters are assigned an Adapter number in a range which starts with 0. However, you cannot assume that just because you have only one LAN adapter defined it will be assigned adapter number 0, for example a dial-up adapter will also be assigned a LAN adapter number and, in addition, removing adapters from the configuration does not cause the adapter numbers to be reassigned.

    • On Windows NT

      Select the adapter number assigned to the required LAN adapter listed in the Adapters panel of the network settings in Control Panel.

      Note:

      On Windows NT the adapter numbers displayed in the Adapter number pulldown list box of the Personal Communications Device configuration are inconsistent with the numbers assigned by Windows NT the Adapters panel of the Network settings in Control Panel. When only one LAN adapter is installed Windows NT assigns it number 1 in the Network settings whereas IBM Personal Communications displays it as 0 in the Adapter number pulldown list box of the Basic Settings of the Device configuration.

    • On Windows 95

      Start the Windows 95 Registry Editor (regedit). Select the key item HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net. This key will contain a numbered key entry for each adapter. Select each numbered key (simply select with the mouse, do not double-click) and use the DriverDesc field to determine which adapter this describes. When you have found the required LAN adapter its adapter number is its numbered key value.

  2. Leave the Local SAP setting to default to 04.

  • Advanced Settings
  • Performance Settings
  • Step 3: Connection Configuration
Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Performance Settings

These can be left to their default settings

Select OK to complete the Device configuration.

Parent topic: Basic Settings


Step 3: Connection Configuration

From the Configuration options list box select Configure connections and then select New.

Parent topic: Basic Settings


Basic Settings

  1. Enter a name for the connection in the Link station name. This must be up to 8 characters long and will describe the connection, e.g. the destination of the connection.
  2. From the Device name pulldown select the LAN Device name configured previously in step 2.
  3. Enter the 12 digit hexadecimal Destination address of the network controller attached to the remote host system. This should be obtained from the network administrator of the host system.
  4. Unless directed otherwise, leave the Remote SAP to default to 04.
  5. Select the LAN adapter type of the network controller attached to the host system. This should be obtained from the network administrator of the host system.

  • Advanced Settings
  • Security Settings
  • Step 4: Local LU Configuration
Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Advanced Settings

  1. Select Activate link at start to automatically activate the connection when the Node is started.
  2. Select APPN support.
  3. Leave the HPR support, Auto-activate support, Link to preferred NN server and Solicit SSCP sessions options checkboxes unselected.
  4. Leave the Maximum PIU size to default to 32767.
  5. Enter the 8 digit hexadecimal Local Node ID which is used to identify this local system on the SNA network. This should be the same as the Local Node ID specified when configuring the Node in step 1 previously.

Parent topic: Basic Settings


Security Settings

  1. Enter the fully qualified Control Point name of the Host system in the Adjacent CP name. Enter the Network Name for this SNA network in the first box. This should be obtained from the network administrator of the host system. In the second box following the period enter the Control Point (CP) name assigned to the remote Host machine. This should be obtained from the network administrator of the host system.
  2. From the Adjacent CP type pulldown select APPN Node.
  3. Leave the TG number to default to 0.

Select OK to complete the Connection configuration.

Before attempting to communicate using CCIAPPC you must define the local and remote LUs which will be used to communicate over the SNA connection you have configured. In this section we will describe the configuration of Independent LUs to be used to communicate over the host connection. When communicating with Host systems running VTAM (or NCP) the Remote LU is known as the APPLID (pronounced 'apple-eye-dee').

Parent topic: Basic Settings


Step 4: Local LU Configuration

From the Configuration options listbox select Configure Local LU 6.2 and then select New.

  1. For the Local LU name specify the LU name as defined in the list of LUs defined for this PU in VTAM on the host system.
  2. Leave Dependent LU unselected.
  3. For the Local LU alias enter the same Local LU name.
  4. Leave the LU session limit to default to 0.

Select OK to complete the Local LU configuration.

Parent topic: Basic Settings


Step 5: Partner LU 6.2 Configuration

From the Configuration options list box select Configure Partner LU 6.2 and then select New.

Unlike Local LUs, Remote LUs are assigned to a connection which will be used to communicate with it.

Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Basic Settings

  1. Enter the fully qualified Partner LU Name.

This LU Name should match the definition of the LU as it exists on the remote system, in this case in the form of a VTAM APPL definition on the host system.

Enter the Network Name for this SNA network in the first box. This should be obtained from the network administrator of the host system. In the second box following the period enter the name of the APPL on the remote Host machine. This should be obtained from the network administrator of the host system.

  • For the Partner LU alias duplicate the Partner LU name (i.e. APPL name).
  • Enter the Fully qualified CP name of the Host system on which the partner LU resides.

This is the same as the fully qualified CP name entered in the Security settings of the Connection configured previously in step 3.

Setting this correctly will enable the Server to determine which connection to use to locate a partner LU when establishing a session with a Local LU.

  • Advanced Settings
  • Configuring Session Limits: Defining a Mode
Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Advanced Settings

  1. Leave the Maximum LL record size to default to 32767.
  2. Selecting Conversation security support will have no effect since this is not supported by CCIAPPC.
  3. Ensure that the Parallel session support is selected.

Select OK to complete the Partner LU configuration.

Parent topic: Basic Settings


Configuring Session Limits: Defining a Mode

A Mode is used to define the attributes of sessions used between a Local LU and a Remote LU.

If the default mode #INTER is not appropriate (because its settings are incompatible with the modes defined on the host system for the Remote LU, or perhaps because a larger number of sessions is required) then a new mode can be defined.

CCIAPPC uses a single APPC session for each CCI session between the client and the server (e.g. between the MFA client and Fileshare running on a mainframe). When CCIAPPC establishes a connection between the client and server the attributes of the Mode determine, amongst other things, the number of CCI sessions available between the Local LU and the Remote LU (APPLID in VTAM). Hence the Mode determines how many client sessions can be established using the same Local LU - Remote LU pairing.

The PLU mode session limit and the Minimum contention winner sessions together determine how many sessions can be established by the Local LU (see below).

For example: if 10 client sessions are required, all using the same Local LU then the Mode session attributes might be:

PLU mode session limit = 20
Minimum contention winner sessions = 15

Alternatively the same number of client sessions could be attained by using multiple Local LUs with the client sessions divided between these LUs.

Important:

When a connection is established between a Local LU and a Remote LU the Mode characteristics are negotiated. This means that it is possible that the partner system (e.g. mainframe) will reduce the session limits to values which it can support. This may mean that fewer client sessions than expected will be supported. Hence it is important that the Mode characteristics, as defined for both the Local and Remote LUs, are compatible.

Parent topic: Basic Settings


Step 6: Configuring Modes (Optional)

From the Configuration options list box select Configure Modes and then select New.

  • Basic Settings
  • Advanced Settings
  • Enabling CCIAPPC to Find the Local LU
Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Basic Settings

  1. Enter Mode Name, this should match the Mode Name as defined on the Host system in VTAM. This can be the default log mode specified by the DLOGMOD parameter of the VTAM Applid (APPL) definition.
  2. Enter the PLU mode session limit. This is the maximum number of sessions that can be established between the two LUs.
  3. Enter the number of Minimum contention winner sessions. This is the number of sessions that the Local LU can establish without needing the permission of the Remote LU.

This value cannot be greater than the PLU mode session limit.

Parent topic: Step 6: Configuring Modes (Optional)


Advanced Settings

  1. Leave the Maximum negotiable session limit to default to 128.
  2. Leave the Receive pacing window size to default to 1.
  3. From the Class of service name pulldown select #INTER. This is the default APPC class of service.
  4. Leave Use cryptography unselected.
  5. Leave Use compression unselected.
  6. Leave Use default RIU size selected.

If you are in doubt over these values check with the network administrator of the host system.

Select OK to complete the Mode configuration.

Select OK to complete the Mode configuration.

Parent topic: Step 6: Configuring Modes (Optional)


Enabling CCIAPPC to Find the Local LU

It is very important that the CCIAPPC module be able to determine the Local LU to use for communication with the Host application. You may have configured everything else correctly and all of your other APPC applications may work, but if you miss this final step you will fail to establish a CCI session with the host application. If the CCI-INITCLIENT call returns CCI error 9 and CCI_GETERROR returns the message "CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined" it is likely that you have failed to complete this final step. When CCIAPPC attempts to allocate an LU 6.2 session with the remote system it must specify the Remote LU name which it requires a session with. This is the Remote LU name specified in the CCI Servername parameter (e.g. the /S parameter in FHREDIR.CFG). However, APPC needs to know the Local LU name as well as the Remote LU name when attempting to establish a session between the LUs.

To enable APPC to retrieve the Local LU name to use when attempting to allocate APPC sessions set the APPCLLU environment variable to the Local LU Name prior to starting the CCIAPPC client.

For Example:

SET APPCLLU=CCILLU01
Parent topic: Step 6: Configuring Modes (Optional)


Verifying the Configuration

To save and verify the configuration:

  1. In the File menu select Save to save the configuration. If prompted, opt to make configuration the default configuration. Exit the SNA Node Configuration program.
  2. In the Administrative and PD Aids folder of the IBM Personal Communications program folder start the SNA Node Configuration Verification program.
  3. In the File menu select Open and select the configuration file. The file will be loaded and the configuration displayed.
  4. In the File menu select Verify. If the configuration is correct the Verify will complete with no errors. If there are errors correct these using the SNA Node Configuration program, save the configuration and run Verify again.
Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Activating the Configuration

Once the configuration has been verified as correct the Node can be started.

  1. In Administrative and PD Aids folder of the IBM Personal Communications program folder start the SNA Node Operations program.
  2. In the Operations menu select Start Node... or select the green Start Node icon in the task bar.
  3. Select the configuration to open and select Open.

Once the service is active the underlying connections will activate if Activate link at start was defined for the connections.

Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Testing the Configuration

Once you have an active connection use the CNOS Initialize option in the Operations menu of the SNA Node Operations program to test the configuration. This will test the configuration by attempting to bind an LU 6.2 session between the Local LU and the Remote LU over the configured LAN connection.

  1. In the View menu of the SNA Node Operations program select LU 6.2 Sessions.
  2. In the Operations menu of the Node Operations program select CNOS Initialize...
  3. Select the Local LU to be used from the Local LU 6.2 pulldown.
  4. Enter the fully qualified Partner LU name (as defined in step 6 previously). This is of the format:
     Network-Name.Partner-LU-Name
  5. Select the Mode to use. This may be a custom Mode you have defined or can be left to default to #INTER.
  6. Specify the characteristics of the Mode:
    • In Sessions specify the maximum number of sessions allowed by the Mode, this is PLU mode session limit defined for the Mode.
    • In Winners specify the number of Minimum Contention winners as defined for the mode.
    • Specify 0 in Losers for the number of Contention Losers.
    • Specify 1 in Activate to activate a single session as a test.
  7. Select OK to initiate the bind test.

    If the test is successful the session bound between the Local LU and Partner LU will appear in the LU 6.2 Sessions window of the Node Operations program (in the View menu select Refresh to refresh the window). Sessions bound in this way can safely be terminated by selecting the Session Id, clicking the right mouse button and selecting Stop Abnormally.

    If the test fails an error will be reported in a dialog box. Use the IBM Personal Communications Log Viewer to help you diagnose the cause of failure (see the section Error Reporting and Diagnostics below).

Now you have tested the active connection it is ready for use with CCIAPPC.

Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Error Reporting and Diagnostics

  • Fileshare Error Reporting

    Fileshare clients log messages returned from CCI in both the fhredir.msg and fhneterr.log files in the current directory. For example, an entry from fhredir.cfg CCI: 970116 15183855 0009 07 CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined Column 2 and 3 gives the date and time stamp of the error. Column 4 (in this case 0009) gives the CCI error code Column 6 gives the CCI error message returned by CCI-GETERROR.

  • IBM Personal Communications Log File (PCWMSG.MLG)

    The Log file can be viewed by selecting Log Viewer from the Launch menu of the SNA Node Operations program or by selecting Log Viewer from the Administrative and PD folder of the IBM Personal Communications program folder.

    Details of the selected message are shown at the bottom of the Log Viewer window. In addition, double-clicking on the message number will display an explanation of the message.

    Further useful diagnostic information can be obtained by interpreting the Sense Code returned with many errors using the Display SNA Sense Data utility in the the Administrative and PD folder of the IBM Personal Communications program folder.

  • IBM Personal Communications Trace Facility

    This can be used to provide tracing of CPI-C and APPC interface calls made by CCIAPPC.

    Start the Trace Facility program from the the Administrative and PD folder of the IBM Personal Communications program folder or from the Launch menu of the SNA Node Operations program.

    1. Select Function Name APPN and APPC.
    2. Select Component Name CPI-C API and then select the desired Trace Options (Verb trace, Verb trace plus up to 128 bytes of data, or Verb trace plus full data).
    3. Select Component Name APPC API and then select the desired Trace Options (Verb trace, Verb trace plus up to 128 bytes of data, or Verb trace plus full data). CPI-C is built upon APPC and so it is sometimes useful to glean more information by tracing APPC as well as CPI-C.
    4. Adjust the Maximum Trace Data Length if required (default 16K).
    5. Select Start to start tracing.
    6. Having performed the required tracing select Stop to stop tracing.
    7. Select Save and opt to either overwrite or append to the unformatted trace file.
    8. Select Format and specify a name for the formatted trace file. The unformatted trace file will then be formatted and saved in this file.
    9. This file can be viewed using an editor or the Windows Notepad program.
Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Known Problems

None.

Parent topic: IBM Personal Communications v4.2 for Windows 95 and Windows NT


Microsoft SNA Server v3.0

  • Installing DLC for Windows NT or 95
  • Installing Microsoft SNA Server
  • Configuring Microsoft SNA Server
  • Step 1: Configuring the Local Server
  • Step 2: Configuring the Link Service
  • Step 3: Configuring the Connection
  • Step 4: Configuring the Connection Address
  • Step 5: Configuring the System Identification
  • Step 6: Configuring 802.2 DLC Properties
  • Step 7: Configuring Local LUs
  • Step 8: Configuring Remote LUs
  • Configuring Session Limits: Defining a Mode
  • Step 9: Enabling CCIAPPC to Find the Local LU
  • Step 10: Configuring a 3270 LU for the 3270 Applet
  • Step 11: Associating a 3270 LU with a User
  • Step 12: Activating the Configuration
  • Error Reporting and Diagnostics
  • Known Problems
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


Installing DLC for Windows NT or 95

Microsoft SNA Server requires the Microsoft 32-bit DLC protocol to provide support for a connection over 802.2. You should already have installed the 32-bit DLC driver for Windows '95 or Windows NT. If you have not yet done this, please follow the instructions for installing this driver in Configuring DLC over 802.2 on Windows 95 or Configuring DLC over 802.2 on Windows NT.

Parent topic: Microsoft SNA Server v3.0
Parent topic: Microsoft SNA Server v2.11


Installing Microsoft SNA Server

This documentation assumes that you have already installed Microsoft SNA Server. In addition you should have specified the MS DLC in the SNA Server Setup program.

Parent topic: Microsoft SNA Server v3.0


Configuring Microsoft SNA Server

After successfully installing the SNA Server product, you can start to configure your APPC connection. You should have a VTAM definition of the connection you are attempting to configure available to you during the configuration.

From the Microsoft SNA Server(Common) program folder, start the Manager program.

Parent topic: Microsoft SNA Server v3.0


Step 1: Configuring the Local Server

During the SNA Server 3.0 installation (assuming that you are performing a new installation and not an upgrade) you will be prompted for information about the Local Server.

  1. Enter the Network Name for this SNA network. This should be obtained from the network administrator of the host system.
  2. Enter the Control Point (CP) name assigned to this machine. This should be obtained from the network administrator of the host system. The CP Name should match the Physical Unit (PU) name assigned to this machine as specified in the PU definition in VTAM for this machine.

Parent topic: Microsoft SNA Server v3.0


Step 2: Configuring the Link Service

Now configure the Link Service by selecting the Insert menu item then Link Service. This will display the Insert Link Service dialog box.

  1. Select DLC 802.2 Link Service which is the Microsoft 32 Bit DLC installed previously.
  2. Select Add... to add the Link Service.

This will display the DLC 802.2 Link Service Properties dialog box.

  1. Select the correct LAN adapter over which the Link Service will be used.
  2. Leave the Local Service Access Point (SAP) to default to 0x4.
  3. Leave the Allow Link Service To Be Distributed option unselected.
  4. Hit the OK button to complete the configuration of the Link Service.

Parent topic: Microsoft SNA Server v3.0


Step 3: Configuring the Connection

  1. Under the SNA Servers folder select the local Server which you have just configured in Steps 1 and 2 above.
  2. In the Insert menu choose Connection and then the connection type 802.2, at which point the Connection Properties dialog box will appear.
  3. Fill in the Connection Name with a name up to 8 characters long which will describe the connection, e.g. the destination of the connection.
  4. Select the Link Service SnaDlc1, this is the protocol which will be used to access the network adapter.
  5. For the Remote End select Host System.
  6. Set the Allowed Directions to both Incoming and Outgoing.
  7. Set the Activation to By Administrator initially. This can be changed to On Demand or At Server Startup later when we are sure that the connection is configured correctly.

Parent topic: Microsoft SNA Server v3.0


Step 4: Configuring the Connection Address

Now display the Address dialog box by clicking on the Address tag in the Connection Properties dialog box.

  • Enter the 12 digit hexadecimal Remote Network Address of the network controller attached to the remote host system. This should be obtained from the network administrator of the host system.

Parent topic: Microsoft SNA Server v3.0


Step 5: Configuring the System Identification

Now display the System Identification dialog box by clicking on the System Identification tag in the Connection Properties dialog box.

  1. Enter the 8 digit hexadecimal Local Node ID which is used to identify this local system on the SNA network. The first 3 digits is the block (IDBLK) number followed by the last 5 digits of the node (IDNUM) number. These numbers must correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system.

The XID Type should reflect the type used by the host system. At this point you must check with the network administrator of the host system to see whether the host system uses Format 3 type XIDs. Format 0 only sends the local Node ID and is used only when hosts do not support the default Format 3 XID. Format 3 sends up to 100 bytes of identification data which includes the local Node ID and the Control Point name. Independent APPC LUs must use format 3 XIDs. The default is Format 3.

  • If the host system uses XID type Format 3 (which is usually the case) then select the XID Type of Format 3 and fill in the Network Name and Control Point name of the host system in the Remote Node Name fields. These names should be obtained from the network administrator of the host system.
  • If the host system does not use Format 3 XIDs then select the XID Type of Format 0 and leave the Remote Node Name fields blank.

Also check with the network administrator of the host system whether the Node Id of the host system should be configured.

  • If so, enter the 8 digit block number and node number given to you by the network administrator of the host system which is the Remote Node Id of the host system.

Parent topic: Microsoft SNA Server v3.0


Step 6: Configuring 802.2 DLC Properties

Now display the 802.2 DLC dialog box by clicking on the 802.2 DLC tag in the Connection Properties dialog box.

The 802.2 DLC settings contain parameters which in most cases can be left to their default values. Two which may need modification are the BTU Length and the Connection Retry Limits.

  1. Specify a value for the maximum BTU Length based on the following formula. BTU = MAXDATA - 9, where MAXDATA is the value of the MAXDATA parameter of the PU definition for this machine. NOTE: For a 4 Mbs Token Ring specify a BTU value of 4195 or less. For a 16 Mbs Token Ring specify a value of 16393 or less. For an Ethernet LAN specify a BTU value of 1493 or less.
  2. Set a value for the Maximum Retries which the SNA Server will make when attempting to establish the connection with the host system. The possible values range from 1 to Unlimited. We suggest a value of 2.
  3. Set a value for the Delay After Failure. This is a value in seconds between each attempt. The range is from 5 to 255 seconds, with a default of 10.

To complete the configuration of the connection click on the OK button.

Before attempting to communicate using CCIAPPC you must define the local and remote LUs which will be used to communicate over the SNA connection you have configured. In this section we will describe the configuration of Independent LUs to be used to communicate over the host connection. When communicating with Host systems running VTAM (or NCP) the Remote LU is known as the APPLID (pronounced 'apple-eye-dee').

Parent topic: Microsoft SNA Server v3.0


Step 7: Configuring Local LUs

  1. Under the SNA Servers folder select the local Server which you have just configured in Steps 1 and 2 above.
  2. In the Insert menu select APPC and then Local LU at which point the Local APPC LU Properties dialog box should appear.
  3. For the LU Alias specify the LU name as defined in the list of LUs defined for this PU in VTAM on the host system. This name is automatically duplicated for the LU Name.
  4. Select the Network Name field, this will cause the Network Name to be automatically set to the Network Name of the Local Server. The Network Name and LU Name together form the Fully Qualified LU Name.
  5. Leave the APPC SyncPoint Support box unselected.

Now select the Advanced tab in the Local APPC LU Properties dialog box.

  1. Select the check box marked Member of Default Outgoing Local APPC LU Pool.
  2. Select an LU 6.2 Type of Independent.

To complete the configuration of the Local LU click on the OK button.

Parent topic: Microsoft SNA Server v3.0


Step 8: Configuring Remote LUs

Unlike Local LUs, Remote LUs are assigned to a connection which will be used to communicate with it.

  1. Under the SNA Servers folder select the local Server which you have just configured in Steps 1 and 2 above.
  2. In the Insert menu select APPC and then Remote LU at which point the Remote APPC LU Properties dialog box should appear.
  3. Select the Connection over which this Remote LU will be used. This will be the Connection configured in Step 3.
  4. Enter the LU Alias, this name is automatically duplicated for the LU Name and Uninterpreted Name. This LU Name should match the definition of the LU as it exists on the remote system, in this case in the form of a VTAM APPL definition on the host system.
  5. Select the Network Name field, this will cause the Network Name to be automatically set to the Network Name of the Remote Node Name.

Now select the Options tab in the Remote APPC LU Properties dialog box.

  • Select the Supports Parallel Sessions check box.

To complete the configuration of the Remote LU click on the OK button.

Parent topic: Microsoft SNA Server v3.0


Configuring Session Limits: Defining a Mode

A Mode is used to define the attributes of sessions used between a Local LU and a Remote LU.

If the default mode #INTER is not appropriate (because its settings are incompatible with the modes defined on the host system for the Remote LU, or perhaps because a larger number of sessions is required) then a new mode can be defined.

CCIAPPC uses a single APPC session for each CCI session between the client and the server (e.g. between the MFA client and Fileshare running on a mainframe). When CCIAPPC establishes a connection between the client and server the attributes of the Mode determine, amongst other things, the number of CCI sessions available between the Local LU and the Remote LU (APPLID in VTAM). Hence the Mode determines how many client sessions can be established using the same Local LU - Remote LU pairing.

The Parallel Session Limit and the Minimum Contention Winner Limit together determine how many sessions can be established by the Local LU (see below).

For example: if 10 client sessions are required, all using the same Local LU then the Mode session attributes might be:

Parallel Session Limit = 20
Minimum Contention Winner Limit = 15
Partner Minimum Contention Winner Limit = 0

Alternatively the same number of client sessions could be attained by using multiple Local LUs with the client sessions divided between these LUs.

Important:

When a connection is established between a Local LU and a Remote LU the Mode characteristics are negotiated. This means that it is possible that the partner system (e.g. mainframe) will reduce the session limits to values which it can support. This may mean that fewer client sessions than expected will be supported. Hence it is important that the Mode characteristics, as defined for both the Local and Remote LUs, are compatible.

  • To Define a New Mode
Parent topic: Microsoft SNA Server v3.0


To Define a New Mode

  1. In the Insert menu select APPC then Mode Definition at which point the APPC Mode Properties dialog box should appear.
  2. Enter Mode Name, this should match the Mode Name as defined on the Host system in VTAM. This can be the default log mode specified by the DLOGMOD parameter of the VTAM Applid (APPL) definition.

Now select the Limits tab in the APPC Mode Properties dialog box.

  1. Enter the Parallel Session Limit. This is the maximum number of sessions that can be established between the two LUs.
  2. Enter the Minimum Contention Winner Limit. This is the number of sessions that the Local LU can establish without needing the permission of the Remote LU.
  3. Enter the Partner Min Contention Winner Limit. This is the number of sessions that the Remote LU can establish without needing the permission of the Local LU. Note that the sum of the Minimum and Partner Min Contention Winner Limits must be less than or equal to the Parallel Session Limit.
  4. Enter the Automatic Activation Limit. This is the number of contention winner sessions to activate when the connection using this mode is started.

If you are in doubt over these values check with the network administrator of the host system.

Now select the Characteristics tab in the APPC Mode Properties dialog box.

  1. Enter the Pacing Send Count and Pacing Receive Count. These values should be obtained from the system administrator of the host system.
  2. Enter the Max Send RU size and Max Receive RU size. These values should be obtained from the system administrator of the host system.
  3. Select High Priority Mode.

Select OK to complete the Mode definition. The new Mode should appear in the APPC Modes folder.

Repeat this section until all required Modes have been added.

Parent topic: Configuring Session Limits: Defining a Mode


Step 9: Enabling CCIAPPC to Find the Local LU

It is very important that the CCIAPPC module be able to determine the Local LU to use for communication with the Host application. You may have configured everything else correctly and all of your other APPC applications may work, but if you miss this final step you will fail to establish a CCI session with the host application. If the CCI-INITCLIENT call returns CCI error 9 and CCI_GETERROR returns the message "CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined" it is likely that you have failed to complete this final step. When CCIAPPC attempts to allocate an LU 6.2 session with the remote system it must specify the Remote LU name which it requires a session with. This is the Remote LU name specified in the CCI Servername parameter (e.g. the /S parameter in FHREDIR.CFG). However, APPC needs to know the Local LU name as well as the Remote LU name when attempting to establish a session between the LUs.

The manner in which it determines the Local LU name in SNA Server is by one of two mechanisms as described below:

  1. Configure the Local LU to be a member of the Default Outgoing Pool.

    When we configured the Local LU above, we selected the check box marked Member of Default Outgoing Local APPC LU Pool in the APPC LU Properties dialog box. This means that when CCIAPPC attempts to allocate a session with the Remote LU it will select a Local LU which is a member of the Default Outgoing Pool. However, if there are multiple Local LUs which are members of the Default Outgoing Pool then any of these Local LUs could be selected. If this side-effect is undesirable then implement the following method.

  2. Configure a default Local APPC LU Alias on per user or group basis.
    1. If the user or group has already been configured in SNA Server then skip to step number 6, otherwise perform steps 2 to 5 first.
    2. In the Insert menu select User at which point the Add Users and Groups dialog box should appear.
    3. Select the domain from which to add the users or groups or select the local server name.
    4. Select the user or group from the list in the Names list box (select the Members... button to list the users in a group) and then select Add.
    5. Click the OK button.
    6. In the Configured Users folder double-click on the user or group with which you want to associate a default Local APPC LU.
    7. In the users' properties dialog box select the APPC Defaults tag.
    8. Select the the required Local LU from the Local APPC LU popdown list.
    9. Click the OK button.

Now go to the File menu and select Save. It is not necessary to restart the SNA Server service to activate a new User configuration.

Parent topic: Microsoft SNA Server v3.0


Step 10: Configuring a 3270 LU for the 3270 Applet

In order to use the SNA Server 3270 Applet for 3270 terminal access to the host system a 3270 LU must be configured for use by each terminal session.

  1. In the Connections folder select the connection over which the 3270 session will be used.
  2. In the Insert menu select 3270 and then Display LU at which point the 3270 LU Properties dialog box should appear.
  3. Set the LU Number for this dependent LU. This must match the LOCADDR number as specified on the Dependent LU definition configured for use as a 3270 terminal. This is found under the PU definition for the SNA Server machine in VTAM.
  4. Enter the LU Name for the 3270 LU. This should match the name of the Dependent LU definition configured for use as a 3270 terminal. This is found under the PU definition for the SNA Server machine in VTAM.
  5. Now select the Display Model tab in the 3270 LU Properties dialog box.
  6. Set the Display Model attributes. These can usually be left to default to 2 (24x80) and Model can be overridden
  7. Click the OK button to complete the 3270 LU configuration

Repeat Step 10 until you have configured all the 3270 LUs which you require for 3270 terminal sessions.

Parent topic: Microsoft SNA Server v3.0


Step 11: Associating a 3270 LU with a User

When a user runs the SNA Server 3270 Applet a 3270 LU is required in order to establish a session with the host system. This 3270 LU may come from a pool of 3270 LUs or may be associated with the user. We will describe the latter case, associating a 3270 LU with a user.

  1. If the user has not yet been configured in SNA Server then see the second part of Step 9 above.
  2. In the Connections folder select the connection and then the 3270 LU which you wish to assign to a configured user.
  3. Whilst selecting the 3270 LU with the mouse pointer, click the right mouse button and select Assign To followed by User and then select the required user.
  4. In the Configured Users folder select the same user. The newly assigned 3270 LU should appear .

Now go to the File menu and select Save Configuration. It is not necessary to restart the SNA Server service to activate a new User configuration.

When the specified user starts the SNA Server 3270 Applet a session will be established using the 3270 LU associated with the user.

Parent topic: Microsoft SNA Server v3.0


Step 12: Activating the Configuration

Once the settings described above have been made the configuration must be saved before stopping and restarting the SNA Server service.

  1. In the File menu select Save to save the configuration.
  2. In the SNA Servers folder select the server and in the Service menu select Stop.
  3. Once the server status has gone to Inactive, in the Service menu select Start, the service should then go to Active status.

Once the service is active the underlying connections will activate if the Activation type was defined as On Server Startup or On Demand.

Connections configured for Incoming and Outgoing calls go to On Demand/Incoming status when successfully activated. The connection will go to active status when the first session is established or if activated manually by the administrator.

Parent topic: Microsoft SNA Server v3.0


Error Reporting and Diagnostics

  • Fileshare Error Reporting

    Fileshare clients log messages returned from CCI in both the fhredir.msg and fhneterr.log files in the current directory. For example, an entry from fhredir.cfg CCI: 970116 15183855 0009 07 CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined Column 2 and 3 gives the date and time stamp of the error. Column 4 (in this case 0009) gives the CCI error code Column 6 gives the CCI error message returned by CCI-GETERROR.

  • Microsoft SNA Server Event Log

    Events can be viewed using the Microsoft NT Event Viewer (in the Administrative Tools(Common) program folder). In the Event Viewer select Log menu and then menu item Application. This will then display the Application Log. MS SNA Server events are prefixed with SNA. SNA Base events originate from the SNA Base Service and describe events concerning the operation of SNA Server itself. SNA APPC Application events are generated by CCIAPPC calling the APPC interface using CPI-C (Common Programming Interface - Communications).

  • Microsoft SNA Server Trace

    This can be used to provide tracing of CPI-C and APPC interface calls made by CCIAPPC.

    Start the SNA Trace program from the Microsoft SNA Server(Common) program folder or the Microsoft SNA Server Client program folder.

    Select the SNA Applications trace item and then click the Properties button. Select the Messages tab and check the LU 6.2 Messages box. Then select the API Trace tab and check the CPI-C API box. Then click the OK button to return to the Trace Settings dialog box and OK again to activate the SNA Trace settings. To disable tracing select the Clear All Traces button and then OK at the prompt.

    Trace files are in binary format, have extension .ATF and are generated in the traces directory of the Microsoft SNA Server client installation. They must be viewed using the SNA Trace Viewer (sna\system\tracevwr.exe) which is found only in the Microsoft SNA Server(Common) program folder on the NT Server. However the tracevwr.exe can be copied and run on a Windows NT or Windows 95 client machine.

Parent topic: Microsoft SNA Server v3.0


Known Problems

  1. Running Microsoft SNA Server 3.0 with Novell Netware 32 Bit Client

    There is a problem running Microsoft SNA Server v3.0 on Windows NT Servers which are also running the Novell Netware 32 Bit Client. The SNA Server service can cause Windows NT to crash or the service itself may trap. Microsoft are aware of this problem and plan to address this with SNA Server v3.0 Service Pack 2 (SP2). This problem does not exist with the Microsoft Netware Client.

  2. Attempting to install Microsoft SNA Server 3.0 on an NT Server configured in a WorkGroup

    Microsoft SNA Server 3.0 MUST be installed on an NT Server which is EITHER a Domain Controller OR is configured in a Domain (where another Server is the Domain Controller). The NT Server must NOT be configured in a WorkGroup.

Parent topic: Microsoft SNA Server v3.0


Microsoft SNA Server v2.11

  • Installing DLC for Windows NT or 95
  • Installing Microsoft SNA Server
  • Configuring Microsoft SNA Server
  • Step 1: Configuring the Local Server
  • Step 2: Configuring the Adapter
  • Step 3: Configuring the Connection
  • Step 4: Configuring the Connection Setup
  • Step 5: Configuring Local LUs
  • Step 6: Configuring Remote LUs
  • Step 7: Partnering LUs
  • Step 8: Enabling CCIAPPC to Find the Local LU
  • Step 9: Configuring a 3270 LU for the 3270 Applet
  • Step 10: Associating a 3270 LU with a User
  • Step 11: Activating the Configuration
  • Error Reporting and Diagnostics
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


Installing Microsoft SNA Server

You should have already installed Microsoft SNA Server. In addition you should have specified the MS DLC in the SNA Server Setup program.

Parent topic: Microsoft SNA Server v2.11


Configuring Microsoft SNA Server

After successfully installing the SNA Server product, you can start to configure your APPC connection. You should have a VTAM definition of the connection you are attempting to configure available to you during the configuration.

From the Microsoft SNA Server(Common) program folder, start the SNA Admin program.

Parent topic: Microsoft SNA Server v2.11


Step 1: Configuring the Local Server

Select New Server from the Services menu. This will display the Server Properties dialog box.

  1. Enter a Server Name which will be used to identify this local MS SNA Server, for example, this could be the machine name.
  2. Enter the Network Name for this SNA network. This should be obtained from the network administrator of the host system.
  3. Enter the Control Point (CP) name assigned to this machine. This should be obtained from the network administrator of the host system. The CP Name should match the Physical Unit (PU) name assigned to this machine as specified in the PU definition in VTAM for this machine.

Parent topic: Microsoft SNA Server v2.11


Step 2: Configuring the Adapter

Now configure the Adapter by clicking on the Adapters button in the Server Properties dialog box. This will display the Adapter Properties dialog box.

  1. Select the Service Name SnaDlc1 which is the MS 32 Bit DLC installed previously.
  2. Select the correct adapter type (in this case Token Ring or Ethernet) which is being used by this machine. If the machine has more than one adapter then choose the adapter type which was configured for use with MS DLC.

Complete the Local Server configuration by clicking on the Close button.

Parent topic: Microsoft SNA Server v2.11


Step 3: Configuring the Connection

  1. Select the local Server in the Servers and Connections window which you have just configured in Steps 1 and 2 above.
  2. In the Services menu choose New Connection which then displays the Insert Connection dialog box.
  3. Select the type of connection, in this case 802.2.
  4. Choose OK at which point the Connection Properties dialog box will appear.
  5. Fill in the Connection Name with a name up to 8 characters long which will describe the connection, e.g. the destination of the connection.
  6. Select the Link Service SnaDlc1, this is the protocol which will be used to access the network adapter.
  7. For the Remote End select Host System.
  8. Set the Allowed Directions to both Incoming and Outgoing.
  9. Set the Activation to By Administrator initially. This can be changed to On Demand or At Server Startup later when we are sure that the connection is configured correctly.

Parent topic: Microsoft SNA Server v2.11


Step 4: Configuring the Connection Setup

Now display the 802.2 Setup dialog box by clicking on the Setup button in the Connection Properties dialog box.

  1. Enter the 12 digit hexadecimal Remote Network Address of the network controller attached to the remote host system. This should be obtained from the network administrator of the host system.
  2. Enter the 8 digit hexadecimal Local Node ID which is used to identify this local system on the SNA network. The first 3 digits is the block (IDBLK) number followed by the last 5 digits of the node (IDNUM) number. These numbers must correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system.
  3. At this point you must check with the network administrator of the host system to see whether the host system uses Format 3 type XIDs.
    • If it does then you must fill in the Network Name and Control Point name of the host system.
    • If it does not use Format 3 XIDs (usually the case) then these fields can be left blank.
  4. Also check with the network administrator of the host system whether the Node Id of the host system should be configured. If so, enter the 8 digit block number and node number given to you by the network administrator of the host system which is the Remote Node Id of the host system.
  5. Now set the connection retry parameters by clicking on the Retry Timers button.
    1. Set a value for the Maximum Number of attempts that SNA Server will make to establish the connection with the host system. The possible values range from 1 to Unlimited. We suggest a value of 2.
    2. Set a value for the Delay after failed attempts. This is a value in seconds between each attempt. The range is from 5 to 255 seconds, with a default of 10.

  6. Now check the Advanced settings for the 802.2 connection by clicking the Advanced button.

    The Advanced settings contains parameters which in most cases can be left to their default values. Two which may need modification are the BTU Length and the XID Type.

    1. Specify a value for the maximum BTU Length based on the following formula. BTU = MAXDATA - 9, where MAXDATA is the value of the MAXDATA parameter of the PU definition for this machine. NOTE: For a 4 Mbs Token Ring specify a BTU value of 4195 or less. For a 16 Mbs Token Ring specify a value of 16393 or less. For an Ethernet LAN specify a BTU value of 1493 or less.
    2. The XID Type should reflect the type used by the host system. Format 0 only sends the local Node ID and is used only when hosts do not support the default Format 3 XID. Format 3 sends up to 100 bytes of identification data which includes the local Node ID and the Control Point name. Independent APPC LUs must use format 3 XIDs. The default is Format 3.
  7. To complete the configuration of the connection click on the OK button.

Before attempting to communicate using CCIAPPC you must define the local and remote LUs which will be used to communicate over the SNA connection you have configured. In this section we will describe the configuration of Independent LUs to be used to communicate over the host connection. When communicating with Host systems running VTAM (or NCP) the Remote LU is known as the APPLID (pronounced 'apple-id').

Parent topic: Microsoft SNA Server v2.11


Step 5: Configuring Local LUs

  1. In the Servers and Connections window, select the SNA Server name and then in the Services menu select Assign LUs and when the Insert LU dialog box appears select OK.
  2. For the LU Alias specify the LU name as defined in the list of LUs defined for this PU in VTAM on the host system. At this point this name is automatically duplicated for the LU Name.
  3. Enter the Network Name which should be the same as the Network Name field of the SNA Network Control Point in the Server Properties dialog box (activated by double-clicking on the SNA Server name in the Servers and Connections dialog box). The Network Name and LU Name together form the Fully Qualified LU Name.
  4. If you want to automatically associate this Local LU with every Remote LU configured in SNA Server then select the Enable Automatic Partnering check box.
  5. Select the check box marked Member of Default Outgoing Local APPC LU Pool.

To complete the configuration of the Local LU click on the OK button.

Parent topic: Microsoft SNA Server v2.11


Step 6: Configuring Remote LUs

Unlike Local LUs, Remote LUs are assigned to a connection which will be used to communicate with it.

  1. In the Servers and Connections windows, select the connection configured in Steps 3 and 4, then in the Services menu select Assign LUs. When the Insert LU dialog box appears select APPC (Remote) and then OK.
  2. Enter the LU Alias, at which point this name is automatically duplicated for the LU Name. Enter the Network Name. These should match the definition of the LU as it exists on the remote system, in this case in the form of a VTAM APPL definition on the host system.
  3. Select the Supports Parallel Sessions check box.

Parent topic: Microsoft SNA Server v2.11


Step 7: Partnering LUs

The partnering of a Local LU with a Remote LU forms a relationship between these LUs which will enable us to establish a session for CCIAPPC to communicate over.

  1. In the Servers and Connections windows, on the right hand side of the window, double-click on the Local LU which you have created.
  2. In the APPC LU Properties dialog box select the Partners button.
  3. In the LU 6.2 Partner LUs dialog box select the Add... button.
  4. In the Add APPC LU Partner dialog box select the partner LU (in this case it will be a previously defined Remote LU) and the mode for the LU-LU pair. A number of default modes are defined already, for example #INTER, which is adequate in most cases of LU 6.2 intercommunication. However if you need a customized mode see the section entitled Defining a Mode below.
  5. Click on the Close button.

  • Configuring Session Limits: Defining a Mode
  • To Define a New Mode
Parent topic: Microsoft SNA Server v2.11


Configuring Session Limits: Defining a Mode

A Mode is used to define the attributes of sessions used between a Local LU and a Remote LU.

If the default mode #INTER is not appropriate (because its settings are incompatible with the modes defined on the host system for the Remote LU, or perhaps because a larger number of sessions is required) then a new mode can be defined.

CCIAPPC uses a single APPC session for each CCI session between the client and the server (e.g. between the MFA client and Fileshare running on a mainframe). When CCIAPPC establishes a connection between the client and server the attributes of the Mode determine, amongst other things, the number of CCI sessions available between the Local LU and the Remote LU (APPLID in VTAM). Hence the Mode determines how many client sessions can be established using the same Local LU - Remote LU pairing.

The Parallel Session Limit and the Minimum Contention Winner Limit together determine how many sessions can be established by the Local LU (see below).

For example: if 10 client sessions are required, all using the same Local LU then the Mode session attributes might be:

Parallel Session Limit = 20
Minimum Contention Winner Limit = 15
Partner Minimum Contention Winner Limit = 0

Alternatively the same number of client sessions could be attained by using multiple Local LUs with the client sessions divided between these LUs.

Important:

When a connection is established between a Local LU and a Remote LU the Mode characteristics are negotiated. This means that it is possible that the partner system (e.g. mainframe) will reduce the session limits to values which it can support. This may mean that fewer client sessions than expected will be supported. Hence it is important that the Mode characteristics, as defined for both the Local and Remote LUs, are compatible.

Parent topic: Step 7: Partnering LUs


To Define a New Mode

  1. In the Servers and Connections windows, on the right hand side of the window, double-click on the Local LU which you have created.
  2. In the APPC LU Properties dialog box select the Partners button.
  3. In the LU 6.2 Partner LUs dialog box select the Modes... button.
  4. Enter Mode Name, this should match the Mode Name as defined on the Host system in VTAM. This can be the default log mode specified by the DLOGMOD parameter of the VTAM Applid (APPL) definition.
  5. Enter the Parallel Session Limit. This is the maximum number of sessions that can be established between the two LUs.
  6. Enter the Minimum Contention Winner Limit. This is the number of sessions that the Local LU can establish without needing the permission of the Remote LU.
  7. Enter the Partner Min Contention Winner Limit. This is the number of sessions that the Remote LU can establish without needing the permission of the Local LU. Note that the sum of the Minimum and Partner Min Contention Winner Limits must be less than or equal to the Parallel Session Limit. If you are in doubt over these values check with the network administrator of the host system.
  8. Do not select Enable Automatic Partnering.
  9. Select High Priority Mode.
  10. Enter the Pacing Send Count and Pacing Receive Count. These values should be obtained from the system administrator of the host system.
  11. Enter the Max Send RU size and Max Receive RU size. These values should be obtained from the system administrator of the host system.
  12. Select Close to complete the Mode definition. The new Mode should appear in the Modes pull-down window when choosing a mode for a Local LU - Remote LU partnership.

Repeat this section until all required Modes have been added.

Refer to the section entitled Configuring Modes for LU-LU Pairs in chapter 6, Configuring LUs for APPC of Part 2 of the Microsoft SNA Server Administration Guide for more information.

Parent topic: Step 7: Partnering LUs


Step 8: Enabling CCIAPPC to Find the Local LU

It is very important that the CCIAPPC module be able to determine the Local LU to use for communication with the Host application. You may have configured everything else correctly and all of your other APPC applications may work, but if you miss this final step you will fail to establish a CCI session with the host application. If the CCI-INITCLIENT call returns CCI error 9 and CCI_GETERROR returns the message "CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined" it is likely that you have failed to complete this final step. When CCIAPPC attempts to allocate an LU 6.2 session with the remote system it must specify the Remote LU name which it requires a session with. This is the Remote LU name specified in the CCI Servername parameter (e.g. the /S parameter in FHREDIR.CFG). However, APPC needs to know the Local LU name as well as the Remote LU name when attempting to establish a session between the LUs.

The manner in which it determines the Local LU name in SNA Server is by one of two mechanisms as described below:

  1. Configure the Local LU to be a member of the Default Outgoing Pool.

    When we configured the Local LU above, we selected the check box marked Member of Default Outgoing Local APPC LU Pool in the APPC LU Properties dialog box. This means that when CCIAPPC attempts to allocate a session with the Remote LU it will examine the Local LU partners configured with the Remote LU and select one which is a member of the Default Outgoing Pool. However, if there are multiple Local LU partners configured with the Remote LU which are members of the Default Outgoing Pool then any of these Local LUs could be selected. If this side-effect is undesirable then implement the following method.

  2. Configure a default Local APPC LU Alias on per user or group basis.
    • In the Users and Groups window from the View menu select Configured Users. From the Users menu select New User.
    • Select the domain from which to add the users or groups or select the local server name.
    • Select the user or group from the list in the Names list box (select the Members... button to list the users in a group) and then select Add.
    • Click the OK button.
    • In the Users and Groups window select the user or group with which you want to associate a default Local APPC LU.
    • In the Users menu select the Properties menu item.
    • In the User Properties dialog box select the required Local LU from the Default Local APPC LU popdown list.
    • Click the OK button.

Now go to the File menu and select Save Configuration. It is not necessary to restart the SNA Server service to activate the new configuration. For further information concerning assigning default LUs to users and groups see the section entitled Assigning Default APPC LUs to Users or Groups in chapter 6, Configuring LUs for APPC, in the Microsoft SNA Server Administration Guide.

Parent topic: Microsoft SNA Server v2.11


Step 9: Configuring a 3270 LU for the 3270 Applet

In order to use the SNA Server 3270 Applet for 3270 terminal access to the host system a 3270 LU must be configured for use by each terminal session.

  1. In the Servers and Connections window select the host connection which is to be used for the 3270 terminal session
  2. In the Services menu select menu item Assign LUs...
  3. In the Insert LU dialog box select 3270 and then click on the OK button
  4. In the New 3270 LU Properties dialog box:
    • Set the LU Number for this dependent LU. This must match the LOCADDR number as specified on the Dependent LU definition configured for use as a 3270 terminal. This is found under the PU definition for the SNA Server machine in VTAM.
    • Set the LU Type to Display
    • Set the Display Model attributes. These can usually be left to default to 2 (24x80) and Model can be overridden
    • Click the OK button to complete the 3270 LU configuration

Repeat Step 9 until you have configured all the 3270 LUs which you require for 3270 terminal sessions.

Parent topic: Microsoft SNA Server v2.11


Step 10: Associating a 3270 LU with a User

When a user runs the SNA Server 3270 Applet a 3270 LU is required in order to establish a session with the host system. This 3270 LU may come from a pool of 3270 LUs or may be associated with the user. We will describe the latter case, associating a 3270 LU with a user.

  1. If the user has not yet been configured in SNA Server:
    • In the Users and Groups window from the View menu select Configured Users. From the Users menu select New User.
    • Select the domain from which to add the users or groups or select the local server name.
    • Select the user or group from the list in the Names list box (select the Members... button to list the users in a group) and then select Add.
    • Click the OK button.
  2. In the Users and Groups window select the user with whom you want to associate a 3270 LU.
  3. In the Users menu select the Assign LUs menu item.
  4. In the Assign User LU/Pool Sessions dialog box select the required 3270 LU (configured in Step 9 above) from the list of Available LUs and Pools.
  5. Click the OK button.

Now go to the File menu and select Save Configuration. It is not necessary to restart the SNA Server service to activate the new configuration.

When the specified user starts the SNA Server 3270 Applet a session will be established using the 3270 LU associated with the user.

Parent topic: Microsoft SNA Server v2.11


Step 11: Activating the Configuration

Once the settings described above have been made the configuration must be saved before stopping and restarting the SNA Server service.

  1. In the File menu and select Save Configuration.
  2. In the Servers and Connections window select the server and in the Services menu select Stop Service.
  3. Once the server status has gone to Inactive, in the Services menu select Start Service, the service should then go to Active status.

Once the service is active the underlying connections will activate if the Activation type was defined as On Server Startup or On Demand.

Connections configured for Incoming and Outgoing calls go to On Demand/Incoming status when successfully activated. The connection will go to active status when the first session is established or if activated manually by the administrator.

Parent topic: Microsoft SNA Server v2.11


Error Reporting and Diagnostics

  • Fileshare Error Reporting

    Fileshare clients log messages returned from CCI in both the fhredir.msg and fhneterr.log files in the current directory. For example, an entry from fhredir.cfg CCI: 970116 15183855 0009 07 CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined Column 2 and 3 gives the date and time stamp of the error. Column 4 (in this case 0009) gives the CCI error code Column 6 gives the CCI error message returned by CCI-GETERROR

  • Microsoft SNA Server Event Log

    Events can be viewed using the Microsoft NT Event Viewer (in the Administrative Tools(Common) program folder). In the Event Viewer select Log menu and then menu item Application. This will then display the Application Log. MS SNA Server events are prefixed with SNA. SNA Base events originate from the SNA Base Service and describe events concerning the operation of SNA Server itself. SNA APPC Application events are generated by CCIAPPC calling the APPC interface using CPI-C (Common Programming Interface - Communications).

  • Microsoft SNA Server Trace

    provides tracing of CPI-C and APPC interface calls made by CCIAPPC. Start the SNA Server Trace program from the Microsoft SNA Server(Common) program folder. Select the SNA Applications Service Name . Select APPC API and CPI-C API for Client API Tracing. Select OK to activate the trace settings. To disable tracing select Clear at which point the trace file buffers are stored on disk. Trace files are plain text, have extension .TRC and are generated in the traces directory of the MS SNA Server client installation.

Parent topic: Microsoft SNA Server v2.11


Rumba Office 95/NT

  • Installing DLC for Windows 95
  • Installing Rumba Office 95/NT
  • Configuring Rumba Office 95/NT
  • Step 1: Enter Network Name and Control Point Name
  • Step 2: Configuring the Connection
  • Step 3: 802.2 DLC Configuration
  • Step 4: Configuring the Advanced Options
  • Step 5: Configuring Local LU's
  • Step 6: Configuring Local LU's Advanced Options
  • Step 7: Configuring a Dependent LU to be Used for a 3270 Terminal Session
  • Step 8: Configuring Dependent Local LU's Advanced Options
  • Step 9: Configuring Remote LU's
  • Step 10: Configuring Remote LU's Advanced Options
  • Step 11: Configuring Session Limits: Defining a Mode
  • Step 12: Enabling CCIAPPC to Locate the Local LU
  • Step 13: Saving your Configuration
  • Step 14: Updating the System Path
  • Step 15: Activating the Configuration
  • Error Reporting and Diagnostics
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


Installing Rumba Office 95/NT

You should have already installed Rumba Office 95/NT. We suggest that you install using the custom install options to insure that the APPC Client, the 802.2 DLC Interface, and the Rumba Communications Monitor is installed. The APPC Client must be selected and would not normally be installed if using the express installation.

Parent topic: Rumba Office 95/NT


Configuring Rumba Office 95/NT

After successfully installing the Rumba Office 95/NT product, you can start to configure your APPC connection. You should have a VTAM definition of the connection you are attempting to configure available to you during the configuration. Select Start from the Taskbar, then Programs, then Rumba 95 NT Folder, then Rumba Administrative Tools, then APPC Configuration. The APPC Configuration window will be displayed. A sample window with a full configuration is displayed below for reference. Your window will have some default values filled in, you can override these and configure your own connection using the instructions below.

Parent topic: Rumba Office 95/NT


Step 1: Enter Network Name and Control Point Name

The first screen presented in the configuration tool allows you to enter a Network Name and Control Point Name. Enter the network name for this SNA network. This should be obtained from the network administrator of the host system. Enter the Control Point (CP) name assigned to this machine. This should be obtained from the network administrator of the host system. The CP Name should match the Physical Unit (PU) name assigned to this machine as specified in the PU definition in VTAM for this machine.

Parent topic: Rumba Office 95/NT


Step 2: Configuring the Connection

Select Connections by clicking in the Connections portion of the configuration window, then click the Add button. The Select a Connection window will appear. Select the type of physical network connection which will be used, in this case 802.2 DLC (Token Ring and Ethernet) and select OK. If you are using an alternative network connection type, such as SDLC or DFT Coax for instance, ensure that you have already installed a device driver for the network adapter.

Parent topic: Rumba Office 95/NT


Step 3: 802.2 DLC Configuration

  1. Enter a name to describe the Link which will be unique within this node. For example, use a name which will describe the remote node, i.e. the host system, which this Link is used to communicate with.
  2. Enter the Block ID, Node ID, this is the 8 digit hexadecimal number which is used to identify this local system on the SNA network.. The first 3 digits is the block (IDBLK) number followed by the last 5 digits of the node (IDNUM) number. These numbers usually correspond with the IDBLK and IDNUM fields of the PU definition for this machine as defined in VTAM on the host system.
  3. Enter the Destination Address, this is a hexadecimal adapter address of the network controller attached to the remote host system. This should be obtained from the network administrator of the host system.
  4. Enter the Remote SAP Address and Local SAP Address. You may accept the default values of 4 in most cases.
  5. Finally select Mainframe for Link Options.

Parent topic: Rumba Office 95/NT


Step 4: Configuring the Advanced Options

In the 802.2 DLC Configuration dialog box, select the Advanced tab by clicking on it and enter the following parameter settings:

  1. Specify which local network adapter is to be used. If the local machine only has one adapter you may leave the default of Primary Adapter selected. If the machine has more than one adapter and you would like to use the secondary adapter select Secondary Adapter.
  2. Select Xid Type 3. In most SNA configurations this option should be selected. If the host system is running an older version of NCP/VTAM then Xid Type 0 may be required, in which case this checkbox should be left unselected. Check with the network administrator of the host system which Xid type is required
  3. Enter the Maximum Frame Size of a packet that can be transmitted without segmentation. You must specify a value that is less than or equal to the value of the MAXDATA parameter of the PU definition in VTAM for this machine. For a 4 Mbs Token Ring specify a value of 4195 or less. For a 16 Mbs Token Ring specify a value of 16393 or less. For an Ethernet LAN specify a value of 1493 or less.
  4. Enter the Max Out parameter. This parameter specifies the number of frames that the local machine can send on this link before waiting for an acknowledgment from the partner machine. Set this value to 7.
  5. You may leave the Connection Network Name blank.
  6. You may leave Auto Disconnect Link unselected.
  7. We suggest that the Auto Start Link selection initially be left unselected, so that the link is tested by starting manually. Once this is tested this option can then be activated.
  8. You should un-select End Node
  9. Enter 2 for the 3270 Session count.
  10. Enter 2 for the 3270 Start Address. This parameter should be obtained from the VTAM definition of the LU that you plan to use for 3270 Terminal sessions.
  11. Select OK to complete the definition of the connection. The new connection should appear in the Connections window of the RUMBA APPC Configuration window.

Parent topic: Rumba Office 95/NT


Step 5: Configuring Local LU's

Before attempting to communicate using CCIAPPC you must define the local and remote LUs which will be used to communicate over the SNA connection you have configured. In this section we will describe the configuration of Independent LUs to be used to communicate over the host connection. When communicating with Host systems running VTAM (or NCP) the Remote LU is known as the APPLID (pronounced 'apple-id').

  1. Select Local LU's by clicking in the Local LU's portion of the configuration window, then click the Add button. The Configure Local LU's window will appear.
  2. Enter the Local LU Name as defined in the list of LUs defined for this PU in VTAM on the host system.
  3. Enter the LU Alias in most cases this should duplicate the LU Name.

Parent topic: Rumba Office 95/NT


Step 6: Configuring Local LU's Advanced Options

  1. Select the Advanced settings panel by clicking on the Advanced tab.
  2. Enter the LU Address. This value should correspond to the value of the LOCADDR parameter of this LU definition in VTAM on the host system. For independent LUs this value should be zero, whereas dependent LUs have a non-zero address.
  3. Select Use As Default LU. You should click this option for the LU that you wish to use with CCIAPPC. This must be checked if you expect CCIAPPC to be able to determine which local LU to use for communications to the Host.
  4. Select OK to complete the Local LU definition. The new Local LU should appear in the Local LU's window of the RUMBA APPC Configuration window. Repeat this section until all required Local LUs have been added.

Parent topic: Rumba Office 95/NT


Step 7: Configuring a Dependent LU to be Used for a 3270 Terminal Session

In order to verify the connection to the Mainframe it is wise to configure an LU to be used as a 3270 Terminal Session. In this section we will describe the configuration of a Dependent LU.

  1. Select Local LU's by clicking in the Local LU's portion of the configuration window, then click the Add button. The Configure Local LU's window will appear.
  2. Enter the Local LU Name as defined in the list of LUs defined for this PU in VTAM on the host system. We will use the first dependant LU for our terminal session, the dependant LU's will have a LOCADDR that is not equal to zero. In our case we chose an LU with a LOCADDR of 02.
  3. Enter the LU Alias in most cases this should duplicate the LU Name.

Parent topic: Rumba Office 95/NT


Step 8: Configuring Dependent Local LU's Advanced Options

  1. Select the Advanced settings panel by clicking on the Advanced tab.
  2. Enter the LU Address. This value should correspond to the value of the LOCADDR parameter of this LU definition in VTAM on the host system. For independent LUs this value should be zero, whereas dependent LUs have a non-zero address.
  3. Select OK to complete the Local LU definition. The new Local LU should appear in the Local LU's window of the RUMBA APPC Configuration window. Repeat this section until all required Local LUs have been added.

Parent topic: Rumba Office 95/NT


Step 9: Configuring Remote LU's

Now we will configure the Remote LU that will be used to communicate with the Mainframe Fileshare process.

  1. Select Remote LU's by clicking in the Remote LU's portion of the configuration window, then click the Add button. The Configure Remote LU's window will appear.
  2. Enter the name of the VTAM APPL on the host system which is specified by the CCIAPPC server in the publicname parameter (or in the /S parameter of the Fileshare Server).
  3. Enter the LU Alias, this usually duplicates the LU Name.
  4. Connection Select the connection which will be used to communicate with this Remote LU. In this case, the Link Name defined for the connection definition in section 1, or BOSTON.

Parent topic: Rumba Office 95/NT


Step 10: Configuring Remote LU's Advanced Options

  1. Select the Advanced settings panel by clicking on the Advanced tab.
  2. Network Name Enter the network name for this SNA network. This should be obtained from the network administrator of the host system.
  3. Uninterpreted LU Name Duplicate the LU Name.
  4. Use As Default LU Leave to default to selected.
  5. Select OK to complete the Remote LU definition. The new Remote LU should appear in the Remote LU's window of the RUMBA APPC Configuration window. Repeat this section until all required Remote LUs have been added.

Parent topic: Rumba Office 95/NT


Step 11: Configuring Session Limits: Defining a Mode

A Mode is used to define the attributes of sessions used between a Local LU and a Remote LU.

If the default mode #INTER is not appropriate (because its settings are incompatible with the modes defined on the host system for the Remote LU, or perhaps because a larger number of sessions is required) then a new mode can be defined.

CCIAPPC uses a single APPC session for each CCI session between the client and the server (e.g. between the MFA client and Fileshare running on a mainframe). When CCIAPPC establishes a connection between the client and server the attributes of the Mode determine, amongst other things, the number of CCI sessions available between the Local LU and the Remote LU (APPLID in VTAM). Hence the Mode determines how many client sessions can be established using the same Local LU - Remote LU pairing.

The Session Limit and the Minimum Contention Winners values together determine how many sessions can be established by the Local LU (see below).

For example: if 10 client sessions are required, all using the same Local LU then the Mode session attributes might be:

Session Limit = 20
Minimum Contention Winners = 15

Alternatively the same number of client sessions could be attained by using multiple Local LUs with the client sessions divided between these LUs.

Note:

When a connection is established between a Local LU and a Remote LU the Mode characteristics are negotiated. This means that it is possible that the partner system (e.g. mainframe) will reduce the session limits to values which it can support. This may mean that fewer client sessions than expected will be supported. Hence it is important that the Mode characteristics, as defined for both the Local and Remote LUs, are compatible.

  • To Define a New Mode
Parent topic: Rumba Office 95/NT


To Define a New Mode

  1. Select Modes by clicking in the Modes portion of the configuration window, then click the Add button. The Configure Modes window will appear.
  2. Enter Mode Name, this should match the Mode Name as defined on the Host system in VTAM. This can be the default log mode specified by the DLOGMOD parameter of the VTAM Applid (APPL) definition.
  3. Select the Limits panel by clicking on the Limits tab.
  4. Enter the Session Limit, Automatic Activation Limit, and Minimum Contention Winners. These values should be obtained from the system administrator of the host system
  5. Select the Send panel by clicking on the Send tab.
  6. Enter the RU Length and Pacing Count. These values should be obtained from the system administrator of the host system.
  7. Select the Receive panel by clicking on the Receive tab.
  8. Enter the RU Length and Pacing Count. These values should be obtained from the system administrator of the host system.
  9. Select OK to complete the Mode definition. The new Mode should appear in the Modes window of the RUMBA APPC Configuration window. Repeat this section until all required Modes have been added.

Parent topic: Step 11: Configuring Session Limits: Defining a Mode


Step 12: Enabling CCIAPPC to Locate the Local LU

It is very important that the CCIAPPC module be able to determine the Local LU to use for communication with the Host application. You may have configured everything else correctly and all of your other APPC applications may work, but if you miss this final step you will fail to establish a CCI session with the host application. If the CCI-INITCLIENT call returns CCI error 9 and CCI_GETERROR returns the message "Transport failure, the client could not make a connection" it is likely that you have failed to complete this final step. When CCIAPPC attempts to allocate an LU 6.2 session with the remote system it must specify the Remote LU name which it requires a session with. This is the Remote LU name specified in the CCI Servername parameter (e.g. the /S parameter in FHREDIR.CFG). However, APPC needs to know the Local LU name as well as the Remote LU name when attempting to establish a session between the LUs. To enable APPC to retrieve the Local LU name to use when attempting to allocate APPC sessions set the Use As Default LU option in the Advanced window of the Configure Local LU's dialog box for the Local LU. This must be done prior to starting the CCIAPPC client.

Parent topic: Rumba Office 95/NT


Step 13: Saving your Configuration

Once the settings described above have been made the configuration must be saved before starting the RUMBA Engine. In the File menu select Save and then Exit the RUMBA APPC Configuration program.

Parent topic: Rumba Office 95/NT


Step 14: Updating the System Path

Before Rumba can be used with CCIAPPC the system path must be updated so that the required Rumba run-time DLLs can be found by CCIAPPC. CCIAPPC on 32 Bit Windows uses the WCPIC32.DLL from the Rumba product to provide CPI-C APPC support.

Use one of the following methods to update the path:

  • Add the \rumba\system directory to the path in the Environment section of the System settings in the Windows NT Control Panel.

    This takes effect immediately - applications subsequently started will have the correct path setting.

  • Add the \rumba\system directory to the path in the autoexec.bat in Windows 95.

    Restart Windows 95 to adopt the new path setting.

  • Add the \rumba\system directory to the path setting in the COBOL MFENV environment file.

    The new path will now be set when MFENV is used to set the environment for COBOL.

Parent topic: Rumba Office 95/NT


Step 15: Activating the Configuration

In order to activate the configuration follow the steps outlined below.

  1. From the RUMBA 95/NT Folder select the RUMBA Administration Tools folder and start the RUMBA Engine.
  2. Then from the same folder start the RUMBA Communication Monitor.
  3. Select the Link in the left hand window and select Start Link from the Control menu. If the Link activates successfully Active Link will be displayed in the right hand window. If the Link does not activate successfully and Inactive Link remains displayed in the right hand window (note that there is a delay between refreshes of the window) see the section Error Reporting and Diagnostics below for information on diagnosing the problem. Once the Link is active communication with CCIAPPC can be initiated.
Parent topic: Rumba Office 95/NT


Error Reporting and Diagnostics

Refer to the RUMBA Event Logger and Using the RUMBA Trace Console sections of the RUMBA Administrative Tools help topic in the RUMBA Help Desk. These sections will explain how to monitor error events and trace APPC within RUMBA.

Fileshare Error Reporting - Fileshare clients log messages returned from CCI in both the fhredir.msg and fhneterr.log files in the current directory. For Example: an entry from fhredir.cfg, "CCI: 970116 15183855 0009 07 CCIAPPC failed to allocate an APPC session, ensure that Local LU is defined". Column 2 and 3 gives the date and time stamp of the error. Column 4 (in this case 0009) gives the CCI error code Column 6 gives the CCI error message returned by CCI-GETERROR

Parent topic: Rumba Office 95/NT


Support for Attachmate EXTRA! Personal Client

  • Mainframe Access may hang with CCIAPPC and Attachmate EXTRA! Personal Client 32 Bit
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Configuring DLC over 802.2 on Windows 95
Configuring DLC over 802.2 on Windows NT


Mainframe Access may hang with CCIAPPC and Attachmate EXTRA! Personal Client 32 Bit

The initialization of the MFA CCIAPPC client can intermittently hang on some systems when APPC support is being provided by the Attachmate EXTRA! Personal Client 32 Bit product.

If the MFA CCIAPPC client hangs the only course of action is to terminate the client. Further attempts to run the client may be successful although the behavior is unpredictable. If you suspect that you are experiencing this problem you should contact Attachmate Support.

This problem only occurs when using Attachmate EXTRA! Personal Client, all other supported stacks have been tested and do not exhibit this problem.

Parent topic: Support for Attachmate EXTRA! Personal Client


Configuring DLC over 802.2 on Windows 95

  • Installing DLC for Windows 95
  • Step 1: Downloading MSDLC32.EXE
  • Step 2: Select Network from the Control Panel
  • Step 3: Adding a Protocol
  • Step 4: Select Component Type
  • Step 5: Select Have Disk
  • Step 6: Finishing up and Restarting Windows '95
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows NT


Installing DLC for Windows 95

The Rumba and Attachmate EXTRA! products requires the Microsoft 32-bit DLC protocol to provide support for an APPC connection over 802.2. There are other possible configuration options using other products acting as gateways to the APPC connection, but this is the most common configuration that will be found in the field at this time.

Parent topic: Configuring DLC over 802.2 on Windows 95


Step 1: Downloading MSDLC32.EXE

The DLC driver that was released with Windows '95 is a 16-bit driver. You will need to obtain the 32-bit DLC driver for Windows '95 from Microsoft. This can be done by accessing the Microsoft web site and searching for the file named MSDLC32.EXE. After downloading the file create a diskette and extract the contents by running MSDLC32.EXE. This file is a self-extracting zip file. This diskette can then be used to add a protocol. You will need to have your original Windows '95 CD or diskettes available during the installation as the DLC protocol will require additional operating system support files to be loaded.

Parent topic: Configuring DLC over 802.2 on Windows 95
Related information
Microsoft web site


Step 2: Select Network from the Control Panel

Select Start from the Taskbar, then Settings, then Control Panel. Once the Control Panel is displayed, select the Network Icon by double-clicking.

Parent topic: Configuring DLC over 802.2 on Windows 95


Step 3: Adding a Protocol

Select Add from the Network window by clicking on the Add button.

Parent topic: Configuring DLC over 802.2 on Windows 95


Step 4: Select Component Type

Select protocol from the Network Component Type Window and click the Add button.

Parent topic: Configuring DLC over 802.2 on Windows 95


Step 5: Select Have Disk

Select Have Disk by clicking on the Have Disk button, you should have the diskette that contains the unzipped contents of the MSDLC32.EXE file in the diskette drive of your computer. You will then see a selection that reads Microsoft 32-bit DLC. Select this protocol to be added and follow the prompts. Windows '95 will require that you have available the original Windows '95 CD or diskettes so that additional support drivers can be loaded. The screen below is from a system that has already had the driver loaded and is presented so that we can illustrate that fact that there will be a Microsoft DLC driver available without loading the MSDLC32.EXE file from diskette. THIS DRIVER WILL NOT WORK WITH ANY OF THE SUPPORTED APPC PRODUCTS AND IS NOT SUPPORTED BY MICRO FOCUS. As you can see below, the 32-bit DLC driver clearly states this in the Network Protocol window and you should verify that this is the DLC stack being used if a customer indicates that they have loaded the DLC drivers and they are still having problems.

Parent topic: Configuring DLC over 802.2 on Windows 95


Step 6: Finishing up and Restarting Windows '95

After following all of the prompts from Windows '95 and loading the additional support drivers from the Windows '95 distribution disks, you should be prompted to restart Windows '95. You should allow Windows '95 to restart, this allows the new DLC protocol stack that you have installed to become active. ALL ERROR MESSAGES ARE RELEVANT. YOU SHOULD NOT IGNORE ANY ERRORS YOU RECEIVE EITHER IN LOADING THE ADDITIONAL SUPPORT FILES FROM WINDOWS '95 OR WHEN RESTARTING THE MACHINE. IF YOU RECEIVE AN ERROR THEN THE STACK IS NOT INSTALLED PROPERLY OR THERE WAS A PROBLEM IN COPYING A FILE. YOU SHOULD TRY REMOVING THE STACK AND REINSTALLING.

Parent topic: Configuring DLC over 802.2 on Windows 95


Configuring DLC over 802.2 on Windows NT

  • Installing DLC for Windows NT
  • Step 1: The Microsoft 32-bit DLC Driver
  • Step 2: Select Network from the Control Panel
  • Step 3: Adding a Protocol
  • Step 4: Select Network Protocol
  • Step 5: Specify the Location of the Windows NT Files
  • Step 6: Finishing up and Restarting Windows NT
Parent topic: Configuring CCI
Related information
CCI Support for APPC
APPC Configuration
Application Configuration
CCIIPX Configuration
CCINETB Configuration
CCITCP Configuration
CCINAMPU Configuration
Application Configuration
CCI Trace
CCI.INI - The CCI Configuration File
CCI Status Messages
Attachmate Personal Client v6.3
Attachmate Personal Client v6.1 and v6.2
IBM Communications Server v5.01 for Windows NT
IBM Personal Communications v4.2 for Windows 95 and Windows NT
Microsoft SNA Server v3.0
Microsoft SNA Server v2.11
Rumba Office 95/NT
Support for Attachmate EXTRA! Personal Client
Configuring DLC over 802.2 on Windows 95


Installing DLC for Windows NT

The Rumba and Attachmate EXTRA! products require the Microsoft 32-bit DLC protocol to provide support for an APPC connection over 802.2. There are other possible configuration options using other products acting as gateways to the APPC connection, but this is the most common configuration that will be found in the field at this time.

Parent topic: Configuring DLC over 802.2 on Windows NT


Step 1: The Microsoft 32-bit DLC Driver

The DLC driver that was released with Windows NT is the required 32-bit driver. Unlike Windows '95 which requires you to download a specific driver to obtain 32-bit support, the driver that is supplied with Windows NT will work with all of the supported APPC providers products. You will notice that there is no special designation for 32-bit as there is under Windows '95.

Parent topic: Configuring DLC over 802.2 on Windows NT


Step 2: Select Network from the Control Panel

Select Start from the Taskbar, then Settings, then Control Panel. Once the Control Panel is displayed, select the Network Icon by double-clicking.

Parent topic: Configuring DLC over 802.2 on Windows NT


Step 3: Adding a Protocol

Select the Protocols tab from the Network window and click on the Add button.

Parent topic: Configuring DLC over 802.2 on Windows NT


Step 4: Select Network Protocol

Select DLC protocol from the Network Protocol Window and click the OK button.

Parent topic: Configuring DLC over 802.2 on Windows NT


HCO for SQL Server (HCOSS)

HCO for SQL Server (HCOSS) provides tools for migrating DB2 applications to SQL Server 2008 applications.

  • Prerequisites for HCOSS
  • HCO for SQL Server Tutorials
  • HCOSS Toolset
  • Working With HCOSS SQL CLR Stored Procedures and Result Sets
  • Managing Connections
  • Migrating Applications
  • Deploying to a Remote SQL Server
    This topic explains how to deploy an HCOSS application you have developed using reUZE Developer to a SQL Server on another machine.
  • Customizing HCOSS
  • How to...
  • Reference


Prerequisites for HCOSS

The following are prerequisites for using HCOSS:

  • Operating System
    Any of the following:
    • Windows XP Professional
    • Windows Vista Business
    • Windows 7
    • Windows Server 2003/2008
    • Windows Server 2008 R2
  • Microsoft .NET Framework 3.5
    Note: We use the connection support provided by the .NET Framework, which uses the classes in System.Data.SqlClient, to enable an ADO.NET connection.
  • SQL Server 2008 Enterprise Edition or Developer Edition, including Microsoft SQL Server Management Studio.
  • SQL Server Native Client 10.x - to enable an ODBC connection.
Note: Support for the IBM DB2 .NET Data Provider is not available at this time.
Parent topic: HCO for SQL Server (HCOSS)


HCO for SQL Server Tutorials

The HCO for SQL Server tutorials provide you with an opportunity to use the HCOSS toolset migrate a DB2 application to a SQL Server application. We also provide a tutorial that demonstrates creating a CICS.NET region association for a SQL Server application connection.

To complete any of the HCOSS tutorials, you must have Microsoft SQL Server 2008 Enterprise or Developer Edition, including the SQL Server Management Studio installed.

Additional requirements that apply to specific tutorials appear in the Requirements section of each.

To complete the DB2 Database Migration and Application Migration tutorials, you must start with the following, completing each tutorial in the order listed:
  1. Tutorial: Create a SQL Server Database
  2. Tutorial: Create a SQL Server Database Connection

Following the completion of these tutorials, you may do the Application Migration tutorials in any order.

Tutorial: Application Connection - Associating a CICS.NET Region does not require that you complete any of the other tutorials before attempting it.

  • Tutorial: Create a SQL Server Database
    This tutorial takes you through the process of using Microsoft SQL Server Management Studio to create a SQL Server database.
  • Tutorial: Create a SQL Server Database Connection
    This tutorial takes you through the process of creating a connection to your SQL Server database using the HCOSS Manage Connections tool.
  • Tutorial: Application Migration - Switching Package Sets
    This tutorial takes you through the process of migrating a DB2 application to a SQL Server application, using HCOSS to switch package sets and alternate fetching data using a single cursor name.
  • Tutorial: Application Migration - Converting Labeled Duration Calculations
    This tutorial takes you through the process of migrating a DB2 application to a SQL Server application, using HCOSS to convert labeled duration calculations and managing date formats.
  • Tutorial: Application Migration - Adding Function Emulation
    This tutorial takes you through the process of migrating a DB2 application to a SQL Server application, using HCOSS to add function emulation.
  • Tutorial: Application Connection - Associating a CICS.NET Region
    This tutorial takes you through the process of defining an SQL user exit for a CICS.NET region, and defining a SQL Server connection associated with that CICS.NET region.
Parent topic: HCO for SQL Server (HCOSS)


Tutorial: Create a SQL Server Database

This tutorial takes you through the process of using Microsoft SQL Server Management Studio to create a SQL Server database.

  1. Open SQL Server 2008 Management Studio.
  2. In the Object Explorer, right-click Databases, and select New Database.
  3. Name the database HCO_Test.
  4. Click OK.
  5. Close SQL Server 2008 Management Studio.

This completes the tutorial. Next, please complete Tutorial: Create a SQL Server Database Connection.

Parent topic: HCO for SQL Server Tutorials
Related information
Tutorial: Create a SQL Server Database Connection
Tutorial: Application Migration - Switching Package Sets
Tutorial: Application Migration - Converting Labeled Duration Calculations
Tutorial: Application Migration - Adding Function Emulation


Tutorial: Create a SQL Server Database Connection

This tutorial takes you through the process of creating a connection to your SQL Server database using the HCOSS Manage Connections tool.

Requirements

Before attempting this tutorial, you must complete Tutorial: Create a SQL Server Database.

Create the Connection

  1. To start reUZE Developer as an administrator, click All Programs > Micro Focus reUZE Developer x.x ; then right-click Microsoft Visual Studio 2008 and select Run as administrator.
  2. From the Visual Studio IDE, click Tools > Micro Focus COBOL Tools > HCO for SQL Server Tools.
  3. From the HCO for SQL Server interface, click Manage Connections.
  4. From the Connection List tab, click New SQL Server Connection. This takes you to the SQL Server Connection tab.
  5. Select the User Connection Type.
  6. In the Data Source Name field, type HCODemo.
  7. Click Integrated Windows Authentication to select it. This means that SQL Server uses your Windows logon credentials to access the database.
  8. In the SQL Server Instance field, type the name of your SQL Server instance. If you have a default instance, this could be . or (local). If you have a named instance, use the combined server name and instance name. For example: mysqlserver\myinstance.
  9. Click Confirm Server to confirm that HCOSS can locate your specified SQL Server Instance.
  10. Check Use a database other than the default database:.
  11. From the Database drop-down menu, select the HCO_Test destination database that you created in SQL Server 2008 Management Studio.
  12. Click Test. If the test fails, review your field entries, make corrections accordingly, and try again. When you have a successful connection, click OK.
  13. Click Save to save the connection. This takes you back to the Connection List tab where you should now see your SQL Server connection listed.

This completes the tutorial. Next, please complete .

Parent topic: HCO for SQL Server Tutorials
Related information
Tutorial: Create a SQL Server Database
Tutorial: Application Migration - Switching Package Sets
Tutorial: Application Migration - Converting Labeled Duration Calculations
Tutorial: Application Migration - Adding Function Emulation


Tutorial: Application Migration - Switching Package Sets

This tutorial takes you through the process of migrating a DB2 application to a SQL Server application, using HCOSS to switch package sets and alternate fetching data using a single cursor name.

This tutorial also demonstrates how, with HCOSS, you can bind the application using the HCOSS Manage Packages and Plans tool.

Requirements

Before attempting this tutorial, you must first complete the following tutorials to ensure you have an established SQL Server database named HCO_Test containing the required PROD and TEST schemas and a connection to the HCO_Test database:
  • Tutorial: Create a SQL Server Database
  • Tutorial: Create a Database Connection
  • Tutorial: DB2 Database Migration

Visual Studio Application

The Visual Studio solution we provide for this tutorial contains two HCOSS projects. The TwoPackageSet project is a native COBOL project. The MTwoPackageSet project is a managed COBOL project. However, the COBOL code is the same in both projects.

Phase 1: Start reUZE Developer and HCO for SQL Server

If reUZE Developer and HCOSS for SQL Server tools are already running, skip this phase.

  1. To start reUZE Developer as an administrator, click All Programs > Micro Focus reUZE Developer x.x ; then right-click Microsoft Visual Studio 2008 and select Run as administrator.
  2. Start HCO for SQL Server by clicking Tools > Micro Focus COBOL Tools > HCO for SQL Server Tools.

Phase 2: Analyze the Native Application

  1. From the Visual Studio IDE, open the solution named TwoPackageSet, which is located in the %ProgramFiles%\Micro Focus\reUZE Developer x.x\Examples \hcoss\TwoPackageSet directory.
  2. From the Solution Explorer, open the TwoPackageSet.cbl file to view its contents. Pay particular attention to the EXEC SQL statements.
  3. Close the code editor.
  4. Open the project properties for the TwoPackageSet project.
  5. Notice that the Output type on the Application tab is Console Application.
  6. Switch to the SQL tab. Several OpenESQL compiler directives have been set for you. The following table offers a brief description of each:
    SQL(DBMAN=ODBC) | Uses an ODBC connection
    SQL(TARGETDB=MSSQLSERVER) | Target database is SQL Server
    SQL(DB=HCODemo) | SQL Server connection name is HCODemo
    SQL(DIALECT=MAINFRAME) | HCOSS database syntax conversion is enabled
    SQL(DBRMLIB) | EXEC-SQL commands are extracted and placed in database request module (DBRM)
    SQL(DETECTDATE) | Converts date/time strings
    SQL(INIT) | Initiates the database connection
    SQL(MARS) | Enables multiple active results sets
    SQL(QUALIFIER=TEST) | Schema qualifier is TEST
    SQL(NOCHECK) | No SQL compile-time checking performed
  7. Close the Properties window.

Phase 3: Build the Native Application

  1. From the Solution Explorer, rebuild the TwoPackageSet project, thereby generating a DBRM for the application.
  2. Verify that the project built successfully.

Phase 4: Bind the Native Application

Here, you bind the application to the DBRM generated when you built the application. You do this using the HCOSS Manage Packages and Plans tool to create two packages and a plan. Each package you create is in its own collection and has a unique qualifier, but both point to the same source member and library. You then bind both packages into one plan.

Start the Manage Packages and Plans Tool
  1. From the HCO for SQL Server interface, click Manage Packages and Plans.
  2. From the SQL Server Connection drop-down list, select HCODemo.
Create Two Packages
  1. Click New Package. Then specify the following:
    Property | Value
    Collection Name | TEST
    Library Name | <Default>
    Member Name | TWOPACKAGESET
    Default Qualifier | TEST
    Action | Replace
  2. Click Execute. This creates the package in the database.
  3. Change the Collection Name to PROD and the Default Qualifier to PROD.
  4. Click Execute. This creates a second package.
  5. Switch to the Bind Scripts tab. Notice the BIND script commands that were created as a result of creating each package.
Bind the Two Packages into a Plan
  1. Click New Plan.
  2. In the Plan Name field, type TWOPACKAGESET.
  3. On the Available Collections list, click PROD.
  4. On the Available Packages list, click TWOPACKAGESET.
  5. Click Add to add this package to the Selected Packages list.
  6. Repeat steps 3 through 5, substituting TEST instead of PROD, to add the TEST.TWOPACKAGESET package to the Selected Packages list.
  7. In the Action group, click Replace.
  8. Click Execute to add the BIND PLAN entry to the script and to also bind the plan.
Verify the Results
  1. In Visual Studio, switch to the Server Explorer and expand the tree view to show the contents of the HCO_Test.dbo > Stored Procedures entry. HCOSS created these stored procedures when you executed your packages and plan.
  2. Open one of the stored procedures that contains PKG as part of its name.

    In this, you see the SQL from your application code. You also see SQL Server function calls to UPPER. These were converted from DB2 function calls to UCASE. This is due to having set the SQL(DIALECT=MAINFRAME) directive when you compiled.

Phase 5: Run the Native Application

  1. From the Solution Explorer in Visual Studio, open the TwoPackageSet.cbl source file.
  2. Set a break point on the STOP RUN line.
  3. Run the application.

You should see from the output that alternating rows are coming from different database schemas. This demonstrates the use of a single cursor to switch package sets, pulling data from different schemas.

Phase 6: Analyze, Build, Bind, and Run the Managed Application

Analyze the Managed Application
  1. From the Solution Explorer, switch the starting project: Right-click the MTwoPackageSet project and select Set as StartUp Project.
  2. Open the project properties for the MTwoPackageSet project.
  3. Click the SQL tab. Notice the directive settings for the OpenESQL ESQL Preprocessor include SQL(DBMAN=ADO). This means that we're using the ADO.NET database connection rather than the ODBC database connection.
  4. Close the Properties window.
Build the Managed Application
  • From the Solution Explorer, right-click the MTwoPackageSet project and select Rebuild.
Bind the Managed Application
  1. From the HCO for SQL Server interface, go to the Bind Scripts tab of the Manage Packages and Plans tool.
  2. Click Execute All, to execute all of the BIND commands listed. Because the application was rebuilt as a managed application, HCOSS uses the same commands to create and bind the packages and plan to the managed version of the application.
Run the Managed Application
  1. From the Solution Explorer in Visual Studio, open the TwoPackageSet.cbl source file.
  2. Set a break point on the STOP RUN line.
  3. Run the application.

You should see the same data output that you saw when you ran the native application, indicating that the program is switching package sets between row fetches.

This completes the tutorial.

Parent topic: HCO for SQL Server Tutorials
Related information
Tutorial: Create a SQL Server Database
Tutorial: Create a SQL Server Database Connection


Tutorial: Application Migration - Converting Labeled Duration Calculations

This tutorial takes you through the process of migrating a DB2 application to a SQL Server application, using HCOSS to convert labeled duration calculations and managing date formats.

SQL Server does not support labeled duration calculations directly. HCOSS handles the conversion to T-SQL to implement the DB2 syntax of an EXEC SQL statement using labeled durations.

This tutorial also demonstrates binding the application using a post-build event in Visual Studio.

Requirements

Before attempting this tutorial, you must first complete the following tutorials to ensure you have an established SQL Server database named HCO_Test, a connection to that database, and a migrated DB2 database including the PROD and TEST migrated schema tables.
  • Tutorial: Create a SQL Server Database
  • Tutorial: Create a Database Connection
  • Tutorial: DB2 Database Migration

Visual Studio Application

The Visual Studio solution we provide for this tutorial contains two HCOSS projects. The LBLDURATION project is a native COBOL project. The MLBLDURATION project is a managed COBOL project. However, the COBOL code is the same in both projects.

Phase 1: Start reUZE Developer and HCO for SQL Server

If reUZE Developer and HCOSS for SQL Server tools are already running, skip this phase.

  1. To start reUZE Developer as an administrator, click All Programs > Micro Focus reUZE Developer x.x ; then right-click Microsoft Visual Studio 2008 and select Run as administrator.
  2. Start HCO for SQL Server by clicking Tools > Micro Focus COBOL Tools > HCO for SQL Server Tools.

Phase 2: Analyze, Build, and Bind the Native Application

Analyze the Native Application
  1. From the Visual Studio IDE, open the solution named LBLDURATION, which is located in the %ProgramFiles%\Micro Focus\reUZE Developer x.x\Examples \hcoss\LBLDURATION directory.
  2. From the Solution Explorer, open the LBLDURATION.cbl file to view its contents. Pay particular attention to the EXEC SQL statement that starts on line 22. The code on line 28 is your labeled duration calculation:
    ,(((DAYS(A.PRENDATE) - DAYS(A.PRSTDATE) ) / 7) + 1) * 40
    In this case, you are using the DAYS labeled duration in a calculation where you:
    • Start with the number of days between the start and end date for projects
    • Divide that number by 7 to get the number of weeks
    • Add 1 to account for truncation of a partial week
    • Multiply that result by 40 to get the number of hours needed to complete the project
  3. Close the code editor.
  4. Open the project properties for the LBLDURATION project.
  5. Notice that the Output type on the Application tab is Console Application.
  6. Switch to the SQL tab. Several OpenESQL compiler directives have been set for you. The following table offers a brief description of each:
    SQL(DBMAN=ODBC) | Uses an ODBC connection
    SQL(TARGETDB=MSSQLSERVER) | Target database is SQL Server
    SQL(DB=HCODemo) | SQL Server connection name is HCODemo
    SQL(DIALECT=MAINFRAME) | HCOSS database syntax conversion is enabled
    SQL(DBRMLIB) | EXEC-SQL commands are extracted and placed in database request module (DBRM)
    SQL(DATE=USA) | Date output is in USA format
    SQL(INIT) | Initiates the database connection
    SQL(MARS) | Enables multiple active results sets
    SQL(QUALIFIER=TEST) | Schema qualifier is TEST
    SQL(NOCHECK) | No SQL compile-time checking performed
Define a Post-Build Event
  1. In the Properties window, click the COBOL tab.
  2. Click Build Events.
  3. In the Post build event command line field, type the following command:
    DSN SYSTEM(HCODemo) @"$(ProjectDir)LBLDURATION.hcodsn"

    This command calls the DSN Bind utility, specifies the SQL database connection to use, and states the location and name of a bind script file. Visual Studio executes this event immediately after building the application, automatically binding the application at that time.

  4. Click OK.
View the Contents of the Bind Script File
  • From the Solution Explorer open and review the content of LBLDURATION.hcodsn. This bind script file contains one BIND PLAN command that binds the LBLDURATION member into a plan named LBLDURATION.
Build and Bind the Applcation
  1. From the Solution Explorer, rebuild the LBLDURATION project, thereby generating a DBRM for the application and automatically binding it to the DBRM using the post-build event.
  2. Verify that the project built successfully.
Verify the Results
  1. In Visual Studio, switch to the Server Explorer and expand the tree view to show the contents of the HCO_Test.dbo > Stored Procedures entry. HCOSS created these stored procedures when you executed your packages and plan.
  2. Open one of the stored procedures that contains PLN as part of its name.

    In this, you see the SQL from your application code. You also see that HCOSS has converted the original DB2 DAYS expression into T-SQL syntax that recreates the same functionality in SQL Server. This is due to having set the SQL(DIALECT=MAINFRAME) directive when you compiled.

Phase 3: Run the Native Application

  1. From the Solution Explorer in Visual Studio, open the LBLDURATION.cbl source file.
  2. Set a break point on the STOP RUN line.
  3. Run the application.

You see from the output that your results show the hours required to complete each project. All output dates are in USA format.

Phase 4: Analyze, Build, Bind, and Run the Managed Application

Analyze the Managed Application
  1. From the Solution Explorer, switch the starting project: Right-click the MLBLDURATION project and select Set as StartUp Project.
  2. Open the project properties for the MLBLDURATION project.
  3. Click the SQL tab.

    Notice the directive settings for the OpenESQL ESQL Preprocessor include SQL(DBMAN=ADO). This means that we're using the ADO.NET database connection rather than the ODBC database connection.

    Also notice the SQL(DATE=EUR) directive, which specifies the European output format.

Define a Post-Build Event
  1. From the Properties window add a post-build event to execute the following command (same command you used for the native project):
    DSN SYSTEM(HCODEMO) @"$(ProjectDir)LBLDURATION.hcodsn"
  2. Close the Properties window.
Build and Bind the Managed Application
  • From the Solution Explorer, right-click the MLBLDURATION project and select Rebuild.
Run the Managed Application
  1. From the Solution Explorer in Visual Studio, open the LBLDURATION.cbl source file.
  2. Set a break point on the STOP RUN line.
  3. Run the application.

This completes the tutorial.

Parent topic: HCO for SQL Server Tutorials
Related information
Tutorial: Create a SQL Server Database
Tutorial: Create a SQL Server Database Connection


Tutorial: Application Migration - Adding Function Emulation

This tutorial takes you through the process of migrating a DB2 application to a SQL Server application, using HCOSS to add function emulation.

This tutorial demonstrates adding function emulation by taking you through the process of:
  • Adding math functions to SQL Server that represent standard math functions in DB2.
  • Mapping the DB2 functions to the new SQL Server functions using the Customize SQL Name Mapping tool.

This tutorial also demonstrates binding the application using a post-build event in Visual Studio.

Requirements

Before attempting this tutorial, you must first complete the following tutorials to ensure you have an established SQL Server database named HCO_Test, a connection to that database, and a migrated DB2 database including the PROD and TEST migrated schema tables.
  • Tutorial: Create a SQL Server Database
  • Tutorial: Create a Database Connection
  • Tutorial: DB2 Database Migration

Visual Studio Application

The Visual Studio solution we provide for this tutorial contains two HCOSS projects. The FunctionEmulation project is a native COBOL project. The MFunctionEmulation project is a managed COBOL project. However, the COBOL code is the same in both projects.

Phase 1: Create User-Defined Functions

  1. Launch SQL Server Management Studio, and select the HCO_Test database.
  2. Navigate to and open the FunctionEmulation.sql file, located in the %ProgramFiles%\Micro Focus\reUZE Developer x.x\Examples \hcoss\ FunctionEmulation directory of your Visual Studio Installation.

    This file contains a script that creates some user defined math functions needed by the example code.

  3. Click Execute.
  4. From the Object Explorer expand and select HCO_Test > Programmability > Functions > Scalar-Valued Functions and Refresh this folder. You should now see the newly created functions.

Phase 2: Start reUZE Developer and HCO for SQL Server

If reUZE Developer and HCOSS for SQL Server tools are already running, skip this phase.

  1. To start reUZE Developer as an administrator, click All Programs > Micro Focus reUZE Developer x.x ; then right-click Microsoft Visual Studio 2008 and select Run as administrator.
  2. Start HCO for SQL Server by clicking Tools > Micro Focus COBOL Tools > HCO for SQL Server Tools.

Phase 3: Map the Functions for HCOSS

  1. From the HCO for SQL Server interface, click Customize SQL Name Mappings.
  2. Scroll to the bottom of the grid and double-click in the first empty cell to activate it for editing. Type the following information in the appropriate rows and columns, and check the corresponding Is Function box for each:
    DB2 Function/Special Register | SQL Server Equivalent
    atanh | dbo.atanh
    cosh | dbo.cosh
    sinh | dbo.sinh
    tanh | dbo.tanh
  3. Click Save to save the mappings.

Phase 4: Analyze, Build, and Bind the Native Application

Analyze the Native Application
  1. From the Visual Studio IDE, open the solution named FunctionEmulation, which is located in the %ProgramFiles%\Micro Focus\reUZE Developer x.x\Examples \hcoss\FunctionEmulation directory.
  2. From the Solution Explorer, open the FunctionEmulation.cbl file to view its contents. Pay particular attention to the EXEC SQL statements that reference user-defined functions.
  3. Close the code editor.
  4. Open the project properties for the FunctionEmulation project.
  5. Notice that the Output type on the Application tab is Console Application.
  6. Switch to the SQL tab. Several OpenESQL compiler directives have been set for you. The following table offers a brief description of each:
    SQL(TARGETDB=MSSQLSERVER) | Target database is SQL Server
    SQL(DB=HCODemo) | SQL Server connection name is HCODemo
    SQL(DIALECT=MAINFRAME) | HCOSS database syntax conversion is enabled
    SQL(DBRMLIB) | EXEC-SQL commands are extracted and placed in database request module (DBRM)
    SQL(INIT) | Initiates the database connection
    SQL(NOCHECK) | No SQL compile-time checking performed
Define a Post-Build Event
  1. In the Properties window, click the COBOL tab.
  2. Click Build Events.
  3. In the Post build event command line field, type the following command:
    DSN SYSTEM(HCODemo) @"$(ProjectDir)FunctionEmulation.hcodsn"

    This command calls the DSN Bind utility, specifies the SQL database connection to use, and states the location and name of a bind script file. Visual Studio executes this event immediately after building the application, automatically binding the application at that time.

  4. Click OK.
View the Contents of the Bind Script File
  • From the Solution Explorer open and review the content of FunctionEmulation.hcodsn. This bind script file contains one BIND PLAN command that binds the FunctionEmulation member into a plan named FunctionEmulation.
Build and Bind the Applcation
  1. From the Solution Explorer, rebuild the FunctionEmulation project, thereby generating a DBRM for the application and automatically binding it to the DBRM using the post-build event.
  2. Verify that the project built successfully.
Verify the Results
  1. In Visual Studio, switch to the Server Explorer and expand the tree view to show the contents of the HCO_Test.dbo > Stored Procedures entry. HCOSS created these stored procedures when you executed your packages and plan.
  2. Open one of the stored procedures that contains PLN as part of its name.

    In this, you see your application code making the calls to the user-defined functions.

Phase 5: Run the Native Application

  1. From the Solution Explorer in Visual Studio, open the FunctionEmulation.cbl source file.
  2. Set a break point on the line containing if sqlcode = 0.
  3. Run the application.

You should see from the output that the results are calculations performed by your user-defined functions.

Phase 6: Analyze, Build, Bind, and Run the Managed Application

Analyze the Managed Application
  1. From the Solution Explorer, switch the starting project: Right-click the MFunctionEmulaton project and select Set as StartUp Project.
  2. Open the project properties for the MFunctionEmulaton project.
  3. Click the SQL tab.

    Notice the directive settings for the OpenESQL ESQL Preprocessor include SQL(DBMAN=ADO). This means that we're using the ADO.NET database connection rather than the ODBC database connection.

Define a Post-Build Event
  1. From the Properties window add a post-build event to execute the following command (same command you used for the native project):
    DSN SYSTEM(HCODEMO) @"$(ProjectDir)FunctionEmulaton.hcodsn"
  2. Close the Properties window.
Build and Bind the Managed Application
  • From the Solution Explorer, right-click the MFunctionEmulaton project and select Rebuild.
Run the Managed Application
  1. From the Solution Explorer in Visual Studio, open the FunctionEmulaton.cbl source file.
  2. Set a break point on the line containing if sqlcode = 0.
  3. Run the application.

This completes the tutorial.

Parent topic: HCO for SQL Server Tutorials
Related information
Tutorial: Create a SQL Server Database
Tutorial: Create a SQL Server Database Connection


Tutorial: Application Connection - Associating a CICS.NET Region

This tutorial takes you through the process of defining an SQL user exit for a CICS.NET region, and defining a SQL Server connection associated with that CICS.NET region.

Requirements

To complete this tutorial, you must have the Server Enterprise Edition for .NET snap-in installed and configured, and you must create a CICS.NET region to use with this tutorial. See the following Help topics for more information:
  • Installing and Verifying the Software
  • Configuring the Operating Environment
  • Configuring the Application Environment

For UAC-enabled systems, you must have administrative rights to create the ADO.NET connection required by this tutorial.

Phase 1: Define an SQL User Exit for Your CICS.NET Region

The Server Enterprise Edition for .NET software includes a user exit program, MicroFocus.SEE.SqlExit.dll, that works with the HCOSS Manage Connections tool to associate an application connection with a CICS.NET region. In this phase of the tutorial, you modify the configuration of your CICS.NET region to include this user exit program.

  1. Click All Programs > Micro Focus reUZE Developer x.x Enterprise Option, then right-click SEE Administration and select Run as Administrator to start the Server Enterprise Edition for .NET snap-in
  2. Expand the list in the Tree pane to show the defined regions.
  3. Click the CICS.NET region you want to use; then click Start/Stop Region on the Actions pane.
  4. If the region is started, click Stop.
  5. From the Tree pane, select your CICS.NET region.
  6. From the Actions pane, click Edit Region Startup File.
  7. From the tree view in the Results pane, click Region to display the properties for the region.
  8. Expand the General section in the properties listing.
  9. In the SQL User Exit field, type MicroFocus.SEE.SqlExit.
    Note: If you have installed Server Enterprise Edition for .NET using the default installation parameters, you do not need to prepend the path to the user exit program. However, if you altered the installation location when installing Server Enterprise Edition for .NET , you are required to prepend the full path to the user exit program name.
  10. Save your region configuration changes.
  11. In the Results pane, click Start to start the region.
  12. Close the Microsoft Management Console.

Phase 2: Associate Your CICS.NET Region With an Application Connection

In this phase of the tutorial, you create a SQL Server connection that uses the CICS.NET region you configured in Phase 1.

  1. Click All Programs > Micro Focus reUZE Developer x.x Enterprise Option > HCO for SQL Server Tools, then right-click HCO for SQL Server and select Run as administrator.
  2. Click Manage Connections.
  3. From the Connection List tab, click New SQL Server Connection.
  4. Select Connection mode. This enables you to specify the details for your application SQL Server database connection.
  5. On this tab, specify a data source name, authentication method, user ID and password if applicable, a SQL Server instance, and the SQL Server database to which you want to connect.
  6. Click Test Connection to verify that the connection is successful.
  7. On the SQL Server Connection tab, select CICS Region mode. This enables you to specify the details of the CICS.NET region you want to associate with this connection.
  8. Specify an authentication method, user ID and password if applicable, the SQL Server instance associated with the CICS.NET region you want to use, and the CICS region you want to associate with this connection.
  9. Click Test CICS Connection to verify that the connection is successful.
  10. On the SQL Server Connection tab, select Connection mode; then click Create to create the complete connection definition. This takes you back to the Connection List tab where you now see your new connection and the CICS region with which it is associated.

This concludes the tutorial.

Parent topic: HCO for SQL Server Tutorials


HCOSS Toolset

The HCOSS toolset includes:

  • Manage Connections Tool - Enables you to connect to a SQL Server database running locally or remotely on a local area network.
  • Application Migration Tool
    • Manage Packages and Plans - Create and edit scripts that enable you to bind DBRM members, packages, and plans to your COBOL programs, and to free packages and plans.
  • Customization Tools
    • Customize SQL Name Mappings - View or change the default SQL name mappings in your SQL database.
    • Options - Set properties for HCOSS.
Parent topic: HCO for SQL Server (HCOSS)
Related concepts
Options
Manage Connections Tool
Migrating Applications
Related tasks
To start HCO for SQL Server
To set HCOSS options


Working With HCOSS SQL CLR Stored Procedures and Result Sets

An HCOSS SQL CLR stored procedure can:

  • Accept input parameters
  • Return output parameters
  • Accept and return input/output parameters
  • Return one or more result sets
Note: You can create HCOSS SQL CLR stored procedures using our Visual COBOL for Visual Studio product. In addition, applications that call SQL CLR stored procedures must be compiled with DBMAN=ODBC.

Calling an SQL CLR Stored Procedure that Returns No Result Sets

To call an HCOSS stored procedure that returns no result sets, use the CALL embedded SQL statement. For complete details on using the CALL statement, see the topic CALL.

Receiving Result Sets From an SQL CLR Stored Procedure

If a stored procedure returns one or more result sets, you receive the result sets using a series of embedded SQL statements. First, use the CALL statement to call the stored procedure. Next, use the ASSOCIATE LOCATORS statement to define an appropriate number of result sets. Then, issue one ALLOCATE CURSOR statement for defined result set. For example, the following code returns two result sets by associating two result set locators with two allocated cursors, in effect mapping the result sets to the cursors:

     EXEC SQL CALL MYPROC(:hv-country)
     END-EXEC
     EXEC SQL
        ASSOCIATE LOCATORS (:RS1,:RS2) WITH PROCEDURE MYPROC
     END-EXEC
     EXEC SQL
         ALLOCATE C1 CURSOR FOR RESULT SET :RS1
     END-EXEC
     EXEC SQL
         ALLOCATE C2 CURSOR FOR RESULT SET :RS2
     END-EXEC

At this point, use the FETCH statement to fetch each result set, just like any other SQL cursor. You can also interleave access to these cursors at the same time. For example, using the scenario provided above, you could fetch from C1, and then immediately fetch from C2.

Finally, when you are done with cursor processing, use the CLOSE statement to end result set processing.

Parent topic: HCO for SQL Server (HCOSS)
Related reference
HRDBRHESQL04
HRDBRHESQL08
HRDBRHESQL0I
GUID-B5756FC8-94C3-4853-AE01-E970C5D90AB4


Managing Connections

To successfully migrate DB2 applications to SQL Server, you must establish a connection to . You can do this using the Manage Connections tool, or a combination of other connection utilities.

  • Manage Connections Tool
  • Associating a CICS.NET Region
  • Advanced Connection Options
Parent topic: HCO for SQL Server (HCOSS)


Manage Connections Tool

The Manage Connections tool enables you to make the SQL Server connections needed to run your applications.

It includes the following key functionality:

  • Automatically creates both ADO.NET and ODBC connections to SQL Server using one set of connection parameters.
  • Enables you to associate a CICS.NET region with a SQL Server connection.
  • Sets both 32-bit and 64-bit connections on 64-bit operating systems using one set of connection parameters.
  • Enables you to define either system or user connection types.
  • Creates export XML files you can use to import connections into either the ADO.NET Connection Editor or the Manage Connections tool.
Parent topic: Managing Connections
Related concepts
HCOSS Toolset
Application Migration Process
Deploying to a Remote SQL Server
Related tasks
To create a SQL Server connection
To import a connection
To export a connection
To repair a connection
Related reference
Manage Connections Tool Log Files
Manage Connections Tool Error Messages
SQL Server Connection tab
Export tab
Import tab
Connection List tab


Associating a CICS.NET Region

Using the Manage Connections tool, you can associate a CICS.NET region with a SQL Server connection.

To enable HCOSS to use a CICS.NET region, you include the MicroFocus.SEE.SqlExit in the region definition when you define the region using the Server Enterprise Edition for .NET snap-in for Microsoft Management Console. When creating your application connection using the Manage Connections tool, you provide information that points to the CICS.NET region.

The first time you start a CICS.NET region, Server Enterprise Edition for .NET snap-in simultaneously creates a SQL Server database to be used by the CICS.NET region. This database is often and most likely separate from the SQL Server database used by your application, and can use its own authentication method and login credentials. The process of defining a SQL Server connection and associating that connection with a CICS.NET region requires that you specify both the application database and the region database, enabling you to define your application connection by pointing to the SQL Server instance containing your data using its specific login credentials, and to make the CICS.NET region association specifying its SQL Server instance using separate login credentials.

When your CICS application runs, the CICS.NET runtime uses the MicroFocus.SEE.SqlExit user exit to look-up the application connection information based on the region name and the SQL Server instance the region uses. This allows you to have one application connection definition per region.

Note: The process of generating an SQL user exit DLL does not require editing an ADO.NET connection string in COBOL source and re-building it as a DLL as was required in previous versions of reUZE Developer.
Parent topic: Managing Connections
Related concepts
Deploying HCO for SQL Server Connections
Related tasks
To create a SQL Server connection
To Deploy a HCO for SQL Server Connection
Related reference
SQL Server Connection tab
Connection List tab


Advanced Connection Options

As an alternative to the Manage Connections tool, you can also establish appropriate connections using a combination of the Micro Focus ADO.NET Connection Editor and the Microsoft ODBC Data Source Administrator tool. This can be useful if you want to fine-tune your connection settings, including those that are set to defaults when you use the Manage Connections tool.

If you choose to use the ADO.NET Connection Editor and Microsoft ODBC Data Source Administrator to create and catalog your connections, be aware that your development environment can affect your connections.

In 64-bit environments, Microsoft provides 32-bit and 64-bit versions of the ODBC Administrator tool. You might need to create 32- and 64-bit versions of some connections. Here are the scenarios and required connections necessary for using a connection with HCOSS tools:

Scenario | Required Connections
Using HCOSS database migration tools in a 32-bit environment | 32-bit ADO.NET DB2 and ADO.NET SQL Server
Using HCOSS database migration tools in a 64-bit environment | 32- and 64-bit ADO.NET DB2 and ADO.NET SQL Server
Using HCOSS application migration tools in a 32-bit environment, and targeting a 32-bit environment (x86) | 32-bit ADO.NET SQL Server and ODBC SQL Server
Using HCOSS application migration tools in a 64-bit environment, and targeting a 32-bit environment (x86) | 32- and 64-bit ADO.NET SQL Server and 32-bit ODBC SQL Server
Using HCOSS application migration tools in a 64-bit environment, and targeting a 64-bit environment (x64) | 32- and 64-bit ADO.NET SQL Server and ODBC SQL Server

To specify 32-bit and 64-bit connections, use the radio buttons provided on the ADO.NET Connection Editor Connection tab, and the corresponding Microsoft ODBC Data Source Administrator tool.

In 64-bit environments, if UAC is turned on:
  • Run the ADO.NET Connection Editor as an administrator
  • If you want to change the connection list in Visual Studio, then run Visual Studio as an administrator as well.
Note: The ADO.NET Connection Editor and the ODBC Data Source Administrator are available from All Programs > Micro Focus reUZE Developer x.x .
Parent topic: Managing Connections


Migrating Applications

HCO for SQL Server (HCOSS) provides tools and methods for migrating mainframe-based DB2 applications to Windows-based SQL Server applications.

  • Assess Application Migration Tool
  • DB2 to SQL Server Conversion
  • Application Migration Process
  • Project Templates
  • Building Applications
  • Binding Applications
  • Manage Packages and Plans Tool
  • DSN Bind Utility
  • Running Applications
Parent topic: HCO for SQL Server (HCOSS)
Related concepts
HCOSS Toolset


Assess Application Migration Tool

The Assess Application Migration tool enables you to examine COBOL source code SQL statements and report the errors you might encounter when these statements are executed on SQL Server.

The Assess Application Migration Tool provides the following functionality:

  • Assesses COBOL program and copybook source code files to determine their migration potential
  • Provides assessment results for each statement processed including file, line number, and when applicable, the error encountered
  • Provides error counts identifying statements that do not execute properly with or without HCOSS assistance

The Assess Application Migration tool runs a multi-phase process to determine the migration potential of each SQL statement contained in your original IBM z/OS mainframe DB2 SQL.

The first phase determines whether each SQL statement is ANSI SQL syntax compliant without modification. If the tool determines that an SQL statement is not ANSI SQL syntax compliant, it reports the statement as unsupported and moves on to the next statement. If the tool determines that an SQL statement is ANSI SQL compliant, it continues to the second phase.

In phase two, the tool determines whether or not the SQL statement can be executed via an ODBC connection by attempting to execute it via an OpenESQL runtime emulator. If the statement executes properly, the tool moves on to process the next statement. However, if the tool cannot execute the statement, it continues to a third phase.

The third phase modifies the statement through HCOSS and then attempts to execute the HCOSS-modified statement via the OpenESQL runtime emulator. If the statement executes properly, the tool moves on to process the next statement. However, if the tool still cannot execute the statement, it reports the statement as an error before moving on to the next statement.

Before running the tool, you can specify the following:
  • A SQL Server connection
  • A COBOL source code and copybook directory to examine
  • The COBOL source code and copybook files to include
  • A default qualifier (optional)
  • The level of error reporting
Parent topic: Migrating Applications


DB2 to SQL Server Conversion

When you migrate an application, HCOSS converts DB2 to SQL Server using a set of conversion rules and defaults, some of which are customizable.

DB2 to SQL Server conversion is triggered by setting the DIALECT compiler directive before building the application.

HCOSS conversion includes the following:
  • Converts DB2 functions and special registers to SQL Server functions and special registers according to a set of the defaults that best match one to the other. Customizable.
  • Converts DB2 data types to SQL Server data types according to a set of defaults that best match one to the other. Customizable.
  • Converts DB2 SQLCODE values to equivalent SQL Server SQLCODE values. Customizable.
  • Depending on the setting of the DETECTDATE directive, converts DB2-formatted date and time string values in character fields as follows:
    • DETECTDATE is turned on, HCOSS converts to ODBC format before sending the data to the server. ODBC format is:

      yyyy-mm-dd hh:mm:ss.n

    • DETECTDATE is turned off, HCOSS converts to a DB2-compatible format. The DB2-compatible format is:

      yyyy-mm-mm-hh.mm.ss.nnnnnn

  • Converts the following statements:
    SET host-variableAssignment
VALUES INTO host-variableAssignment
    Where the value of host-variableAssignment is not CURRENT PACKAGESET or CURRENT PACKAGE PATH, into equivalent SQL Server SELECT statements.
  • Converts LOCK TABLE statements to equivalent SQL Server select statements with appropriate TABLOCK or TABLOCKX and HOLDLOCK table hints.
  • Converts labeled durations to equivalent calls of the SQL Server DATEADD functions.
  • Converts isolation clauses in cursor selects to corresponding SQL Server table hints.
  • Converts SKIP LOCKED DATA clauses in cursor selects to corresponding READPAST table hints.
  • Converts the following following DB2 functions to corresponding SQL Server DATEPART functions:
    • DAY
    • DAYOFMONTH
    • DAYOFWEEK
    • DAYOFWEK ISO
    • DAYOFYEAR
    • HOUR
    • MICROSECOND
    • MINUTE
    • MONTH
    • SECOND
    • WEEK
    • WEEK ISO
    • YEAR
  • Converts the following DB2 type conversion functions to corresponding SQL Server CONVERT functions:
    • DATE
    • TIME
    • TIMESTAMP
    • TIMESTAMP ISO
  • Converts the DB2 DAYS function to the corresponding SQL Server DATEDIFF function.
Parent topic: Migrating Applications


Application Migration Process

Host Compatilibilty Option for SQL Server (HCOSS) and OpenESQL provides features and tools that assist in migration of mainframe applications that use DB2 to applications that run on Windows and use SQL Server. HCOSS also includes tools that enable you to migrate DB2 databases.

Note: All DB2 application components must reside either on your machine or on your local area network before beginning the migration to SQL Server. You can accomplish this using the Database Migration features of HCOSS.

You can use a combination of the following tools and features to achieve successful COBOL application migration, which includes building and binding an application:

  • HCOSS Manage Connections tool - used to create a connection to the SQL Server database.
  • Visual Studio HCOSS project templates - these templates automatically set up most of the Visual Studio and HCOSS environment that is required to migrate, build, and bind a mainframe COBOL application on Windows.
  • HCOSS Manage Packages and Plans tool - used to bind DBRM members into packages and plans, and to bind packages into plans. It also generates and saves BIND commands to bind script (.hcodsn) files you can execute using the DSN Bind utility.
  • DSN Bind utility - a free-standing Windows command-line utility used to achieve mainframe-like binding using a subset of the functionality of the mainframe DSN utility. This option is available if you do not create bind scripts that bind the application during the build process.
  • HCOSS-specific OpenESQL SQL compiler directive options - provide SQL syntax compatibility between DB2 and SQL and also provide binding functionality.

While you can choose from other methods of application migration using HCOSS, the basic and recommended process of COBOL application migration includes:

  1. Using the HCOSS Manage Connections tool, connect to your SQL Server database.
  2. Add mainframe COBOL source code to the project.
  3. Edit the preset SQL OpenESQL compiler directive options in the project properties.
  4. Also in the project properties, edit the post-build event to include the data source name of your SQL Server database.
  5. Build the application, automatically binding the application to the database.
  6. Run the application.
Parent topic: Migrating Applications
Related concepts
Building Applications
Running Applications
Binding Applications
Manage Connections Tool


Project Templates

We provide two Visual Studio project templates you can use when migrating a DB2 application to run on Windows and access a SQL Server Database. They are:

  • HCOSS (CICS) Mainframe Subsystem Application template - Use this template for migrating a CICS, JCL or IMS HCOSS application that runs under Micro Focus Enterprise Server.
  • HCOSS Application Managed template - Use this template for standalone applications that run directly on Windows.

Most properties in these templates are set for you to provide optimal performance. The templates also come with a pre-configured bind script file.

  • SQL Properties
  • COBOL Properties
Parent topic: Migrating Applications
Related concepts
Building Applications


SQL Properties

The HCOSS templates preset the following OpenESQL SQL compiler directive options:
  • SQL(DBMAN=ODBC)
  • SQL(TARGETDB=MSSQLSERVER)
  • SQL(BEHAVIOR=CICS) for CICS/MSS applications
  • SQL(BEHAVIOR=MAINFRAME) for migrated mainframe applications
  • SQL(DIALECT=MAINFRAME)
  • SQL(DBRMLIB)
  • SQL(DB=HCODB)
  • SQL(INIT) for CICS/MSS applications

Before building your application, you must change the value of the DB directive from the default value of HCODB to the name of your SQL Server data source name. Other changes are optional depending on the requirements of your application.

For complete information on HCOSS-specific OpenESQL SQL compiler directive options see the Compiler Directives reference.

Parent topic: Project Templates
Related reference
SQL Compiler Directive Options - HCOSS


COBOL Properties

The COBOL properties preset in the HCOSS templates include a post-build event to automatically bind your application immediately at the conclusion of the build process.

The HCOSS post-build event executes the DSN Bind utility, which binds the application and database. The default syntax of the DSN command executed is:

DSN SYSTEM(HCODB) @"$(ProjectDir)Application1.hcodsn"
Before building your application, you must make some changes to accommodate the specifics of your application.
  1. Replace HCODB with the data source name of your SQL Server database.
  2. Do one of the following:
    • Edit the Application1.hcodsn bind script file to include the BIND commands required to bind your application. By default, Application1.hcodsn contains the following BIND command:
      bind plan(PROGRAM1) action(REPLACE) MEMBER(PROGRAM1)
    • Specify an alternate bind script file:
      1. Create a new bind script file either using the Manage Packages and Plans tool, or by coding it manually.
      2. Add the bind script file to your Visual Studio project.
      3. Then edit the DSN command in your post-build event, replacing Application1.hcodsn with the name of your new bind script file.
Parent topic: Project Templates
Related concepts
Manage Packages and Plans Tool
Related tasks
To create a bind script file
To bind from the command line
To bind as a post-build event
To manually code a bind script file
Related reference
DSN command


Building Applications

Because your migrated application originated in a mainframe environment, the run-time application expects to find all of the appropriate SQL statements in packages and/or plans that reference database request modules (DBRMs). DBRMs contain the SQL statements extracted from the application source code during compilation.

To mimic this mainframe behavior, HCOSS provides a set of SQL compiler directive options that enable you to extract the EXEC SQL statements in your application source code into DBRMs as you compile the application. In a post-compilation step, you then bind the DBRMs to the application so that they can be accessed at run time.

In Visual Studio, you compile applications by building the projects that contain them. When you build an HCOSS application, you must first set appropriate SQL compiler directive options, and in most cases, establish a connection to your SQL Server database.

In addition to the standard SQL compiler directive options, HCOSS includes these specific options to handle application binding and SQL compatibility between DB2 and SQL Server:
  • ACCESS
  • BIND
  • DATE
  • DBRMLIB (required)
  • DIALECT (required)
  • MEMBER
  • QUALIFIER
  • TIME
  • VERSION
At a minimum, edit your project's SQL properties to set the following compiler directive options for the OpenESQL ESQL preprocessor to ensure that the build process generates the appropriate DBRMs and converts DB2 SQL into SQL Server SQL where necessary.
  • DBMAN - set this to one of the following values:
    • ODBC - for native applications
    • ADO - for managed applications
  • TARGETDB - set this to a value of MSSQLSERVER.
  • DB - set this value to your SQL Server data source connection name
  • PASS - if your data source connection requires that you provide a user ID and password to connect, provide a user ID and password as follows:

    userID.password

  • DBRMLIB
  • DIALECT - set this to a value of MAINFRAME.
  • DETECTDATE
  • INIT
Note: The HCOSS template projects have several of the required directives preset.

Before compiling, unless you have specified the SQL(NOCHECK) directive, you must be connected to the database specified by the DB directive via an ODBC (native applications) or an ADO.NET (managed applications) connection.

Note: To set the SQL(NOCHECK) directive, you must add it such that it lists after the SQL(DBRMLIB) directive.
Parent topic: Migrating Applications
Related concepts
Binding Applications
Application Migration Process
Project Templates
Related reference
ACCESS
BIND
HRDBRHSQLO09
DATE
DBRMLIB
DIALECT
MEMBER
QUALIFIER
TIME
VERSION
DETECTDATE
DB
DBMAN
INIT
MARS
Build Error Messages


Binding Applications

Once you have built your application such that it generates the necessary DBRMs, you must bind the DBRMs to your application by directly binding the DBRMs, or by binding the DBRMs into packages and/or plans that can be accessed by your run-time application.

You have several options for binding applications:
  • Use the Manage Packages and Plans tool to generate bind script files (.hcodsn files) containing BIND script commands that you can execute immediately to achieve application binding, or that you can save for later execution.
  • Use the Manage Packages and Plans tool to create and save bind script files to execute using the DSN Bind utility at a command prompt or as a post-build event.
  • Manually code bind script files to execute using the DSN Bind utility at a command prompt or as a post-build event.
  • Bind from JCL by coding a BIND command directly into the JCL.

Whether you bind your applications via the Manage Packages and Plans tool or directly with the DSN Bind utility, the results are the same. This is because the Manage Packages and Plans tool actually runs the DSN Bind utility for you when you execute a script command.

We recommend that you bind your applications by creating collections and packages from DBRM members and then binding those packages to one or more plans. This method offers a significant advantage over binding DBRM members directly into a plan. For example, if you need to change the SQL in a single source member, and that source member bound into a package that has been bound into a plan, you only need to rebind the changed member to its package. However, if the changed member is bound directly into a plan, you must rebind the entire plan to include the change.

Parent topic: Migrating Applications
Related concepts
Building Applications
Running Applications
Application Migration Process
Manage Packages and Plans Tool
Related tasks
To bind from JCL


Manage Packages and Plans Tool

Use the Manage Packages and Plans tool to create and edit bind script files that contain BIND commands. You can execute these scripts from the Manage Packages and Plans tool, or save them to execute later with the tool or using the DSN Bind utility. The tool also enables you to free (clean out) old or unused packages and plans from your SQL Server database.

With regard to binding applications, the Manage Packages and Plans tool provides the following functionality:
  • Generates BIND commands according to specifications you provide.
  • Saves the commands in bind script files (.hcodsn files) to any location you specify so that you can open, edit, and execute the commands again at any time.
  • Reports BIND command errors.
  • Executes one, some, or all of the BIND commands in your script file to either generate stored procedures that populate the SYSIBM schema or remove stored procedures that already exist in your SQL Server database.
With regard to freeing packages and plans, the Manage Packages and Plans tool provides the following functionality:
  • Free packages, removing associated system table data and associated stored procedure(s) from your SQL Server database
  • Free plans, removing associated system table data and associated stored procedure(s) from your SQL Server database, and removing package associations to the plan
  • Package Specifications
  • Plan Specifications
  • Freeing Packages and Plans
Parent topic: Migrating Applications
Related concepts
Binding Applications
COBOL Properties
Deploying to a Remote SQL Server
Related tasks
To create a bind script file
To open an existing bind script file
To create a new package
To create a new plan
To edit an existing BIND command
To execute one or more bind script lines
Related reference
Bind Scripts tab
Bind Packages tab
Bind Plans tab


Package Specifications

You must provide the following specifications to the Manage Packages and Plans tool to enable it to generate a valid BIND PACKAGE script command:
  • Collection name - You can specify any name you choose, and add one or more packages to that collection. HCOSS creates the collection the first time you execute a package that you specify to be stored in the collection.
  • Library name - the name of a library containing extracted DBRMs.
    • DBRM libraries are located under localHCOSSFiles\DBRMDataSets, where localHCOSSFiles represents the value of the Directory to write local HCOSS generated files to HCOSS option.
    • When you compile your application using the SQL(DBRMLIB) directive without specifying a DBRM name, HCOSS puts all DBRMs into a default library directory named DBRMLIB.
    • If, when you compile, you specify a value for the DBRMLIB directive, the library directory name is the same as the value you specify.
    • The Manage Packages and Plans tool provides you with a list of the available libraries from which to select.
    • Each library contains one DBRM for each source code member.
    • Each DBRM contains the extracted EXEC SQL statements from a single source member.
  • Member name - the name of the DBRM from which you want to create the package. This is the program ID of the source code member from which the DBRM was extracted. If there is more than one DBRM in the specified library, you can select from a list of available members.
  • Default qualifier (optional) - the name of a schema to use as the default qualifier for this package.
  • Action - the action you want to take with regard to this package and the collection. If this package doesn't already exist in the collection, you can click Add to add it. If it does exist in the collection, you can click Replace to replace the current package version with an updated DBRM member, or you can replace a specific version by specifying the version identifier for the package that you want to replace and clicking Replace Version. HCOSS generates a new version for the package when you generate the DBRM.
Parent topic: Manage Packages and Plans Tool
Related tasks
To create a new package
To edit an existing BIND command
Related reference
Bind Packages tab


Plan Specifications

You must provide some or all of the following specifications to the Manage Packages and Plans tool to enable it to generate each BIND PLAN script command:
  • Plan name - You can specify any name you choose. HCOSS creates the plan the first time you bind it.
  • Default qualifier (optional) - the name of a schema to use as the default qualifier for this plan. HCOSS applies plan qualifiers to DBRM members specified in the plan; however, packages included in the plan use the qualifier specified for the package when it was executed, ignoring any specified plan qualifier.
  • Action - the action you want to take with regard to this plan. If the plan doesn't already exist, you can add it. If it does exist, you can replace it with modified specifications you provide.
  • Collections that contain packages you want to include in the plan.
  • Packages you want to include.
  • DBRM members you want to include in the plan.
  • DBRM libraries in which you want to search for specified DBRM members.
Parent topic: Manage Packages and Plans Tool
Related tasks
To create a new plan
To edit an existing BIND command
Related reference
Bind Plans tab


Freeing Packages and Plans

Over time, as a result of binding multiple DBRMs into multiple packages and plans, you might accumulate more data records and stored procedures in your SQL Server database than you need to run your application. In this case, you can use the Manage Packages and Plans tool to free (clean out) the packages and plans that you no longer need.

When you free a package, the Manage Packages and Plans tool removes associated system table data about the package and the stored procedure(s) associated with the package. You can remove all versions or a specific version of each package. You cannot restore a package that you have freed. Instead, you must bind the package again.

When you free a plan, the Manage Packages and Plans tool removes associated system table data about the plan and the stored procedure(s) associated with the plan. This includes removing all associations with packages bound into the plan. However, the packages themselves remain intact. Remember that a single package can be accessed individually and/or from any plan into which is has been bound. Therefore, even when you free a plan, its packages remain usable in those other contexts. If you want to also free the packages associated with a plan, you must free them separately.

You cannot restore a plan that you have freed. Instead, you must bind the plan again.

Parent topic: Manage Packages and Plans Tool


DSN Bind Utility

Using the DSN Bind utility, you can bind your database to your SQL Server application from the command line or as a post-build event.

The DSN Bind utility requires that you have an active connection to your SQL Server database, and that you provide a bind script file (.hcodsn file) containing the BIND commands you want to execute. You can create the bind script file using the Manage Packages and Plans tool, or create it manually in a text editor.

A post-build event is a process executed automatically, immediately following the building of an application in Visual Studio.

The DSN Bind utility executes in two sequential phases each time you run it - the Schema Update execution phase followed by the Bind Script execution phase.

Schema Update Execution

In this phase of execution, DSN checks the SQL Server database to which you are connected to ensure that the tables and stored procedures it requires are present in the database, and that the table and function definitions are consistent with the version of HCOSS in use. If the checks return successfully, DSN moves on to the Bind Script Execution phase. However, if the checks fail, DSN performs a schema update before moving on.

DSN database checks fail, triggering a schema update, only when either of the following is true:
  • You run DSN against a new SQL Server database
  • You run DSN for the first time after installing an HCOSS upgrade
  • DSN determines that necessary tables and/or stored procedures are missing from the database
To perform a schema update, DSN executes the following SQL scripts against your SQL Server database:
  • InstallSYSIBM.sql - creates metadata tables that DSN uses to manage bound DBRMs.
  • InstallBindProcs.sql - creates stored procedures that DSN uses to manage these tables.
  • InstallDigitsFunction.sql - creates the following functions to emulate DB2 functions not provided by SQL Server:
    • DATEINTERVAL
    • DIGITS
    • JULIANDAY
    • LASTDAY
    • LPAD
    • MIDNIGHT_SECONDS
    • NEXTDAY
    • RPAD
    • STRIP
    • TIMEINTERVAL
    • TRANSLATE
    • TRUNCATE

These SQL scripts reside in your %ALLUSERSPROFILE%\Micro Focus\NetExpress\6.0. directory.

To ensure successful completion of the schema update process, connect to your SQL Server database using login credentials that include the following permissions:
  • CREATE SCHEMA
  • CREATE TABLE
  • DROP TABLE
  • CREATE INDEX
  • DROP INDEX
  • CREATE PROCEDURE in the SYSIBM schema
  • DROP and CREATE FUNCTION in the dbo schema
Important: This set of required permissions provides broader access to the SQL Server database than is necessary for the checking and binding done by DSN on a regular basis, that is, when database checks do not trigger the schema update process. If you routinely bind your applications by executing DSN from the command line or as a post-build event, and you prefer to restrict permissions for day-to-day use, you can avoid possible errors and prevent DSN from triggering an automatic schema update by completing the process manually immediately after creating a new SQL Server database and after each HCOSS upgrade. To perform a manual schema update, connect to your SQL Server database using login credentials that grant the required permissions, and then run the SQL scripts manually.

Permissions required to run database checking are the same as those required for bind script execution.

Bind Script Execution

In the Bind Script Execution phase, DSN:
  • Generates stored procedures that bind packages and plans, maintaining them as metadata in the following SQL Server database tables:
    SYSIBM.SYSDBRM
SYSIBM.SYSPACKAGE
SYSIBM.SYSPACKLIST
SYSIBM.SYSPLAN
  • For each DBRM package specified in a BIND PACKAGE command, generates a separate stored procedure for each static SQL statement, saving them to your SQL Server database using the following naming convention:

    PKG:collectionName.memberName consistencyToken$statementNumber

    Where consistencyToken is a DSN-generated string that provides a unique name for the stored procedure, and statementNumber is a DSN-generated number starting at 0. For example:

    PKG:COLLECTION1.MEMBERAEEEcKIKy$0

  • For each plan specified in a BIND PLAN command, generates stored procedures for specified packages/members, saving them to your SQL Server database using a similar naming convention:

    PLN:planNameconsistencyToken$statementNumber

    For example:

    PLN:MYPLAN1.MEMBERAFFFdLJLz$0

To ensure successful completion of the Bind Script Execution phase, connect to your SQL Server database using login credentials that include the following permissions:
  • CREATE SCHEMA
  • CREATE PROCEDURE
  • EXECUTE PROCEDURE in the SYSIBM schema
Parent topic: Migrating Applications
Related concepts
Deploying to a Remote SQL Server
Related tasks
To bind from the command line
To bind as a post-build event
To manually code a bind script file
Related reference
ACCESS
BIND
DSN command


Running Applications

Your run-time applications require access to the DBRMs containing your SQL Server information. Therefore, you must specify the package collection or plan to which you have bound the DBRMs needed for a particular application. The methods for specifying package collections and plans differ between JCL and CICS applications.

Note: Because plan selection is specific to a connection, HCOSS maintains separate settings of CURRENT PACKAGE PATH, CURRENT PACKAGESET and APPLICATION PLAN for each connection used by an application.
  • CICS Applications - DBRM Specification
  • JCL Applications - DBRM Specification
Parent topic: Migrating Applications
Related concepts
Binding Applications
Application Migration Process


CICS Applications - DBRM Specification

CICS applications migrated using HCOSS and running under Enterprise Server require that you specify a package collection, list of package collections, or a plan in which your application's DBRMs are bound. You can do this one of two ways:

  • Enterprise Server environment variables

    Depending on how you have bound your DBRMs, set one the following environment variables in the Configuration Information field on the the Enterprise Server Administration Server > Properties > General tab for the enterprise server running the application:

    • ES_DB_APPLICATION_PLAN
    • ES_DB_PACKAGESET
    • ES_DB_PACKAGE_PATH

    These variables set the APPLICATION PLAN, CURRENT PACKAGESET or CURRENT PACKAGE PATH special registers. By setting one of these variables, you create a global setting for a CICS region.

  • In application source code

    Add one of the following statements to your source code:

    • SET APPLICATION PLAN
    • SET CURRENT PACKAGESET
    • SET CURRENT PACKAGE PATH

    Use SET APPLICATION PLAN or SET CURRENT PACKAGESET to explicitly set the plan name or collection name containing your DBRMs. Use SET CURRENT PACKAGE PATH to specify a list of collections from which to select.

    Note: This method is less desirable because it requires changes to application code.
Parent topic: Running Applications


JCL Applications - DBRM Specification

JCL run-time applications migrated with HCOSS require that you specify the plan or package collection(s) to which its DBRMs are bound. This is accomplished using one of three methods:
  • Explicitly on the JCL RUN command
    JCL passes the PLAN parameter value from the JCL RUN command to OpenESQL, which then uses this value to set the plan used by the application. For example:
    RUN PROG(progName) PLAN(planName)
  • Automatically by default
    If you do not specify a PLAN parameter in the JCL RUN command, JCL defaults to using the program name as the plan name. For example:
    RUN PROG(progName)
  • In application source code

    This method overrides the automatic default method. It also enables you to specify package collection(s) instead of a plan. Add one of the following statements to your source code:

    • SET APPLICATION PLAN - Explicitly set the plan name
    • SET CURRENT PACKAGESET - Explicitly set the collection name
    • SET CURRENT PACKAGE PATH - Specify a path containing collections from which to select
Parent topic: Running Applications
Related tasks
To bind from JCL


Deploying to a Remote SQL Server

This topic explains how to deploy an HCOSS application you have developed using reUZE Developer to a SQL Server on another machine.

To deploy an HCOSS application to a remote SQL Server, you must perform the following tasks on the machine indicated:

  • Development Machine - Build the HCOSS application.
  • Deployment Machine
    1. Install the following software:
      • reUZE Developer, along with the appropriate product licenses. For complete details on installing product licenses, see the topics Deployment Licensing and Deploying COBOL Applications.
      • SQL Server 2008 Developer or Enterprise Edition, including:
        • Microsoft SQL Server 2008 Native Client
        • Microsoft SQL Server System CLR Types
        • Microsoft SQL Server 2008 Management Objects
        Note: You can access the downloads from the Microsoft SQL Server 2008 Feature Pack download page.
    2. Using the Deploying COBOL Applications topic as your guide, copy your HCOSS application from the development machine to the appropriate directory structure on the deployment machine.
      Important: You must create some or all of the required directory structure manually.

      Specifically, copy database request modules (DBRMs), that is, the DBRMName.hcodbrm files, from the development machine to the equivalent directory on the deployment machine. The location of your DBRM files varies on your development machine depending on your HCOSS options, and the specified DBRMLIB directive. The location on your development machine is:

      localHCOSSFiles\DBRMDataSets\DBRMLIBName

      Where localHCOSSFiles represents the value of the Directory to write local HCOSS generated files to HCOSS option, and DBRMLIBName represents the value of the DBRMLIB directive.

      Note: If no value is provided for the DBRMLIB directive, the default value is DBRMLIB. SQL(DBRMLIB) is the equivalent of SQL(DBRMLIB=DBRMLIB).

      On the deployment machine, you must put the DBRM files into a subdirectory of the default directory: %APPDATA%\Micro Focus\NetExpress\6.0\HCOSS\DBRMDataSets. The subdirectory name must match the DBRMLIB name.

      For example, assuming the following:

      reUZE Developer version | 6.0
      Development machine Windows user ID | devuser
      Deployment machine Windows user ID | exeuser
      DBRMLIB directive | SQL(DBRMLIB=REX.PROJECT.DEMO)
      Value of Directory to write local HCOSS generated files to HCOSS option on both machines | Default setting,%APPDATA%\Micro Focus\NetExpress\6.0\HCOSS\DBRMDataSets

      You would copy the generated DBRM files using the following directory specifications:

      Development Machine | Deployment Machine
      c:\Users\devuser\AppData\Roaming\Micro Focus\NetExpress\6.0\HCOSS\DBRMDataSets\REX.PROJECT.DEMO | c:\Users\exeuser\AppData\Roaming\Micro Focus\NetExpress\6.0\HCOSS\DBRMDataSets\REX.PROJECT.DEMO
    3. Start HCO for SQL Server from All Programs > Micro Focus reUZE Developer x.x > HCO for SQL Server Tools > HCO for SQL Server.
    4. Using the Manage Connections tool, create a connection for the SQL Server instance on this deployment machine. For more information, see the Manage Connections Tool topic.
      Important: Be sure that the login credentials you use grant you the permissions necessary to successfully perform the tasks outlined in both the Schema Update Execution and Bind Script Execution sections of the DSN Bind Utility topic.
    5. Using the Manage Packages and Plans tool, bind the DBRM to your deployment SQL Server instance by creating and executing a BIND PACKAGE script command. For complete details, see the Manage Packages and Plans topic.
    6. Using the Deploying COBOL Applications topic as your guide, execute your application.
      Note: When running from the command line, if your reUZE Developer installation directory contains spaces, do not enclose the directory specification in quotes when you add it to the PATH environment variable.
Parent topic: HCO for SQL Server (HCOSS)
Related concepts
Manage Connections Tool
DSN Bind Utility
Manage Packages and Plans Tool
Deploying Native COBOL Applications
GUID-0A7DEEEE-7E92-4250-8ADF-5F9E27A2520E.ditamap


Customizing HCOSS

You can customize HCOSS by setting options, changing default conversion specifications, setting certain SQL compiler directive options, and calling the DSNTIAR or DSNTIAC facility from your programs.

  • Customizing Data Type Mappings
  • Customizing Functions and Special Registers
  • Customizing SQLCode Mappings
  • Customizing Return Codes
Parent topic: HCO for SQL Server (HCOSS)


Customizing Data Type Mappings

HCOSS converts DB2 data types to SQL Server data types automatically, using a set of defaults to map each DB2 data type to a corresponding SQL Server data type.

If you want to convert any of your DB2 database data types to SQL Server database data types using settings other than the defaults mapped by HCOSS, you can customize them.

From the HCOSS Customize Type Mappings tool, you can customize the following for each DB2 data type mapping:
  • Encoding
    • ASCII
    • EBCDIC
    • UNICODE
  • Data Storage Option
    • For bit data
    • Mixed data
    • None
    • SBCS data
  • SQL Server Data Type - any available

You can also add data type mappings using the Customize Type Mappings tool.

Parent topic: Customizing HCOSS


Customizing Functions and Special Registers

HCOSS converts DB2 functions and special registers to SQL Server functions or special registers automatically, using a set of defaults to map each DB2 function or special register to a corresponding SQL Server function or special register.

If you want to convert any of your DB2 database functions or special registers to SQL Server database functions or special registers using settings other than the defaults mapped by HCOSS, you can customize them.

From the HCOSS Customize SQL Name Mappings tool, you can customize the following for each DB2 function or special register:
  • The SQL Server equivalent
  • Whether SQL Server handles it as a function or a special register

Also from the Custom SQL Name Mappings tool, you can add DB2 functions and special registers defined in your DB2 database that are not represented in your SQL Server database.

Important: If you want to add a mapping for a DB2 function or special register that exists in your DB2 database but that is not represented in your SQL Server database, you must first create the SQL Server object in your SQL Server database. All objects must be present in the SQL Server database before you can create the mapping, and before you bind your application.
  • Function Customization Process
  • Function Customization Example
Parent topic: Customizing HCOSS
Related tasks
To customize SQL name mappings
Related reference
Default SQL Name Mappings
Customize SQL Name Mappings - SQL Name tab


Function Customization Process

DB2 comes with some built-in functions that are not represented in SQL Server. If your application uses any of these built-in functions, you must define an equivalent SQL Server function for each in your SQL Server database, and map each DB2 function to its corresponding user-defined SQL Server function using HCOSS. Do these things before binding the application.

SQL Server requires that all calls to user-defined functions are qualified with the schema name of the function. You can use HCOSS to map unqualified function names to qualified function names.

The process for customizing SQL Server to emulate a non-represented DB2 function is as follows:

  1. In your SQL Server database, define a function to serve as an equivalent of the DB2 built-in function.
  2. Qualify the new function, specifying its SQL Server schema. This is necessary because SQL Server requires that all calls to user-defined functions be qualified with the schema name.
  3. In HCOSS, map the DB2 built-in function to the newly created SQL Server function.
  4. When you build the application, set the HCOSS DIALECT directive to MAINFRAME. This tells HCOSS to consult the mapping entries to find qualified SQL Server functions based on the equivalent, original DB2 function definition.
Parent topic: Customizing Functions and Special Registers


Function Customization Example

In this example, we use the scenario that our migrated DB2 database uses a built-in function for math, atanh, that our SQL Server database does not support. We use Microsoft SQL Server Management Studio to create the function in the default dbo schema of our SQL Server database, and we use HCOSS to map the DB2 function to the newly created SQL Server user-defined function.

  1. In SQL Server Management Studio, create a user-defined function in your SQL Server database to serve as an equivalent for the DB2 atanh function by executing the following Transact-SQL.
    create function atanh (@in float) returns float
begin
    return log((1 + @in) / (1 - @in)) / 2
end
go
  2. Qualify the function in SQL Server Management Studio using the dbo schema by executing the following:
    declare @x float = 0.75
select dbo.atanh(@x)
  3. Map the newly defined dbo.atanh SQL Server function to the DB2 atanh.
    1. From the HCOSS interface, click Customize SQL Name Mappings and add the following to the blank row at the bottom of the page:
      • In DB2 Function/Special Register column type atanh.
      • In SQL Server Equivalent column type dbo.atanh.
      • Check the Is Function checkbox.
    2. Click Save.
  4. Set the DIALECT directive to MAINFRAME and build the application.
       $set sql(targetdb=mssqlserver db=HCODemo dialect=mainframe, init)
       identification division.
       program-id. Program1.

       environment division.
       configuration section.

       data division.
       working-storage section.

       exec sql include sqlca end-exec.

       01  mfsqlmessagetext    pic x(200).

       01  x           comp-2.

       01  atanh       comp-2.
       01  digits      comp-2

       procedure division.

           move 0.25 to x
           exec sql
               select atanh(:x)
                into :atanh
           end-exec

           display atanh

           goback.
Parent topic: Customizing Functions and Special Registers


Customizing SQLCode Mappings

HCOSS automatically maps OpenESQL SQLCode values to their equivalent DB2 SQLCode and SQLState values using the information defined in the mfhcocds.txt file. HCOSS comes with standard default SQLCode mappings. You can customize these mappings by directly editing the mfhcocds.txt file.

HCOSS stores the mfhcocds.txt file in one of the following folders:
Windows XP | %ALLUSERSPROFILE%\NetExpress\6.0
Windows Vista and Windows 7 | %ALLUSERSPROFILE%\Micro Focus\NetExpress\6.0

You can use any text editor to make changes to default settings or to add SQLCode mappings stored in the mfhcocds.txt file. The mappings are stored in a comma-delimited format with each line listing an OpenESQL SQLCode value followed by its DB2 SQLCode value equivalent followed by the SQLState value returned for the OpenESQL SQLCode value. For example, here is a listing of the default mfhcocds.txt contents:

* OESQL SQLCODE, DB2 SQLCODE, DB2 SQLSTATE DELIMITED BY COMMAS
-2601,-803,23505
-19519,-501,24501
-19516,-502,24502
-2714,-601,42710
-207,-204,42704
-208,-204,42704
Parent topic: Customizing HCOSS
Related reference
Default SQLCODE Mappings


Customizing Return Codes

HCOSS provides DSNTIAR and DSNTIAC facilities you can call from your program that emulate those available on the mainframe. These HCOSS facilities enable you convert your SQL run-time return codes into character string messages.

Parent topic: Customizing HCOSS
Related reference
DSNTIAR and DSNTIAC


How to...

  • To start HCO for SQL Server
  • Manage Connections Tasks
  • Manage Packages and Plans Tasks
  • Bind Applications
  • Customize HCOSS
Parent topic: HCO for SQL Server (HCOSS)


To start HCO for SQL Server

To start HCOSS in standalone mode:
  • Click All Programs > Micro Focus reUZE Developer x.x > HCO for SQL Server Tools > HCO for SQL Server.
To start HCOSS from the Visual Studio IDE:
  • Click Tools > Micro Focus COBOL Tools > HCO for SQL Server Tools.
Parent topic: How to...
Related concepts
HCOSS Toolset
Options


Manage Connections Tasks

  • To create a SQL Server connection
  • To import a connection
  • To export a connection
  • To repair a connection
Parent topic: How to...


To create a SQL Server connection

  1. Be sure you have added your SQL Server database to Microsoft SQL Server Management Studio.
  2. From the HCO for SQL Server interface, click Manage Connections.
  3. On the Connections List tab, select a Connection Type (System or User) for this SQL Server connection.
  4. From the Connection List tab, click New SQL Server Connection.
  5. Specify appropriate Connection Properties.
    Note: If you have selected Use SQL Server Login and want HCOSS to remember your ADO.NET password, check Allow Saving ADO.NET Connection Password. Otherwise, the system prompts you for a password each time you connect from other HCOSS tools.
  6. Specify appropriate Data Link Properties as follows:
    1. Specify a SQL Server Instance by selecting from the drop-down list, or by typing the name of your SQL Server instance into the field. If you type in the name of your SQL Server instance rather than selecting it from the drop-down list, you must also click Confirm Server.
    2. If you want to use a database other than the default database, check Use a database other than the default database: dbname, and then select an alternative database from the Database drop-down list.
  7. Click Test.
  8. When the connection tests successfully, click OK to clear the message.
  9. If you want to associate CICS.NET region with this connection, follow these steps:
    1. On the SQL Server Connection tab, select CICS Region mode.
    2. Specify an authentication method, user ID and password if applicable, the SQL Server instance associated with the CICS.NET region you want to use, and the CICS region you want to associate with this connection.
      Note:
      • Each CICS.NET region can be associated with just one application connection. When defining the association, only non-associated regions appear on the drop-down list of CICS regions.
      • You can associate CICS.NET region before creating it by typing the name of the region into the CICS Region field rather than using the drop-down list to select an available region. In this case, the name you provide must not be the same as the name of a previously associated region. Also, before running the application you must create the region using the information you provide here and start the region to create the SQL Server database.
    3. Click Test CICS Connection.
    4. When the connection tests successfully, click OK to clear the message.
    5. On the SQL Server Connection tab, select Connection mode.
  10. Click Save.

    The new connection appears on the Connections List located on the Connections List tab.

Parent topic: Manage Connections Tasks
Related concepts
Manage Connections Tool
Associating a CICS.NET Region
Related reference
Manage Connections Tool Log Files
Manage Connections Tool Error Messages
SQL Server Connection tab
Connection List tab


To import a connection

  1. From the HCO for SQL Server interface, click Manage Connections.
  2. On the Import tab, type the full path to and filename of an XML (.xml) file containing the exported connection(s) that you want to import, or click the browse button to select a file.
  3. Click Read Available Connections to populate the list.
  4. Select one or more connections to import.
  5. Click Import.
    Note:
    • If one or more of the selected connections uses a provider other than the Microsoft OLE DB Provider for DB2 or the SQL Native Client 10.0, or if you do not have the appropriate database provider installed, the Import button is disabled and you cannot import the connection.
    • HCOSS cannot import a connection that has the same name as an existing connection. In this case, HCOSS notifies you that the connection already exists, and does not perform the import of that connection.
  6. When the import is complete, click OK to clear the message. You should see the imported connections on the Connection List found on the Connection List tab.
Parent topic: Manage Connections Tasks
Related concepts
Manage Connections Tool
Related reference
Manage Connections Tool Log Files
Manage Connections Tool Error Messages
Import tab


To export a connection

  1. From the HCO for SQL Server interface, click Manage Connections.
  2. From the connection list on the Export tab, select one or more connections you want to export.
  3. In the Export to File field, type the full path to and filename of a file to which you want to export the connection(s), or click the browse button to select or specify a file.
    Note:
    • The default file extension for exported connections is .xml.
    • If you don't specify a path, HCO for SQL Server puts the file into the base\bin directory of your installation.
    • If you specify an existing file, HCO for SQL Server prompts you to confirm the overwriting of that file.
  4. Click Export.
Parent topic: Manage Connections Tasks
Related concepts
Manage Connections Tool
Related reference
Manage Connections Tool Log Files
Manage Connections Tool Error Messages
Export tab


To repair a connection

  1. From the HCO for SQL Server interface, click Manage Connections.
  2. From the Connection List tab, select a Connection Type (System or User) to populate the Connection List grid with connections defined for that type.
  3. From the Connection List grid, select a connection that shows a status of Needs Repair.
  4. Click Repair.
Parent topic: Manage Connections Tasks
Related concepts
Manage Connections Tool
Related reference
Manage Connections Tool Log Files
Manage Connections Tool Error Messages


Manage Packages and Plans Tasks

  • To create a bind script file
  • To open an existing bind script file
  • To create a new package
  • To create a new plan
  • To edit an existing BIND command
  • To execute one or more bind script lines
  • To free one or more packages
  • To free one plan or all plans
Parent topic: How to...


To create a bind script file

  1. From the HCOSS Manage Packages and Plans tool, click the Bind Scripts tab.
  2. If you have a script file open, click New to clear the page.
  3. Specify a SQL Server Connection.
  4. Add one or more bind script entries by creating one or more Packages or Plans.
  5. Click Save As to name and save the file to a location of your choosing. All bind script files are in XML format and have the file extension .hcodsn.
Parent topic: Manage Packages and Plans Tasks
Related concepts
COBOL Properties
Manage Packages and Plans Tool
Related reference
Bind Scripts tab


To open an existing bind script file

  1. From the HCOSS Manage Packages and Plans tool, click the Bind Scripts tab.
  2. Click Open to locate and select an existing bind script file. Bind script files have the file extension .hcodsn.
Parent topic: Manage Packages and Plans Tasks
Related concepts
Manage Packages and Plans Tool
Related reference
Bind Scripts tab


To create a new package

  1. From the HCOSS Manage Packages and Plans tool, either create or open a bind script file.
  2. Click New Package.
  3. In the Collection Name field, type a name for the collection in which to store the package.
  4. Select an action. If you select Replace Version, type the version you want to replace into the corresponding field.
  5. From the Library Name drop-down list, select the library that contains the source member from which you want to create the package. The default is DBRMLIB.
  6. From the Member Name drop-down list, select the member you want to action.
  7. If you have a qualifier you would like to specify, type it into the Default Qualifier field.
  8. Click Execute. This generates a script command and places it onto the list of Bind Script Entries on the Bind Scripts tab.
Parent topic: Manage Packages and Plans Tasks
Related concepts
Manage Packages and Plans Tool
Package Specifications
Related reference
Bind Packages tab


To create a new plan

  1. From the HCOSS Manage Packages and Plans tool, either create or open a bind script file.
  2. Click New Plan.
  3. In the Plan Name field, type a name for the plan.
  4. Select an action.
  5. Do one of the following:
    • To bind packages into the plan, select Packages mode. In this case, all versions of each package are available to the plan.
    • To bind DBRM members directly to the plan, select DBRM Members mode. In this case, HCOSS expects to find these members in the default DBRM library.
    • To bind one or more DBRM libraries to the plan, including all of the members in those libraries, select DBRM Libraries mode. In this case, HCOSS searches the libraries for DBRM members in the order in which the libraries appear on the Selected Libraries list. HCOSS uses the first instance of a specified member that it finds.
  6. If you have a qualifier you would like to specify, type it into the Default Qualifier field.
    Note: HCOSS applies plan qualifiers to DBRM members specified in the plan; however, packages included in the plan use the qualifier specified for the package when it was executed, ignoring any specified plan qualifier.
  7. Depending on the mode you have selected, use the other lists and fields on this page to add packages or DBRM members to the plan, or to remove them from the plan. You can use the Search field above each list to narrow the scope of the list. Use the % character as a wild card.
  8. Click either Add to Script to add the generated script command to the list of Bind Script Entries on the Bind Scripts tab, or click Execute to add the generated script and also execute the script commands thereby updating the SQL Server database.
    Note: If you do not execute the command at this time, you can execute it from the Bind Scripts tab to update the SQL Server database. You must eventually execute the command for the bind to take place.
Parent topic: Manage Packages and Plans Tasks
Related concepts
Manage Packages and Plans Tool
Plan Specifications
Related reference
Bind Plans tab


To edit an existing BIND command

  1. From the HCOSS Manage Packages and Plans tool, open a bind script file.
  2. Select a command on the Bind Script Entries list.
  3. Click Edit.
  4. Make any desired changes to the specification. For BIND PLAN commands, the available lists and fields on this page vary depending on the selected mode. You can use the Search field above each list to narrow the scope of the list. Use the % character as a wild card.
    Note: For BIND PLAN commands that include DBRM members, you can add one or more libraries in which to search for the specified DBRM members by selecting DBRM Libraries mode. In this case, you can click Move Up or Move Down to change the search order.
  5. Do one of the following:
    • Click Execute to generate and execute the BIND command and add it to your bind script.
    • Click Update in Script to generate the BIND command and add it to your script for execution at a later time.
Parent topic: Manage Packages and Plans Tasks
Related concepts
Manage Packages and Plans Tool
Package Specifications
Plan Specifications
Related reference
Bind Packages tab
Bind Plans tab
Bind Scripts tab


To execute one or more bind script lines

  1. From the HCOSS Manage Packages and Plans tool, either create or open a bind script file.
  2. Ensure that the script lines on the Bind Script Entries list appear in the order in which you want to execute them. If not, select a line and click Move Up or Move Down to change its position.
  3. Do one of the following:
    • To execute one or more script lines but not all, select the script lines you want to execute; then click Execute Selected.
    • To execute all script lines in the order in which they appear on the list, click Execute All.
    Note: You must execute all BIND PLAN script lines to make the plans available to your run-time application.
Parent topic: Manage Packages and Plans Tasks
Related concepts
Manage Packages and Plans Tool
Related reference
Bind Scripts tab


To free one or more packages

  1. From the HCOSS interface, use the Manage Connections tool to ensure you have an active connection to your SQL Server database.
  2. Click Manage Packages and Plans to start the tool.
  3. From the Bind Scripts tab, select a SQL Server Connection from the drop-down list.
  4. Click the Free Packages tab.
  5. Do one of the following:
    • To free all bound packages listed on the Bound Packages list, click Free All Packages.
    • To free one or more packages:
      1. To show version information for each package on the Bound Packages list, check Show package version information. This turns on the Version column within the grid (Optional).
      2. On the Bound Packages list, select one or more packages to remove from your SQL Server database.
        Note: To select or unselect all packages, right-click and choose the appropriate menu option.
      3. Click Free Package(s).
  6. Click OK to confirm.
Parent topic: Manage Packages and Plans Tasks


To free one plan or all plans

  1. From the HCOSS interface, use the Manage Connections tool to ensure you have an active connection to your SQL Server database.
  2. Click Manage Packages and Plans to start the tool.
  3. From the Bind Scripts tab, select a SQL Server Connection from the drop-down list.
  4. Click the Free Plans tab.
  5. Do one of the following:
    • To free all bound plans listed on the Bound Plans list, click Free All Plans.
    • To free a single plan:
      1. On the Bound Plans list, select a plan you want to remove from your SQL Server database.
      2. View the details of the plan by doing one or more of the following (optional):
        • Select either the Members or Packages mode to view the contents of the plan.
        • When in Packages mode, check Expand PKLIST to show package details if you want to view every package that resulted from the binding.
        • When Expand PKLIST to show package details is checked, you can also check Show package version information to display version information for each package.
      3. Click Free Plan.
  6. Click OK to confirm.
Parent topic: Manage Packages and Plans Tasks


Bind Applications

  • To bind from the command line
  • To bind as a post-build event
  • To manually code a bind script file
  • To bind from JCL
Parent topic: How to...


To bind from the command line

  1. Create a bind script file using the Manage Packages and Plans tool, or manually in a text editor. If you create the file in a text editor, be sure to give it a file extension of .hcodsn.
  2. Using the Manage Connections tool, connect to your SQL Server database with a login ID and password that grants you permission to update the SYSIBM table.
  3. Open a command prompt and change to the base\bin directory of your product installation.
  4. Enter the following command:

    DSN SYSTEM(SQLServerConnection) @"bindScriptFile"

    where SQLServerConnection is the name of your SQL Server connection, and bindScriptFile is the full path to and filename of your bind script file.

Parent topic: Bind Applications
Related concepts
DSN Bind Utility
COBOL Properties
Related tasks
To manually code a bind script file
Related reference
DSN command


To bind as a post-build event

  1. Build your application using the DBRMLIB SQL compiler option to create DBRMs from your source code.
  2. Create a bind script file using the Manage Packages and Plans tool, or manually in a text editor. If you create the file in a text editor, be sure to give it a file extension of .hcodsn.
  3. Using the Manage Connections tool, connect to your SQL Server database with a login ID and password that grants you permission to update the SYSIBM table.
  4. In Visual Studio, open the properties for the project that contains your application.
  5. On the COBOL tab, click Build Events.
  6. In the Post-build event command line field, type the following:

    DSN SYSTEM(SQLServerConnection) @"bindScriptFile"

    where SQLServerConnection is the name of your SQL Server connection, and bindScriptFile is the full path to and filename of your bind script file.

  7. Click OK.
Parent topic: Bind Applications
Related concepts
DSN Bind Utility
COBOL Properties
Related tasks
To manually code a bind script file
Related reference
DSN command


To manually code a bind script file

  1. Open a text editor of your choice.
  2. Type each BIND command on its own line.
  3. At the end of the file, type END.
  4. Save the file to a location of your choice, using a .hcodsn filename extension.
Parent topic: Bind Applications
Related concepts
DSN Bind Utility
COBOL Properties
Related tasks
To bind from the command line
To bind as a post-build event
Related reference
DSN command


To bind from JCL

  1. In your JCL, code a DSN statement followed by appropriate BIND statements.
    //SYSTSIN  DD *
  DSN SYSTEM(XAResourceName)
  BIND bindArguments
  [BIND...]
  END

    For example:

    //SYSTSIN  DD *
  DSN SYSTEM(HCODemo)
  BIND PLAN(TWOPACKAGESET) ACTION(REPLACE) LIBRARY(DBRMLIB) -
  MEMBER(TWOPACKAGESET) QUALIFIER(PROD)
  END
  2. Save your JCL.
Note: For information on valid arguments and syntax for the BIND command, see your SQL Server documentation.
Parent topic: Bind Applications
Related concepts
Binding Applications
JCL Applications - DBRM Specification


Customize HCOSS

  • To set HCOSS options
  • To customize SQL name mappings
Parent topic: How to...


To set HCOSS options

  • If you started HCOSS from the Start menu:
    1. From the HCO for SQL Server interface, click Options.
    2. Set options as desired.
      Tip: Context help for each setting appears at the bottom of the window.
    3. Click OK to save your settings.
  • If you started HCOSS from the Visual Studio IDE:
    1. From the Visual Studio IDE, click Tools > Options.
    2. Expand Micro Focus COBOL Tools on the tree view.
    3. Click HCO for SQL Server.
    4. Set options as desired.
      Tip: Context help for each setting appears at the bottom of the window.
    5. Click OK to save your settings.
Parent topic: Customize HCOSS
Related concepts
HCOSS Toolset
Options


To customize SQL name mappings

  1. From the HCO for SQL Server interface, click SQL Name Mappings.
  2. To change default mappings, do one or more of the following:
    • To change the name of any DB2 Functions/Special Register or its SQL Server Equivalent, simply click in the field and type in your change.
    • To change the mapping type for any DB2 Function/Special Register, check one or both of its correponding check boxes.
  3. To add a new mapping:
    1. Scroll down to the bottom of the page.
    2. In the field at the bottom of the DB2 Function/Special Register column, type in the name of a DB2 function or special register that exists in your DB2 database but is not already listed as a default.
    3. Type a corresponding SQL Server equivalent name into the SQL Server Equivalent column.
    4. Depending on what applies to your new mapping, check the appropriate box or boxes in the Is Function or Special Register columns.
    Note: Each time you type into a field or check a box in the blank bottom row, a new blank row appears underneath to enable you to add another new mapping.
  4. Click Save.
Parent topic: Customize HCOSS
Related reference
Customizing Functions and Special Registers
Default SQL Name Mappings
Customize SQL Name Mappings - SQL Name tab


Reference

  • Command Line Reference
  • SQL Compiler Directive Options - HCOSS
  • Error Messages
  • Log Files
  • User Interface Reference
Parent topic: HCO for SQL Server (HCOSS)


Command Line Reference

  • DSN command
    Executes the DSN Bind utility, which performs schema updates as necessary and executes BIND commands to bind packages and/or plans to a SQL Server database.
Parent topic: Reference


DSN command

Executes the DSN Bind utility, which performs schema updates as necessary and executes BIND commands to bind packages and/or plans to a SQL Server database.

Syntax

DSN SYSTEM(SQLServerConnection) @"bindScriptFile"
[ASUSER(userID.password)]

Parameters

SQLServerConnection | The name of an established connection to a SQL Server database.
bindScriptFile | The full path to and filename of the bind script (.hcodsn) file that contains the BIND commands you want to execute.
userID | The user ID required to log onto your SQL Server database. Enclose in double quotes (") if the user ID contains non-alphanumeric characters.1
password | The password required to log onto your SQL Server database. Enclose in double quotes (") if the password contains non-alphanumeric characters.1
1 The level of database access permissions required by these login credentials can vary. For details, see the topic DSN Bind Utility.

Comments

  • DSN.exe is in the base\bin directory of your product installation.
  • Execute DSN.exe either from a command prompt at your product installation's base\bin directory, or execute it as a post-build event.
  • Create the bind script file either with the Manage Packages and Plans tool, or manually in a text editor.
  • If you omit the ASUSER parameter, DSN uses Windows authentication, prompting you for a username and password if it fails.
Parent topic: Command Line Reference
Related concepts
DSN Bind Utility
COBOL Properties
Related tasks
To bind from the command line
To bind as a post-build event
To manually code a bind script file


SQL Compiler Directive Options - HCOSS

  • ACCESS
    Enables deployment of application code and SQL by updating the SQL Server database at compile time.
  • BIND
    Enables deployment of application code by generating an SQL batch script that can be used with sqlcmd or SQL Server Management Studio to update the SQL Server database.
  • DATE
    Controls the reformatting of date values in input parameter character host variables when DETECTDATE is also specified.
  • DBRMLIB
    Enables generation of DBRMs containing the static SQL statements from COBOL programs.
  • DETECTDATE
    Enables recognition of date, time and datetime values in character host variables.
  • DIALECT
    Enables SQL dialect compatibility features for HCOSS in the OpenESQL precompiler, turning on automatic mapping of functions, special registers, data types, and all other automatic HCOSS conversions.
  • MEMBER
    Specifies a non-default name for the DBRM.
  • QUALIFIER
    Qualifies unqualified table and view names.
  • TIME
    Controls the reformatting of date values in input parameter character host variables when DETECTDATE is also used.
  • VERSION
    Specifies a version for a DBRM.
Parent topic: Reference
Related concepts
SQL Properties


ACCESS

Enables deployment of application code and SQL by updating the SQL Server database at compile time.

Syntax:

ACCESS=access-plan-name

Parameters:

access-plan-name
The name of the access plan.

Properties:

Default: ACCESS=prog-name

Where prog-name is the COBOL program name.

Comments:

Less compatible with mainframe deployment behavior than using a combination of the DBRMLIB compiler directive and the DSN Bind utility.

HCOSS generates a separate stored procedure in the schema specified by your SQL Server connection for each static SQL statement in the program.

If stored procedures from a previous compilation are present in the schema, HCOSS drops them before creating new stored procedures.

Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
DSN Bind Utility
Related reference
BIND
DBRMLIB
QUALIFIER
DIALECT


BIND

Enables deployment of application code by generating an SQL batch script that can be used with sqlcmd or SQL Server Management Studio to update the SQL Server database.

Syntax

BIND=bind-script-file

Parameters:

bind-script-file
The name of the bind file.

Properties:

Default: BIND=prog-name

Where prog-name is the COBOL program name.

Comments:

The filename extension for generated bind script files is .sql. For example, if you specify BIND=myprog, the generated bind script file name is myprog.sql.

To update the SQL Server database, run the generated bind script file using sqlcmd or from SQL Server Management Studio.

The generated bind script file contains commands to create a separate stored procedure in the schema specified by your SQL Server connection for each static SQL statement in the program.

If stored procedures from a previous compilation are present in the schema, HCOSS drops them before creating new stored procedures.

Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
DSN Bind Utility
Related reference
ACCESS
DBRMLIB
QUALIFIER
DIALECT


DATE

Controls the reformatting of date values in input parameter character host variables when DETECTDATE is also specified.

Syntax

DATE={ODBC | ISO | USA | EUR | JIS}

Parameters:

ODBC
yyyy-mm-dd
ISO
yyyy-mm-dd
USA
mm/dd/yyyy
EUR
dd.mm.yyyy
JIS
yyyy-mm-dd

Dependencies:

Requires that the DIALECT HCOSS directive and the DETECTDATE SQL directive also be set.

Comments:

HCOSS scans character host variables to identify those that match the DATE format, and converts the contents of the host variables matching the DATE format to the yyyy-mm-dd format accepted by SQL Server.

Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
Related reference
TIME
DIALECT
DETECTDATE


DBRMLIB

Enables generation of DBRMs containing the static SQL statements from COBOL programs.

Syntax, Format 1:

DBRMLIB[=DBRMLIBName]

Syntax, Format 2:

NODBRMLIB

Parameters:

DBRMLIBName
A name for the DBRM library. The value provided must conform to the syntax for mainframe Partitioned Data Set names as follows:
  • Maximum length is 44 bytes.
  • Must specify one or more simple names separated by periods (‘.’). A simple name can be up to eight bytes in length, starts with a character, and is made up of a combination of alphabetic characters, digits, or the following special characters: @, #, $, -

Properties:

Default: DBRMLIB

This is the equivalent of DBRMLIB=DBRMLIB.

Dependencies:

Requires that the TARGETDB SQL directive be set to TARGETDB=MSSQLSERVER.

Automatically sets the CHECK SQL directive.

Comments:

When DBRMLIB is set, the precompiler and runtime system process the following statements:
SET CURRENT PACKAGESET
SET CURRENT PACKAGE PATH
SET APPLICATION PLAN

DBRMs are stored as XML files with an extension of .hcodbrm in the localHCOSSFiles\DBRMDataSets\DBRMLIBName directory, where localHCOSSFiles represents the value of the Directory to write local HCOSS generated files to HCOSS option, and DBRMLIBName represents the value of the DBRMLIB directive.

Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
Related reference
ACCESS
BIND
MEMBER
VERSION
DIALECT
HRDBRHSQLO12
QUALIFIER


DETECTDATE

Enables recognition of date, time and datetime values in character host variables.

Syntax:

[NO]DETECTDATE

Properties:

Default: NODETECTDATE

Comments:

When using DETECTDATE with the HCOSS DATE or TIME directive, it converts values that match DB2 formats to SQL Server-compatible formats.

The following comments apply to DETECTDATE as a generic SQL compiler directive, that is, not in the context of HCO for SQL Server (HCOSS):
  • Use DETECTDATE if your server does not have a suitable native character string date representation (for example, Microsoft Access). It is also useful for generic applications.
  • DETECTDATE identifies the following escape sequences:
    • {dData} - date
    • {tData} - time
    • {tsData} - timestamp
  • Once identified, DETECTDATE binds the host variables as date, time, and timestamp columns as appropriate instead of binding them as character columns.
  • The use of DETECTDATE can cause problems if your database contains character columns not related to date or time data that can legitimately contain data that starts with {d, {t or {ts.
Parent topic: SQL Compiler Directive Options - HCOSS


DIALECT

Enables SQL dialect compatibility features for HCOSS in the OpenESQL precompiler, turning on automatic mapping of functions, special registers, data types, and all other automatic HCOSS conversions.

Syntax:

DIALECT=MAINFRAME [overrides]

Parameters:

overrides
SQL compiler directives, set to values other than their default values set by DIALECT, each separated by a space. The modified SQL compiler directives specified override the directives set as defaults by DIALECT.

Properties:

Default: DIALECT=MAINFRAME

Dependencies:

Sets the following regular SQL compiler directives:
  • CHECK
  • CHECKSINGLETON
  • CHECKUPDCURSOR
  • DETECTDATE
  • MARS
Sets the following HCOSS SQL compiler directives:
  • DATE=ISO
  • TIME=ISO
Sets the OpenESQL precompiler to skip over the following EXEC SQL statements, generating a compile-time warning for each instead:
  • SET CURRENT APPLICATION ENCODING SCHEME
  • SET CURRENT DEGREE
  • SET CURRENT [LOCALE] LC_CTYPE
  • SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION
  • SET CURRENT OPTIMIZATION HINT
  • SET CURRENT PRECISION
  • SET CURRENT REFRESH AGE
  • SET CURRENT RULES
  • SET CURRENT ENCRYPTION PASSWORD

Comments:

You can override the CHECK directive by specifying NOCHECK, or by setting the DB directive to identify your database connection. If the connection you specify does not use Windows authentication, then you must also set the PASS directive specifying a valid user ID and password for the connection.

In the context of HCOSS, CHECK verifies the following:
  • HCOSS-transformed SQL syntax, to determine if the transformed syntax is compatible with SQL Server. This provides early detection of incompatibilities between DB2 and SQL Server that have not been resolved by HCOSS.
  • Transformed database object names (tables, views, columns and functions) are valid in SQL Server.
DIALECT supports the following SET statements, with the runtime system processing them internally:
SET CURRENT PACKAGESET
VALUES INTO CURRENT PACKAGESET
SET CURRENT PACKAGE PATH
VALUES INTO CURRENT PACKAGE PATH

DIALECT enables use of the APPLICATION PLAN special register, that can be used in SET host-variableAssignment and VALUES INTO statements, and also supports the SET APPLICATION PLAN statement, which allows an application to set the application plan to be used when static SQL statements in DBRMs generated by the DBRMLIB directive are executed.

Example:

SQL(DIALECT=MAINFRAME NOCHECK NODETECTDATE)
Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
Related reference
Default Data Type Mappings
Default SQLCODE Mappings
Default SQL Name Mappings
ACCESS
BIND
DATE
TIME
DBRMLIB
QUALIFIER


MEMBER

Specifies a non-default name for the DBRM.

Syntax, Format 1:

MEMBER=mem-name

Syntax, Format 2:

NOMEMBER

Parameters:

mem-name
The name of a DBRM. A DBRM name can be up to eight bytes in length, starts with a character, and is made up of a combination of alphabetic characters, digits, or the following special characters: @, #, $, -

Properties:

Default: MEMBER=prog-name

Where prog-name is the COBOL program name.

Dependencies:

Requires that the DBRMLIB HCOSS directive also be set.

Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
Related reference
DBRMLIB
VERSION


QUALIFIER

Qualifies unqualified table and view names.

Syntax:

QUALIFIER=schema-name

Parameters:

schema-name
The name of the schema used to qualify unqualified table or view references in embedded SQL.

Dependencies:

Requires that the ACCESS and/or BIND HCOSS directives also be set, or that DBRMLIB and DIALECT HCOSS directives both be set.

Comments:

When ACCESS and/or BIND is specified but DIALECT is either not specified or it is specified with a NOCHECK override, HCOSS qualifies table and view references in generated stored procedures using the value of the QUALIFIER directive.

When ACCESS and/or BIND is specified and DIALECT is specified with no override for CHECK, HCOSS qualifies table and view references in generated stored procedures using the value of the QUALIFIER directive before being sent to the SQL Server for the compile-time check.

When DBRMLIB is specified and DIALECT is either not also specified or it is specified with a NOCHECK override, HCOSS does not qualify table or view references.

When DBRMLIB is specified and DIALECT is also specified with no override for CHECK, HCOSS qualifies table and view references in generated stored procedures using the value of the QUALIFIER directive before being sent to the SQL Server for the compile-time check. In the generated DBRMLIB, unqualified table and view references are left unqualified. You can qualify them by specifying a qualifier when executing BIND PACKAGE or BIND PLAN commands.

Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
Related reference
ACCESS
BIND
DBRMLIB
DIALECT


TIME

Controls the reformatting of date values in input parameter character host variables when DETECTDATE is also used.

Syntax:

TIME={ODBC | ISO | USA | EUR | JIS}

Parameters:

ODBC
hh:mm:ss
ISO
hh.mm.ss
USA
hh:mm {AM | PM}
EUR
hh.mm.ss
JIS
hh:mm:ss

Properties:

Default: ISO

Dependencies:

Requires that the DIALECT HCOSS directive and the DETECTDATE SQL directive also be set.

Comments:

HCOSS scans character host variables to identify those that match the TIME format. HCOSS then converts the contents of the host variables matching the TIME format to the hh:mm:ss format accepted by SQL Server.

The following apply to USA format:

  • Minutes can be omitted. For example, 1 PM is equivalent to 1:00 PM.
  • AM and PM are not case sensitive.
  • There must be a single blank before AM or PM.
  • The hour must not be greater than 12 and cannot be 0 except for the special case of 00:00 AM.
Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
Related reference
DATE
DIALECT
DETECTDATE


VERSION

Specifies a version for a DBRM.

Syntax:

VERSION=version

Parameters:

version
The version of the DBRM. This can be up to 64 bytes in length and must consist of a letter followed by a sequence of zero or more letters, digits, or underscore characters.

Dependencies:

Requires that the DBRMLIB HCOSS directive also be set.

Parent topic: SQL Compiler Directive Options - HCOSS
Related concepts
Building Applications
Related reference
MEMBER
DBRMLIB


Error Messages

This section lists the error messages that are produced by the database migration tools.

  • Manage Connections Tool Error Messages
  • Build Error Messages
Parent topic: Reference


Manage Connections Tool Error Messages

This topic describes error messages that are specific to the Manage Connections tool.

Error Message | Description or Cause | Resolution
32-bit ADO.NET connection failed | The specified 32-bit ADO.NET connection failed. | Check the connection parameters.
32-bit ODBC connection failed | The specified 32-bit ODBC connection failed. | Check the connection parameters.
64-bit ADO.NET connection failed | The specified 64-bit ADO.NET connection failed. | Check the connection parameters.
64-bit ODBC connection failed | The specified 64-bit ODBC connection failed. | Check the connection parameters.
(A connection) already exists and will not be imported | A warning message. | It can be ignored.
(A connection) cannot be imported. | An existing connection cannot be imported due to unsupported provider type. | Redefine the connection using a supported provider type.
An existing connection was found and no action was taken. If you wish to add or update an existing connection, please specify the FORCE=TRUE parameter. | An existing connection cannot be overwritten. | The user may choose to set the parameter FORCE=TRUE to overwrite, or do nothing.
An unexpected error has occurred. Please report the following error to Micro Focus Support: |  |
Following required parameter is missing | A required parameter is not provided. | Provide the specified parameter value.
Invalid command line parameter | The specified parameter value is empty or out of range. | Assign a proper value to the required parameter.
Invalid connection mode | The connection mode parameter “MODE” has no value. | Assign a value to the parameter.
Invalid connection name | The connection name parameter “DSN” has no value. | Assign a value to the parameter.
Invalid connection provider | The connection provider parameter “PROVIDER” has no value. | Assign a value to the parameter.
Invalid connection provider type | The connection provider type parameter “PTYPE” has no value. | Assign a value to the parameter.
Invalid connection save ADO.NET password flag | The connection save ADO.NET password flag parameter “ADOSAVEP” has no value. | Assign a value to the parameter.
Invalid connection server type | The connection server type parameter “STYPE” has no value. | Assign a value to the parameter.
Invalid connection type | The connection type parameter “CTYPE” has no value. | Assign a value to the parameter.
Invalid number of arguments | The command line has no arguments. | Add the required arguments to the command line.
The connection name specified already exists. Please provide a unique connection name. | The new connection name conflicts with an existing one. | Use a different name for the new connection.
The process does not have the WRITE permission to the file | The process does not have WRITE permission to the specific file. | Depending on the security policy of the organization, the resolution can be either Run as Administrator or Grant the user WRITE permission.
Unable to list SQL Server instances | Unable to list SQL Server instances in the local area network. | Check the network connectivity.
Unable to write DSN tracking file | XML schema error. | Contact Micro Focus support.
Validation of command line parameters failed | Some of the command line parameters have syntax errors. | Correct the syntax errors by following the sample format provided in the command line usage documentation topic.
Parent topic: Error Messages
Related concepts
Manage Connections Tool
Related tasks
To create a SQL Server connection
To import a connection
To export a connection
To repair a connection
Related reference
Manage Connections Tool Log Files


Build Error Messages

All build errors are a result of linking problems.
Error Message | Resolution
unresolved external symbol _MFHCOCD2@4 | In the Project Properties for your Visual Studio project, on the tab add the appropriate MFDSNTIAR.LIB file. This file resides in your installation's ..\BASE\LIB or ..\BASE\LIB\WIN64 directory, depending whether you are building a 32-bit or 64-bit application.
unresolved external symbol _mfsqlsmf@20 | In the Project Properties for your Visual Studio project, on the tab add the appropriate MFSQLSMF.LIB file. This file resides in your installation's ..\BASE\LIB or ..\BASE\LIB\WIN64 directory, depending whether you are building a 32-bit or 64-bit application. If the application does not run under Enterprise Server, you can compile the program with SQL(NOSMFTRACE) directive.
Parent topic: Error Messages
Related concepts
Building Applications


Log Files

  • Manage Connections Tool Log Files
Parent topic: Reference


Manage Connections Tool Log Files

A single log file is created per GUI session. Parameter checks are logged. Log entries are generated when adding, updating, and deleting connections. Log entries are not generated for connection checking.

The log file is located in the \Connections subdirectory of the Directory to write log files to, specified in your HCOSS options.

Parent topic: Log Files
Related concepts
Manage Connections Tool
Related tasks
To create a SQL Server connection
To import a connection
To export a connection
To repair a connection
Related reference
Manage Connections Tool Error Messages


User Interface Reference

  • Manage Connections
  • Manage Packages and Plans
  • Customize SQL Name Mappings - SQL Name tab
  • Options
Parent topic: Reference


Manage Connections

  • Connection List tab
  • SQL Server Connection tab
  • Export tab
  • Import tab
Parent topic: User Interface Reference


Connection List tab

Connection List
A list of all available connections.
Name
The data source name you specified for the connection when you created it.
Type
The type of database connection.
Status
The last known status of the connection:
Checking | HCOSS is checking the status of the connection
OK | The connection is established and working properly
Needs Repair | The connection is established but is not working properly
Unknown | Shows for newly created or imported connections when your HCOSS Automatically Test Connections option is set to False, and before you Refresh the connection for the first time
New SQL Server Connection
Switch to the SQL Server Connection tab to create a new SQL Server connection.
Edit
SQL Server Connection tab where you can make changes to your connection specifications.
Remove
Remove the selected connection.
Repair
Repair a connection that reports Needs Repair in the Status column on the Connection List.
Refresh
Update information in the Status column for the selected connection.
Refresh All
Update the information in the Status column for all connections.
System
Create a system connection, and show only system connections on the Connections List grid.
User
Create a user connection, and show only user connections on the Connections List grid.
Encrypt ADO Connection Settings
Write ADO.NET connection specifications to the machine.config file in encrypted format.
Parent topic: Manage Connections
Related concepts
Manage Connections Tool
Associating a CICS.NET Region
Related tasks
To create a SQL Server connection


SQL Server Connection tab

Connection
Turns on Connection Mode, displaying fields and controls used to define an application connection.
CICS Region
Turns on CICS Region Mode, displaying fields and controls used to associate a CICS.NET region with the application connection.

Connection Mode

Data Source Name
Type a name for this connection.
Integrated Windows Authentication
Automatically send your Windows user ID and password as login credentials for this connection.
Use SQL Server Login
Send the User ID and Password supplied in the corresponding fields as login credentials for this connection.
User ID
Type the user ID you want to use for your SQL Server login. This is required only when you have selected Use SQL Server Login.
Password
Type the password you want to use for your SQL Server login. This is required only when you have selected Use SQL Server Login.
Allow Saving ADO.NET Connection Password
Set HCOSS to remember your ADO.NET password. When unchecked, the system prompts you for a password each time you connect from other HCOSS tools. This check box applies only when you have selected Use SQL Server Login.
SQL Server Instance
Select a SQL Server instance from the drop-down list, or type the name of a SQL Server instance. Use . or (local) to specify your local machine.
Refresh
Refresh the list of available SQL Server instances.
Confirm Server
When you specify a SQL Server instance by typing into the SQL Server Instance field rather than selecting from the drop-down list, click this to confirm the specified instance and test its validity.
Use a database other than the default database: dbname
Activates the Database drop-down list, enabling you to specify an alternative database for this connection.
Database
Select a database from the drop-down list, which includes all SQL Server databases available for the login credentials you specified for this connection.
Test
Verify that the information you have specified on this tab is sufficient to create a working SQL Server connection.
Save
Create an ODBC and an ADO.NET SQL Server connection, each based on the information you have specified on this tab.

CICS Region Mode

Data Source Name
Type a name for this connection.
Integrated Windows Authentication
Automatically send your Windows user ID and password as login credentials for this connection.
Use SQL Server Login
Send the User ID and Password supplied in the corresponding fields as login credentials for this connection.
User ID
Type the user ID you want to use for the CICS.NET region's SQL Server login. This is required only when you have selected Use SQL Server Login.
Password
Type the password you want to use for the CICS.NET region's SQL Server login. This is required only when you have selected Use SQL Server Login.
SQL Server Instance
Specify the SQL Server instance created for your CICS.NET region.
CICS Region
Select a CICS.NET region from the drop-down list, or specify the name of a CICS.NET region you intend to create before running your application. Do not specify a name that has been previously associated with a SQL Server application connection.
Refresh
Refresh the list of available SQL Server instances.
Database
Select a database from the drop-down list, which includes all SQL Server databases available for the login credentials you specified for this connection.
Test CICS Connection
Verify that the information you have specified for your CICS.NET association is sufficient to create the association.
Parent topic: Manage Connections
Related concepts
Manage Connections Tool
Associating a CICS.NET Region
Related tasks
To create a SQL Server connection


Export tab

Select All
Select all entries listed on the connections grid.
Unselect All
Unselect all entries listed on the connections grid.
Name
The data source name you specified for the connection when you created it.
Type
The type of database connection, SQL Server or DB2.
Status
The last known status of the connection:
OK | The connection is established and working properly
Needs Repair | The connection is established but is not working properly
Unknown | Shows for newly created or imported connections when your HCOSS Automatically Test Connections option is set to False, and before you Refresh the connection for the first time
Export to file
The full path to and filename of an XML (.xml) file to which you want to save your connection information.
Export
Export the selected connections.
Parent topic: Manage Connections
Related concepts
Manage Connections Tool
Related tasks
To export a connection


Import tab

Import from file
The full path to and filename of an XML (.xml) file you want to import.
Read Available Connections
Loads all connections defined in the imported XML file into the connections grid.
Select All
Select all entries listed on the connections grid.
Unselect All
Unselect all entries listed on the connections grid.
Name
The name of the connection as specified by the <name> element in the imported XML file.
Connection String
The connection string required to create the connection, as specified in the <ConnectString> element of the imported XML file.
Import
Import the selected connections.
Progress
Shows the progress of the import process.
Parent topic: Manage Connections
Related concepts
Manage Connections Tool
Related tasks
To import a connection


Manage Packages and Plans

  • Bind Scripts tab
  • Bind Packages tab
  • Bind Plans tab
  • Free Packages tab
  • Free Plans tab
Parent topic: User Interface Reference


Bind Scripts tab

New
Create a new bind script file.
Open
Open an existing bind script file.
Save
Save the bind script file.
Save As
Save the bind script file under a new name.
Bind Script File
Full path to and name of the bind script file.
SQL Server Connection
The data source name for your SQL Server connection.
Bind Script Entries
The BIND PACKAGE and BIND PLAN commands in the bind script file.
New Package
Switch to the Bind Packages tab to create a new package in the SQL Server database by generating a BIND PACKAGE command for the bind script file, and executing the command.
New Plan
Switch to the Bind Plans tab to create a new plan in the SQL Server database by generating a BIND PLAN command for the bind script file, and optionally executing the command as well.
Edit
Switch to either the Bind Packages or the Bind Plans tab, depending on the selection, to modify the selected command and generate and execute the changes as a new BIND PACKAGE command, or generate and optionally execute the changes as a new BIND PLAN command.
Move Up
Reposition the selected bind script command to appear before the command listed just above it.
Move Down
Reposition the selected bind script command to appear after the command listed just below it.
Delete
Delete the selected bind script command.
Execute Selected
Execute the command selected on the Bind Script Entries list.
Execute All
Execute all commands listed on the Bind Script Entries list.
Parent topic: Manage Packages and Plans
Related concepts
Manage Packages and Plans Tool
Related tasks
To execute one or more bind script lines
To create a bind script file
To open an existing bind script file
To edit an existing BIND command


Bind Packages tab

Collection Name
The name of the collection in which to store the package.
Library Name
The name of the library containing the source member from which you want to create the package. The <default> is DBRMLIB.
Member Name
The name of (program ID of) the source member from which you want to create the package.
Default Qualifier
The name of a schema to use as the default qualifier for this package. Optional.
Add
If the package does not already exist in the specified collection, add it to the collection.
Replace
If this package already exists in the collection, replace it; if it doesn't already exist, add it to the collection.
Replace Version
Replace the package version specified in the corresponding field with the generated package version.
Revert
Return all settings changed since opening the Packages tab to their original settings.
Execute
Execute the package to create it in the specified SQL Server database in preparation for binding into a plan. After binding, all versions of the bound package are automatically available to the plan.
Parent topic: Manage Packages and Plans
Related concepts
Package Specifications
Manage Packages and Plans Tool
Related tasks
To create a new package
To edit an existing BIND command


Bind Plans tab

Plan Name
The name of a plan that you can bind to your application.
Default Qualifier
The name of a schema to use as the default qualifier for this plan. Optional.
Packages
Bind existing packages into the plan.
DBRM Members
Bind source members into the plan.
DBRM Libraries
Bind source libraries into the plan in the order they appear on the Selected Libraries list, which represents the order in which HCOSS searches the libraries for DBRM members, using the first-found instance of a specified member.
Add
If the plan does not already exist in the SQL Server database, add it to the database.
Replace
Replace an existing plan of the same name with this plan.
Revert
Return all settings changed since opening the Plans tab to their original settings.
Name
A search string on which to refine the options on the list below. You can use the wild-card character % to represent any string or string fragment.
Search
Refine the options on the list below to those matching the search string in the corresponding Name field.
Available Collections
List of collections available in the current SQL database. Available in Packages mode only.
Available Packages
Packages included in the collection selected on the Available Collections list. Available in Packages mode only.
Selected Packages
Packages selected to add to or replace in the plan. Available in Packages mode only.
Available Members
List of DBRM members available for binding into the plan. Available in DBRM Members mode only.
Selected Members
Members selected to add to or replace in the plan. Available in DBRM Members mode only.
Available Libraries
List of DBRM libraries available for binding into the plan. Available in DBRM Libraries mode only.
Selected Libraries
Libraries selected to add to or replace in the plan. The order in which the libraries appear on this list determines the search order HCOSS uses to locate specified DBRM members. Available in DBRM Libraries mode only.
Add
Add the items selected on the list or lists to the left to the list on the right.
Remove
Remove the items selected on the list to the right.
Move Up
Reposition the library selected on the Selected Libraries list to appear before the libary listed just above it, changing the order in which the libraries are searched for DBRM members. Available in DBRM Libraries mode only.
Move Down
Reposition the library selected on the Selected Libraries list to appear after the libary listed just below it, changing the order in which the libraries are searched for DBRM members. Available in DBRM Libraries mode only.
Add to Script
Generate a script line representing the settings on this tab, and add it to the list of bind script entries found on the Bind Scripts tab.
Execute
Generate and execute a command representing the settings on this tab, thereby updating the SQL Server database, and generate a script line with a command representing the settings on this tab and add it to the list of bind script entries found on the Bind Scripts tab.
Parent topic: Manage Packages and Plans
Related concepts
Manage Packages and Plans Tool
Plan Specifications
Related tasks
To create a new plan
To edit an existing BIND command


Free Packages tab

Bound Packages
Lists all available bound packages.
Show package version information
Toggle the Version column in the Bound Packages grid.
Free Package(s)
Free all packages selected on the Bound Packages list.
Free All Packages
Free all packages on the Bound Packages list.
Parent topic: Manage Packages and Plans


Free Plans tab

Bound Plans
Lists all available bound plans.
Members
For the plan selected on the Bound Plans list, populates the Bound Members list with the DBRM members bound into the plan.
Packages
For the plan selected on the Bound Plans list, populates the Bound Packages list with the packages bound into the plan.
Bound Members
Shows the DBRM members bound into the selected plan. Available only when Members is selected.
Bound Packages
Shows the packages bound into the selected plan. Available only when Packages is selected.
Expand PKLIST to show package details
View all packages that resulted when binding the plan. Available only when Packages is selected.
Show package version information
Show the version for each package listed. Available only when Expand PKLIST to show package details is checked.
Free Plan
Free the plan selected on the Bound Plans list.
Free All Plans
Free all plans on the Bound Plans list.
Parent topic: Manage Packages and Plans


Customize SQL Name Mappings - SQL Name tab

DB2 Function/Special Register
The name of a DB2 function or special register from the originating application.
SQL Server Equivalent
The SQL Server equivalent function or special register to which the corresponding DB2 function or special register is migrated.
Is Function
Identifies corresponding DB2 and SQL Server entries as functions.
Is Special Register
Identifies corresponding DB2 and SQL Server entries as special registers.
Restore Defaults
Restores the default setting for each changed entry.
Parent topic: User Interface Reference
Related tasks
To customize SQL name mappings
Related reference
Customizing Functions and Special Registers


Options

HCOSS Connections

Automatically Test Connections
True | HCOSS automatically tests your established database connections and automatically updates their status. Default.
False | You must update the status of each connection using the Refresh button in the Manage Connections tool.
Name of the current/default target data source
The name of the SQL Server connection that you want to set as the default connection. (optional)
Timeout value for each connection
When checking a connection status, the number of seconds HCOSS waits for a returned status before moving on to check the next connection listed on the Connection List tab of the Manage Connections tool. Applies only to the Connection List tab. The default is 5.

HCOSS Directories

Directory to write local HCOSS generated files to
The parent directory to the subdirectory structure used to store local generated HCOSS files. The default is %APPDATA%\Micro Focus\NetExpress\6.0\HCOSS\genFileType.
Where genFileType is one of the following:
  • DBRMDataSets
  • Schemas
Directory to write shared HCOSS generated files to
The parent directory to the subdirectory structure used to store shared generated HCOSS files. The default is %PROGRAMDATA%\Micro Focus\NetExpress\6.0\HCOSS\genFileType.
Where genFileType is one of the following:
  • DBRMDataSets
  • Schemas
Note: All users must have READ/WRITE access to this directory.

Log File Options

Directory to write log files to
The parent directory to the subdirectory structure used to store HCOSS-generated log files. The default is%PROGRAMDATA%\Micro Focus\NetExpress\6.0\HCOSS\genFileType.
Where logFileType is one of the following:
  • BindTasks
  • Connections
Note: HCOSS does not create log files when Type of logging to do is set to Write log messages just to console, which is the default setting.
Type of logging to do
Set HCOSS to send log information to the console, a log file, or both. Default is Write log messages just to console.

Startup

HCOToolStartup
Specify the type of HCO for SQL Server startup environment, whether to start by loading information from the last session or to start with no previous information loaded.Default is Show empty environment.
Parent topic: User Interface Reference
Related concepts
HCOSS Toolset
Related tasks
To start HCO for SQL Server
To set HCOSS options


Fileshare Guide

Fileshare is a client/server system designed to provide more efficient processing of data files that are accessed concurrently, across a network, by a large number of users.

In addition, Fileshare offers features that are not available with the base COBOL file handler including transaction processing and rollforward recovery logging.

  • Introduction
    This chapter gives a brief overview of the facilities provided by Fileshare and also describes how Fileshare works.
  • Standard Operation
    This chapter describes what you need to do at the Fileshare Client and Fileshare Server machines to enable a standard COBOL program to use Fileshare. Once you have read this chapter, you should be able to configure any COBOL program to use Fileshare.
  • Configuring CCI Communications for Fileshare
  • Database Integrity
    This chapter describes all of those Fileshare features which enable you to safeguard the integrity of your database:
  • Security
    Fileshare provides security features which enable you to restrict access to a Fileshare Server.
  • Advanced Operation
    This chapter describes the advanced features that are available with Fileshare.
  • Fileshare on UNIX
    This chapter describes Fileshare on UNIX.
  • Error Handling
    Fileshare error messages are listed in the chapter Fileshare Server Messages .
  • Fileshare Server Messages
    There are three levels of messages that can be produced by the Fileshare Server.


Introduction

  • Overview
  • How Fileshare Works
Parent topic: Fileshare Guide
Related information
Standard Operation
Configuring CCI Communications for Fileshare
Database Integrity
Security
Advanced Operation
Fileshare on UNIX
Error Handling
Fileshare Server Messages


Overview

Fileshare is best suited to applications that share data files, concurrently, between many users, across a network. It supports all of the functionality provided by the base COBOL file handling system and provides several additional features:

  • Reduced network traffic
  • Transaction processing
  • Rollforward recovery logging
  • Logon and file open security checks

The ability of any one application to take advantage of these features depends on:

  • The way the application processes the shared data files
  • The type of data files the application shares
  • The operating system on which the Fileshare Server is running
  • The communications protocol being used between the Fileshare Client and the Fileshare Server

You do not need to make any program source code changes to use the basic Fileshare system. Source code changes are only needed to take advantage of some of the advanced features provided by Fileshare.

Parent topic: Introduction
Related information
How Fileshare Works


How Fileshare Works

Using the base COBOL file handling system, a typical COBOL I/O request to a shared data file causes the file handler to make several accesses to that data file across the network. See Figure 1.

Figure 1. Conventional Network
Conventional Network

With Fileshare, a program that needs to access a data file has its request processed by the File Handling Redirector (FHRedir) module. The FHRedir module sends the request over the network to a Fileshare Server that performs the low-level I/O operations and then passes the result of the I/O operation, including the file status, back to FHRedir. FHRedir returns the result to the program. See Figure 2.

Figure 2. Fileshare Network
Fileshare Network

A Fileshare System is made up of:

Fileshare Clients | A Fileshare Client comprises a user program, making data file I/O requests, via the FHRedir module. FHRedir redirects the I/O requests to a Fileshare Server.
Fileshare Servers | A Fileshare Server runs on the same machine as the data files that you want to access. The Fileshare Server accepts requests across the network from the Fileshare Client, processes them by calling a local copy of the Micro Focus File Handler and then returns the result to the Fileshare Client.
Note:
  • The Fileshare Server and the Fileshare Client can be running on the same physical machine. For example, with a multi-tasking operating system such as Windows, the Fileshare Client can run in one session and the Fileshare Server can run in another session. Using this method, you can develop Fileshare applications on a single PC without actually sending data across a network. You should be aware, however, that performance improvements will not be observed, as no network is being used.
  • You can also run the Fileshare Server in the same session as the Fileshare Client using the single user mode of operation. This enables you to take advantage of advanced Fileshare features, such as transaction processing, without the need for a network or multiple sessions. For more information on the single user mode of operation, see the section Single User Mode in the chapter Advanced Operations.

Since a single Fileshare Server processes all the requests from several Fileshare Clients, it can use a single copy of the Micro Focus File Handler, regardless of how many users are accessing the Fileshare Server. This has several advantages:

  • The Fileshare Server can open the data files exclusively making full use of both its own cache and the operating system's cache
  • The Fileshare Server does not need to obtain semaphores on the data file. Normally semaphores are needed to control concurrent access to shared data files.
  • The Fileshare Server can process record locks internally without the need to make calls to the operating system
Parent topic: Introduction
Related information
Overview
Single User Mode


Standard Operation

  • Fileshare Client
  • Fileshare Server
Parent topic: Fileshare Guide
Related information
Introduction
Configuring CCI Communications for Fileshare
Database Integrity
Security
Advanced Operation
Fileshare on UNIX
Error Handling
Fileshare Server Messages


Fileshare Client

To enable your COBOL program to use Fileshare at the Fileshare Client machine, you need to do two things:

  • Force your program to pass file I/O requests to the File Handling Redirector module (FHR), thus creating a Fileshare Client
  • Configure your Fileshare Client, specifying the name of the Fileshare Server to connect to, and the communications protocol to use when connecting.

You might also need to configure CCI for the communications protocol you have chosen. For more details, please refer to:

  • Your online book Configuring CCI
  • Specifying the Fileshare Server
  • Specifying the Communications Protocol
  • Configuring Your Fileshare Client
  • Using the File Handling Redirector Module
  • FHREDIR Return Codes
Parent topic: Standard Operation
Related information
Fileshare Server


Specifying the Fileshare Server

Each Fileshare Server on the network is identified by a unique name, assigned when the Fileshare Server is started. The Fileshare Client uses this name to specify which Fileshare Server to use.

There are two ways to specify the Fileshare Server name:

  • As part of the filename in your program.

    This requires changes to your code.

  • In a Fileshare Client configuration file.

    This does not require changes to your code.

These methods are listed in the next two topics.

  • As a Filename
  • In a Configuration File
Parent topic: Fileshare Client
Related information
Specifying the Communications Protocol
Configuring Your Fileshare Client
Using the File Handling Redirector Module
FHREDIR Return Codes


As a Filename

Specifying the server as a filename in your program overrides any configuration file settings.

select account-file assign to	"$$server1\c:\accounts\main.dat"

This SELECT statement tells the File Handling Redirector module to direct requests for this data file to the Fileshare Server named server1. The data file is main.dat in the directory accounts on drive c: on the Fileshare Server machine. The File Handling Redirector module passes the characters appearing after the text string $$server1\ to the Fileshare Server as the name of the file.

Parent topic: Specifying the Fileshare Server
Related information
In a Configuration File


In a Configuration File

To specify a default Fileshare Server, use the /s option in the Fileshare Client configuration file. For example:

/s server2

tells the Fileshare Client to use the default Fileshare Server named server2. The File Handling Redirector module redirects all file I/O to this server unless you:

  • Specifically define a file as a local file. See the section Client Configuration in the chapter Configuration for further information.
  • Specify that a file is on a different Fileshare Server, using the Fileshare Client configuration file. See the section Client Configuration in the chapter Configuration for further information
  • Specify a different Fileshare Server as part of the filename in your program (see above)
Note:

  • The Fileshare Client configuration file can contain a maximum of 16 unique Fileshare Server names
  • Filenames appearing in the configuration file are case-sensitive unless defined by the /r option (DYNCONFIG), in which case they are not case sensitive when run in Windows
  • The filename in the configuration file must appear exactly as it will appear to the File Handling Redirector module on the first OPEN request passed by your program
Parent topic: Specifying the Fileshare Server
Related information
As a Filename
Client Configuration


Specifying the Communications Protocol

Fileshare over CCI supports several communications protocols. The protocol you use depends on the operating system the Fileshare Client and Fileshare Server(s) are running on and the type of network you are using. You specify the Fileshare CCI communications protocols in the client's cci.ini file.

The default protocol is TCP/IP (CCITCP).

If you require a communications protocol other than the default, you must specify it in the Fileshare Client configuration file.

To specify an alternative default CCI protocol, use the /cm option. For example:

  • To make the Novell IPX protocol (CCIIPX) the default:
    /cm cciipx
  • To specify that a particular CCI protocol is used when communicating with a specific Fileshare Server, use the /cm and /s options together:
    /cm cciipx /s server1
    This tells the Fileshare Client to use the CCIIPX for communicating with the Fileshare Server named server1.
  • To make the Fileshare Client use the TCP/IP protocol (CCITCP) as the default and CCIIPX for communicating with server1:
    /cm ccitcp
/cm cciipx /s server1
Note: The cci.ini file that ships with Enterprise Sever contains detailed comments that explain the various cci.ini options that you can use to alter the basic CCISMEM configuration. Most of these are rarely required.
Parent topic: Fileshare Client
Parent topic: Configuring CCI Communications for Fileshare
Related information
Specifying the Fileshare Server
Configuring Your Fileshare Client
Using the File Handling Redirector Module
FHREDIR Return Codes
About Fileshare Communications
Using CCITCP
About CICSMEM
Using CCISMEM
Using UNIX named pipes: ccinampu
Logging Fileshare Messsages: CCI Trace
Using Multiple Protocols with Test Programs
Configuring the CCI Timeout


Configuring Your Fileshare Client

The Fileshare Client configuration file is an ordinary text file that you can create using any text editor. By default, it is called fhredir.cfg. The Fileshare Client searches for this file in the current working directory of your application and then along the path specified by the COBDIR environment variable, if one has been set up. Alternatively, you can specify the location of the Fileshare Client configuration file using the FHREDIR environment variable, for example:

set FHREDIR=c:\client.cfg

This example tells the Fileshare Client to use the configuration file client.cfg in the root directory on drive c:.

Configuring the Fileshare Client enables you to specify how you want to treat your data files, that is, as either:

  • Local data files, located on the machine where the Fileshare Client is running. To access local data files, the Fileshare Client uses a local copy of the Micro Focus file handler. This is the default.
  • Remote data files, located on the machine where the Fileshare Server is running. To access remote files, I/O operations are redirected to the appropriate Fileshare Server by the File Handling Redirector module.

In order to redirect I/O operations successfully, the File Handling Redirector module needs to know:

  • Which Fileshare Server to communicate with
  • Which communications protocol to use when contacting the server
  • Fileshare Client Configuration Options
  • Example Client Configuration File
Parent topic: Fileshare Client
Related information
Specifying the Fileshare Server
Specifying the Communications Protocol
Using the File Handling Redirector Module
FHREDIR Return Codes


Fileshare Client Configuration Options

This section describes all of the available Fileshare Client configuration options. These options can appear as many times as necessary within a Fileshare Client configuration file, and in any order, but only one option can be specified per line.

Note:
  • The Fileshare Client configuration file can contain a maximum of 16 unique Fileshare Server names
  • Filenames appearing in the configuration file are case-sensitive unless defined by the /r option (DYNCONFIG), in which case they are not case sensitive when run in Windows
  • The filename in the configuration file must appear exactly as it will appear to FHRedir on the first OPEN request passed by your program
  • The Fileshare Server name is folded to uppercase. Note that it may be necessary to use the name in uppercase in some configuration files to ensure name matching works as expected.
Client Configuration Option Specifying
/bl
 Open a file exclusively to enable blocking, to improve performance.
/cm CCI-Protocol
 The default communications protocol for this Fileshare Client. Valid values for CCI-Protocol are listed in the table below.
/cm CCI-Protocol
/s ServerName
 The communications protocol to use when contacting the Fileshare Server, ServerName. Valid values for CCI-Protocol are listed in the table below.
/ct CCI-Timeout server-name
 The communications timeout period, specified in 1/10th seconds. The default is 1200 (120 seconds). See the section CCI Timeout in the chapter Communications for more information.
/cr CCI-Timeout
 The connection retry timeout period, specified in 1/10th seconds. The default is 0. This timeout is only for the initial connection and only applies if the CCI module returns and is out of memory or resources. The client will reattempt to connect at varying intervals up to the timeout period. However, the default is that the connection is only tried once.
/f Filename
/r Custom-File-Handler
 The data file Filename is a local file and should be actioned by the custom file handler. Repeat this option for eveyr data file you want assigned to a specific custome file handler that is not the default File Handler. Valid values for Filename and Custom-File-Handler are listed in the table below.

This option only applies if the environment variable DYNREDIR is set to DYNCONFIG.

/f Filename
/s ServerName
 The data file Filename is a remote file on the Fileshare Server named server-name. Repeat this option for every data file you want assigned to a specific Fileshare Server that is not the default Fileshare Server. Valid values for Filename and ServerName are listed in the table below.
/f Filename
 Filename is a local data file held on the PC where the Fileshare Client resides. Valid values for Filename are listed in the table below.
/s ServerName
 The ServerName as a default Fileshare Server

Accesses to data files not directed to a particular Fileshare Server or not defined as local data files are directed to the default Fileshare Servers. The order in which the default Fileshare Servers are defined in the Fileshare Client configuration file is the order in which the Fileshare Client contacts each Fileshare Server in an attempt to locate the file.

If the data file is not found on any Fileshare Server, the request for that data file is directed to the first default Fileshare Server listed in the configuration file.

Valid values for options in the Fileshare Client configuration file are:

Option | Valid Values
CCI-Protocol

Windows:

  • TCP IP: /ccitcp
  • CCISMEM: /ccism

UNIX:

  • TCP IP: -ccitcp: ccitcp
  • UNIX named pipes: -ccinampu
ServerName | Any character string up to 16 characters long depending on the CCI protocol you are using. The Fileshare Client configuration file can contain a maximum of 16 unique Fileshare Server names.
Filename Any valid filename that is supported by the operating system. Filenames cannot contain embedded space characters. You can use terminating wildcard characters in Filename to designate groups of files. For example, use
/f \accounts\*

to specify all files starting with the string "\accounts\".

Parent topic: Configuring Your Fileshare Client
Related information
Example Client Configuration File


Example Client Configuration File

This example shows a typical Fileshare Client configuration file.

/s server1
/s server2
/cm cciipx
/f \orders\* /s server3
/cm ccitcp /s server3
/f \accounts\payroll.dat
/f \transport\delivery\*
/f \returns\* /r module1!userfh1

where:

Line 1:
/s server1

Specifies that server1 is one of the default Fileshare Servers.

This Fileshare Server is searched for any file that is not defined as being on a particular Fileshare Server (see Line 4) or as local (see Lines 6 and 7). If you specify more than one default Fileshare Server (see Line 2), the Fileshare Servers are searched in the order that you have defined them in the configuration file. In this example, server1 is searched before server2.
Line 2:
/s server2

Specifies that server2 is also a default Fileshare Server. If you access a file that you have not defined to be on a particular Fileshare Server (see Line 4) or as local (see Lines 6 and 7), this Fileshare Server is searched after the Fileshare Server server1.

Line 3:
/cm cciipx

Specifies that the default communications protocol is CCIIPX. When the Fileshare Client tries to contact a Fileshare Server that does not have a specific CCI protocol defined (see Lines 1 and 2), this is the one used.

Line 4:
/f \orders\* /s server3

Specifies that FHRedir should direct all accesses to files with a name beginning with the string \orders\ to the Fileshare Server named server3.

Line 5:
/cm ccitcp /s server3

Specifies that the communications protocol to use when communicating with the Fileshare Server, server3 is ccitcp. This overrides any default CCI protocol specified in the Fileshare Client configuration file (see Line 3).

Line 6:
/f \accounts\payroll.dat

Specifies that the file \accounts\payroll.dat is a local file on the Fileshare Client machine. The Fileshare Client accesses this file using a local copy of the Callable File Handler.

Line 7:
/f \transport\delivery\*

Specifies that any files with a filename beginning with the string \transport\delivery\ are local files.
Line 8:
/f \returns\* /r module1!userfh1

Specifies that the customer file handler userfh1 in module1 should be used for all accesses to files with a name beginning with the string "\returns\".

Note that module1 specifies the library containing a custom file handler and that usedrfh1 is the name of the custom file's entry point.

This option only applies if the environment variable DYNREDIR is set to DYNCONFIG.
Parent topic: Configuring Your Fileshare Client
Related information
Fileshare Client Configuration Options


Using the File Handling Redirector Module

There are three ways of forcing your program to pass file I/O requests to the File Handling Redirector module:

  • If your program uses COBOL I/O syntax, you must compile it with the CALLFH"FHREDIR" Compiler directive so that the File Handling Redirector module processes any I/O requests that your program makes.
  • If your program uses the Micro Focus file handler API, you need to change the program so that it calls "FHREDIR" and not "EXTFH". (The call interface to the File Handling Redirector module is exactly the same as the call interface to the Callable File Handler (ExtFH).)

    For example:

    call "FHREDIR" using operation-code, fcd
  • Set the File Handler configuration option FHREDIR=ON.
    Note:

    Take care with this option. If it is in effect when Fileshare itself is running, Fileshare will attempt to redirect file I/O requests to itself, and this will cause a timeout failure.

When you have performed any of these actions, you have created a Fileshare Client but your program works in exactly the same way as it did before because the File Handling Redirector module simply forwards I/O requests to a local copy of the Micro Focus File Handler.

Parent topic: Fileshare Client
Related information
Specifying the Fileshare Server
Specifying the Communications Protocol
Configuring Your Fileshare Client
FHREDIR Return Codes


FHREDIR Return Codes

Each call to FHREDIR returns a status code in fcd-file-status in the FCD. Most codes returned are the usual file handling codes. The following codes specific to Fileshare might also be returned:

Code | Meaning
-128 | Fileshare Security is enabled and the user name specified by the caller is not found in the password file on the server.
-127 | The named file is not currently open by the fileshare server. This does not mean that the file does not exist on the disk.
-126 | Fileshare Security is enabled and the password given is incorrect.
-125 | The requested data is larger than the buffer provided to contain it. Increase the size of your buffer.
Parent topic: Fileshare Client
Related information
Specifying the Fileshare Server
Specifying the Communications Protocol
Configuring Your Fileshare Client
Using the File Handling Redirector Module


Fileshare Server

Before a Fileshare Server is invoked, you need to configure the Fileshare Server to specify:

  • The Fileshare Server name to use on the network
  • The communications protocols that it can use
  • Configuring the Fileshare Server
  • Starting the Fileshare Server
  • Stopping the Fileshare Server
Parent topic: Standard Operation
Related information
Fileshare Client


Configuring the Fileshare Server

You can specify these Fileshare Server configuration options in one of two ways:

  • On the command line (separated by spaces)
  • In a Fileshare Server configuration file (a text file which you can create using any text editor).

    The Fileshare Server identifies the configuration file to use by checking the FS environment variable:

    • If set, the Fileshare Server uses the configuration file specified by this variable
    • If not set, the Fileshare Server uses the default configuration file fs.cfg either in the current working directory of the Fileshare Server or on the path specified by the COBDIR environment variable
  • Specifying a Fileshare Server Name
  • Specifying the Communications Protocol
  • Fileshare Server Configuration Options
Parent topic: Fileshare Server
Related information
Starting the Fileshare Server
Stopping the Fileshare Server


Specifying a Fileshare Server Name

Each Fileshare Server is identified on the network by a unique name. This name is specified using the /s option, for example, the command line:

fs /s server1

registers the name of the Fileshare Server as server1.

Note:

The Fileshare Server cannot be initialized unless it registers a name on the network. The server-name can be up to 16 characters in length, depending on the CCI protocol you are using.

Parent topic: Configuring the Fileshare Server
Related information
Specifying the Communications Protocol
Fileshare Server Configuration Options


Specifying the Communications Protocol

By default the Fileshare Server uses CCITCP to communicate with Fileshare Clients using the TCP/IP protocol. You need to specify any other protocol you want Fileshare to use by specifying the /cm option, for example:

/cm cciipx

This entry in the Fileshare Server configuration file enables the Fileshare Server to communicate with Fileshare Clients using the Novell IPX (CCIIPX) protocol.

Parent topic: Configuring the Fileshare Server
Related information
Specifying a Fileshare Server Name
Fileshare Server Configuration Options


Fileshare Server Configuration Options

This section describes all of the available Fileshare Server configuration options. The /s option that defines the server-name is compulsory. All other options are optional or have default values that are specified below.

Note:
  • UNIX: Filenames are shown using the Windows naming convention. On UNIX, use the UNIX file-naming conventions.
Server Configuration Options Specifying
/s server-name
 The name that the Fileshare Server registers on the network. This must be a character string up to 16 characters in length, depending on the CCI protocol that you are using. The name specified must be unique. If a Fileshare Server with the same name is already registered on the network, an error is returned.
/d database-reference-file
 The name of the database reference file that the Fileshare Server is to use. The database reference file is used to determine which additional Fileshare features you want to use.
/t timeout-period
 Setting the record lock timeout period after which the Fileshare Server releases all record locks held by a Fileshare Client and rolls back any outstanding transactions. The timeout period is specified in seconds. The default value is 60 seconds. Specifying a value of zero disables the timeout and record locks are only released under the control of your application program. Valid values are 0 thru 99999. The timeout only occurs if one Fileshare Client requests a record currently locked by another Fileshare Client.

Setting a value of zero in conjunction with setting the environment variable ES_RLS_FILE_SUPPORT=Y ensures that no information is returned to the record area following a READ operation on a locked record.

/m record-size
 The maximum record size that can be processed by the Fileshare Server. Setting a value lower than the default value reduces the amount of memory that the Fileshare Server needs to run. The record size is specified in kilobytes. Valid values are 16 thru 64. If you specify a value less than 16, the Fileshare Server uses a buffer size of 16K. If you specify a value greater than 64, the Fileshare Server uses a buffer size of 64K.
/cm cci-protocol
 The CCI protocols that the Fileshare Server can use. Repeat this option for every communications protocol that you want to use to contact this Fileshare Server. Valid values for cci-protocol are:

ccinetb ccitcp cciipx

/pf password-file
 The name of the password file that the Fileshare Server uses.
/tr f
 Activating the Fileshare Server trace option on start-up. Trace messages are written to the screen and to a file called fsscreen.lst in the Fileshare Server's current directory. This option seriously impacts the Fileshare Server's performance, so you should only use it for problem investigation.
/sc
 Use this to get the best performance. Switching Fileshare into synchronous communications mode. This means that when there is nothing for Fileshare to process, it goes into a wait state until interrupted by a message from the communications layer. You need to use a password file, and provide a password for fsview so that you can shut down Fileshare remotely. You can shut it down from the screen, but you might need to wait up to two minutes before it responds to the screen action.
/ev event-emit
Indicates the types of error messages that are written to fsscreen.lst in order to cause events if you have Fileshare tracing enabled.
event-emit is any combination of IEWS, where
  • I = information
  • E = error
  • W = warning
  • S = severe
/pt time
 Writes to fsscreen.lst details of processes that take longer than the time specified to complete. Time can be specified in 10ths of a second.
  • Example Server Configuration File
Parent topic: Configuring the Fileshare Server
Related information
Specifying a Fileshare Server Name
Specifying the Communications Protocol
Database Reference File Maintenance
Automatic Record Lock Timeout
Security
Monitoring Fileshare
Fileshare on UNIX


Example Server Configuration File

This example shows a typical Fileshare Server configuration file.

/s mainsrv
/cm cciipx
/d dbase1.ref
/t 120
/pf \pass\passwd.fil

where:

Line 1:
/s mainsrv

Specifies that the Fileshare Server is to register its name on the network as mainsrv. Fileshare Clients must specify this name when they want to contact this Fileshare Server.

Line 2:
/cm cciipx

Specifies that cciipx is one of the communications protocols that a Fileshare Client can use to contact this Fileshare Server.

Line 3:
/d dbase1.ref

Specifies that the database reference file the Fileshare Server is to use is named dbase1.ref.

Line 4:
/t 120

Specifies that the automatic record lock timeout period is 120 seconds.

Line 5:
/pf \pass\passwd.fil

Specifies that the Fileshare Password Security feature is enabled and that the password file is \pass\passwd.fil containing valid user-IDs and passwords.

Parent topic: Fileshare Server Configuration Options


Starting the Fileshare Server

You must start the Fileshare Server running before Fileshare Clients can connect to it.

To start the Fileshare Server use the following command line:

fs
Parent topic: Fileshare Server
Related information
Configuring the Fileshare Server
Stopping the Fileshare Server


Stopping the Fileshare Server

Once started, a Fileshare Server runs as an active process until you explicitly stop it. You must stop the Fileshare Server when you no longer need it. To do this, press the Escape key. Fileshare displays:

FS097-I Are you sure that you wish to close down the Fileshare Server?

Enter Y to confirm that you want Fileshare to terminate. Any other entry causes the Fileshare Server to continue running.

If any data files are still open, the following warning is displayed:

FS111-I Warning - files are still open
        Continue to close down the Fileshare Server (Y/N) ?

Enter Y to confirm that you want Fileshare to terminate. Fileshare automatically closes all data files and rolls back any outstanding transactions. Any other entry causes the Fileshare Server to continue running. This warning indicates one of the following:

  • Fileshare Clients are still active, with open data files
  • A user program terminated abnormally without closing the data files it had open

If you are using the CCITCP protocol and the Fileshare Server terminates abnormally, you can restart the Fileshare Server using the same server-name. However, Fileshare displays the warning message:

FS153-I The Fileshare Server name has been reregistered on the network.
Parent topic: Fileshare Server
Related information
Configuring the Fileshare Server
Starting the Fileshare Server


Configuring CCI Communications for Fileshare

This section describe how to configure the communications between Fileshare Client(s) and Fileshare Server(s). Fileshare clients and servers communicate using the Common Communications Interface (CCI).

  • About Fileshare Communications
  • Specifying the Communications Protocol
  • Using CCITCP
  • About CICSMEM
  • Using CCISMEM
  • Using UNIX named pipes: ccinampu
  • Logging Fileshare Messsages: CCI Trace
  • Using Multiple Protocols with Test Programs
  • Configuring the CCI Timeout
Parent topic: Fileshare Guide
Related information
Introduction
Standard Operation
Database Integrity
Security
Advanced Operation
Fileshare on UNIX
Error Handling
Fileshare Server Messages


About Fileshare Communications

A Fileshare Server communicates with a Fileshare Client using the Common Communications Interface (CCI). A Fileshare Server can use several communication protocols concurrently, enabling it to communicate with a number of Fileshare Clients that do not all use the same protocol.

When you invoke a Fileshare Server, you need to specify the communications protocols it supports, using the /cm option in the Fileshare configuration file. Valid values for /cm are:

Windows platform:

  • TCP IP

    Setting: /ccitcp

  • CCISMEM

    Setting: /ccism

UNIX platform:

  • TCP IP

    Setting: -ccitcp

  • UNIX named pipes (FIFO pipes)

    -ccinampu

Parent topic: Configuring CCI Communications for Fileshare
Related information
Specifying the Communications Protocol
Using CCITCP
About CICSMEM
Using CCISMEM
Using UNIX named pipes: ccinampu
Logging Fileshare Messsages: CCI Trace
Using Multiple Protocols with Test Programs
Configuring the CCI Timeout


Using CCITCP

Fileshare defaults to the TCP/IP (CCITCP) protocol. When using CCITCP, you can use either CCITCP Direct or the following process:

  • Both the Fileshare Client and the Fileshare Server must have access to a registration process. Depending upon the product that has been installed there are two versions of the registration server called ccitcp2 or mfds the Micro Focus Directory Server.
  • The registration process helps the Fileshare Client to locate the Fileshare Server.
  • The registration process can be running on any machine that the Fileshare Client and Fileshare Server can contact. It does not have to be running on the same machine as either Fileshare Server or Fileshare Client.
  • You must set the environment variable CCITCP2 to the host name of the machine where the ccitcp2 process is running.

    If you do not set the environment variable, CCITCP assumes that ccitcp2 is running on the local machine. The Fileshare Client and the Fileshare Server must register with the same ccitcp2 process in order to communicate with each other.

    For example, consider the situation where the Fileshare Server and the Fileshare Client are running on different machines and the ccitcp2 process is running on the same machine as the Fileshare Server. The environment variable CCITCP2 does not have to be set on the machine running the Fileshare Server. However, it must be set (on the machine running the Fileshare Client) to the TCP/IP host name of the machine where the Fileshare Server (and the ccitcp2 process) is running.

  • By default both ccitcp2 and mfds will start on TCP (mfds only) and UDP port 86. Both registration processes may be started on different ports. If this has been done then you must set the environment variable CCITCP2_PORT to the decimal number of the port that is being used for the registration process.

    For example, consider the situation where mfds has been started with CCITCP2_PORT set to 2023, or using the -p 2023 option. You must set CCITCP2_PORT to 2023 on both the Fileshare Client and the Fileshare Server.

Many configuration options exist for CCITCP, details of these can be found in the comments within the CCI.INI configuration file.

Parent topic: Configuring CCI Communications for Fileshare
Related information
About Fileshare Communications
Specifying the Communications Protocol
About CICSMEM
Using CCISMEM
Using UNIX named pipes: ccinampu
Logging Fileshare Messsages: CCI Trace
Using Multiple Protocols with Test Programs
Configuring the CCI Timeout
Configuring CCI


About CICSMEM

CCISMEM () uses a Named Shared Memory communications method to transfer date between two processes on the same Windows system. Both the client and the server application must reside on the same Windows system.

These shared memory transfers are typically about as fast as its possible to transfer data buffers between processes. Individual data transfers that fit within the shared memory segment are typically several context switches faster than using TCP/IP in loopback mode to move the same data. As buffer sizes grow the difference becomes less noticeable, but is still present. By default, shared memory segments are 8K in size, but this is easily configurable using the cci.ini configuration file options.

To also use clients are located on other systems, you must configure Fileshare Server to use CCITCP as well as CCISM. To do this, in cci.in set the following configuration options:

-cm ccitcp -cm ccism

Using two protocols within a single Fileshare Server prevents Fileshare Server being used in synchronous mode. This is the only functionality that is lost with this configuration.

From a client perspective, the default CCITCP functionality doesn't require much FHREDIR.CFG configuration. When using CCISMEM you will need to use the following client options:

/CM ccism

Note: when using CCISMEM the /MA parameter should not normally be used as it has a different meaning in the context of Named Shared Memory. The /MA option is equivalent to using the mem_files_location option in CCI.INI.

Parent topic: Configuring CCI Communications for Fileshare
Related information
About Fileshare Communications
Specifying the Communications Protocol
Using CCITCP
Using CCISMEM
Using UNIX named pipes: ccinampu
Logging Fileshare Messsages: CCI Trace
Using Multiple Protocols with Test Programs
Configuring the CCI Timeout


Using CCISMEM

Fileshare defaults to using the TCP/IP (CCITCP) protocol. If you are running both the Fileshare Server and the Fileshare Client on the same Windows system you can use an alternative connection method that utilises shared memory.

Shared Memory transfers are usually faster than using TCP/IP between two processes.

To configure Fileshare Server to use CCISMEM you must use the following option:

fs -cm ccism

Provided that you do not intend to run Fileshare server in synchronous mode you can combined multiple communications methods as follows:

fs -cm ccism –cm ccitcp

To configure Fileshare Client to use CCISMEM you must use the following line in FHREDIR.CFG:

/CM ccism

Note: When using CCISMEM the /MA parameter in FHREDIR.CFG has no effect.

Many configuration options exist for CCISMEM, details of these can be found in the comments within the CCI.INI configuration file.

Parent topic: Configuring CCI Communications for Fileshare
Related information
About Fileshare Communications
Specifying the Communications Protocol
Using CCITCP
About CICSMEM
Using UNIX named pipes: ccinampu
Logging Fileshare Messsages: CCI Trace
Using Multiple Protocols with Test Programs
Configuring the CCI Timeout


Using UNIX named pipes: ccinampu

Using UNIX named pipes (FIFO pipes)

Parent topic: Configuring CCI Communications for Fileshare
Related information
About Fileshare Communications
Specifying the Communications Protocol
Using CCITCP
About CICSMEM
Using CCISMEM
Logging Fileshare Messsages: CCI Trace
Using Multiple Protocols with Test Programs
Configuring the CCI Timeout


Logging Fileshare Messsages: CCI Trace

CCI Trace enables all the messages sent by CCI to be logged to a file. This can help in tracking down and debugging problems related to communications. To activate CCI Trace, add the following to the Fileshare Server configuration file:

/tr cci

To prevent unauthorized access to the CCI Trace information, you are prompted for the supervisor password when you invoke a Fileshare Server with CCI Trace enabled. If the password is accepted, CCI Trace is enabled and a second prompt asks if CCI Trace should be activated immediately or not.

Note:
  • The supervisor password is that specified for the user-ID FSVIEW in the password file, so you must specify the appropriate password file when you start the Fileshare Server.
  • CCI Trace can be toggled on and off using the F3 key.
  • The CCI trace options are specified via the CCITRACE environment variable.
Parent topic: Configuring CCI Communications for Fileshare
Related information
About Fileshare Communications
Specifying the Communications Protocol
Using CCITCP
About CICSMEM
Using CCISMEM
Using UNIX named pipes: ccinampu
Using Multiple Protocols with Test Programs
Configuring the CCI Timeout


Using Multiple Protocols with Test Programs

Switching between CCITCP protocol and CCISMEM protocol can affect test program timings.

Access to the driver levels usually results in the context switching out of the sending process quite soon after the send attempt has begun. Typically the peer process uses the CPU before the context switches back to the original process.

As a result, with CCITCP, more processing time is required at the driver level than with CCISMEM which has no driver application to call. When CCITCP moves to the drivers to execute the extra data moves, the context is switched out the parent process. On the other hand, using CCISMEM with the same send operation, no context switch occurs. The CCI caller manages when to switch to its peers.

When the configuration is set to async mode (the default) File Share polls CCI to determine if data is present to read. As a result, much more time in CPU processing is spent at the user level, waiting for the next buffer to process. The application and File Share do not context switch to the conversation peer until the end of a full time-slice. That is, the CPU cannot process the next chunk of data and to respond to the original sender until the end of a full time-slice.

This can often cause quite dramatic effects on heavily loaded single CPU systems, or dual/quad core systems, when using test application created with polling loops that have scrolling screen displays.

Highlighting windows and de-selecting them alters the time spent in clients and servers because it changes their system priorities and hence the amount of time that is spent polling around not yielding to let partner processes do their work.

In these cases the fastest route is always to not high-light either client or server, then they both get the same amount of CPU with the smallest time slice. Its a case of the processes running with too much CPU not too little.

The fastest design is of course to not loop at all, then you'll be in the right place to receive the in-bound data when it arrives, and to respond quickly without wasting any CPU cycles in redundant polling.

File share can be configured to avoid the polling loop.

Parent topic: Configuring CCI Communications for Fileshare
Related information
About Fileshare Communications
Specifying the Communications Protocol
Using CCITCP
About CICSMEM
Using CCISMEM
Using UNIX named pipes: ccinampu
Logging Fileshare Messsages: CCI Trace
Configuring the CCI Timeout


Configuring the CCI Timeout

By default, CCI waits 120 seconds for a network request to complete before it times it out and returns an error. If a network request has not completed in a period much shorter than this, it can usually be assumed that it is unnecessary to wait any longer. For example, if a Fileshare Server with the correct server-name is not active when a Fileshare Client attempts its first open, the application appears to hang for 120 seconds before a 9/124 status is returned because the server cannot be contacted. See the section Communications Errors in the chapter Error Handling for more details.

You can configure the Fileshare Client to use a shorter timeout period by using the /ct option in the client configuration file, fhredir.cfg. The timeout period is specified in 1/10th seconds.

For example:

/ct 300

This instructs the Fileshare Client to specify that CCI waits for 30 seconds for network requests to complete. After this time it returns a 9/124 status to the application program.

Parent topic: Configuring CCI Communications for Fileshare
Related information
About Fileshare Communications
Specifying the Communications Protocol
Using CCITCP
About CICSMEM
Using CCISMEM
Using UNIX named pipes: ccinampu
Logging Fileshare Messsages: CCI Trace
Using Multiple Protocols with Test Programs


Database Integrity

  • Transaction processing
  • Rollforward recovery
  • Database sequence numbering
  • Automatic database backup
  • Database reference file maintenance
  • Transaction Processing
  • Rollforward Recovery Logging
  • Rollforward Recovery Utility
  • Database Sequence Numbering
  • Automatic Database Backup and Rollforward Recovery
  • Database Reference File Maintenance
Parent topic: Fileshare Guide
Related information
Introduction
Standard Operation
Configuring CCI Communications for Fileshare
Security
Advanced Operation
Fileshare on UNIX
Error Handling
Fileshare Server Messages


Transaction Processing

Transaction processing enables you to group a set of data file updates together into one logical unit of work, known as a transaction. The changes you make as part of a transaction can be:

  • Permanently reflected in the data files by committing the work
  • Removed from the data files by rolling back the work. When a transaction is rolled back, the Fileshare Server returns the data files to the state they were in before the transaction started.

A transaction can include multiple updates to multiple data files on multiple Fileshare Servers.

A transaction starts when your program performs the first update operation (WRITE, REWRITE or DELETE) on a file which has the WITH ROLLBACK clause defined in its SELECT statement after:

  • The file is opened
  • A COMMIT or ROLLBACK statement is executed

A transaction terminates when:

  • A COMMIT verb is executed
  • A ROLLBACK verb is executed
  • The transaction is timed out. See the section Automatic Record Lock Timeout for further information.
Notes:

  • The COMMIT and ROLLBACK verbs release all the record locks held by a program on every data file. This does not depend on whether or not you specified the WITH ROLLBACK clause for a particular file.
  • The time taken to process a COMMIT or ROLLBACK operation is directly proportional to the number of updates performed in that transaction.
  • If you try to CLOSE a file that is participating in an active transaction, a 9/100 error status is returned and the file remains open. A COMMIT or ROLLBACK needs to be issued before the CLOSE can be executed.
  • When you use the WITH ROLLBACK clause, multiple record locking is implicitly defined on the file.

Before using transaction processing you are strongly advised to do the following to ensure the highest level of integrity for your data:

  • Include any file on which transaction processing is to be performed in the database reference file of the Fileshare Server that services the I/O requests for that file. See the section Database Reference File Maintenance for further information.
  • Specify a rollforward recovery log file in the database reference file. See the section Rollforward Recovery Logging for further information.

Record locks are implicitly obtained on every record that is updated in a transaction. If a transaction is temporarily suspended, for example, if your program requests input and the user is not responding, record locks can remain in the file for a considerable length of time. If another Fileshare Client tries to access the locked records, and a specified length of time has passed, the Fileshare Server aborts (rolls back) the transaction. When this happens, the transaction is said to be timed out by the Fileshare Server. See the section Automatic Record Lock Timeout for further information.

Note:

By keeping the number of updates performed in a transaction to a minimum, the number of record locks obtained is also kept to a minimum. This reduces the number of record locking conflicts between Fileshare Clients sharing the data, and increases the speed of any subsequent COMMIT or ROLLBACK operations.

  • Automatic Record Lock Timeout
  • Transaction Processing - Fileshare Client
  • Transaction Processing - Fileshare Server
Parent topic: Database Integrity
Related information
Rollforward Recovery Logging
Rollforward Recovery Utility
Database Sequence Numbering
Automatic Database Backup and Rollforward Recovery
Database Reference File Maintenance
Automatic Record Lock Timeout
Database Reference File Maintenance
Rollforward Recovery Logging


Automatic Record Lock Timeout

In a multi-user environment where files are being shared, programs use record locks to control concurrent access to individual records. In addition, Fileshare automatically obtains a record lock on any record that it updates within a transaction. The larger the number of record locks being held, however, the less concurrent access to data is possible. It is beneficial, therefore, for any one program to keep the number of record locks that it holds at any one time to a minimum.

If a Fileshare Client obtains a lock on a record (either explicitly or because it updated the record within a transaction) and a second Fileshare Client tries to read the locked record, the Fileshare Server checks to see how long it is since the Fileshare Client holding the record lock last contacted the Fileshare Server. If this period is:

  • Greater than the timeout period, the Fileshare Server:
    • Automatically rolls back any pending transaction being carried out by the first Fileshare Client
    • Releases all the record locks held by the first Fileshare Client
    • Returns error 9/068 "record locked" to the Client trying to read the record. Retrying the operation succeeds in gaining access to the record because the lock has now been released.
  • Less than the timeout period, the Fileshare Server returns error 9/068 "record locked" to the Fileshare Client trying to read the record

The default timeout period is 60 seconds. You can change this value using the /t option in the Fileshare Server configuration file. Specifying a value of zero disables the automatic record lock timeout such that record locks are only released under application program control.

A program that is timed out receives error 9/125 on its next I/O operation. You should treat this as a warning message and repeat the operation on which the error was returned. The Fileshare Server rolls back any active transaction and releases all the record locks held by the program that timed out.

Parent topic: Transaction Processing
Related information
Transaction Processing - Fileshare Client
Transaction Processing - Fileshare Server


Transaction Processing - Fileshare Client

For each data file on which you want transaction processing active, use the WITH ROLLBACK clause when you define the data file using the SELECT statement in your COBOL program.

For example:

select test-file assign to "test.dat"
   organization indexed
   record key prime-key
   lock mode manual with rollback
   ...

This sample code specifies that transaction processing is active on the file test.dat.

In your program, use the COMMIT verb to make the updates in a transaction permanent. Use the ROLLBACK verb to remove the updates in a transaction from the data files.

The COMMIT and ROLLBACK verbs work on all data files involved in a transaction. This means that you cannot check the status of the COMMIT or ROLLBACK operation using the file status of any one data file. Instead, you must call the File Handling Redirector module to check the status of the COMMIT or ROLLBACK. The entry point to call in the the File Handling Redirector module module is fs_status. The format of the call is:

call "fs_status" returning t-status
end-call

where t-status is defined as:

01 t-status  pic x(2) comp-x.

A non-zero value returned in t-status indicates that the COMMIT or ROLLBACK operation failed.

For example:

1   SELECT test-file ASSIGN TO "test.dat"
2      LOCK MODE MANUAL WITH ROLLBACK
3   ...
4   OPEN I-O test-file
5   ...
6   move 1 to prime-key
7   WRITE test-file-record
8   ...
9   COMMIT
10   call "fs_status"
11      returning t-status
12   end-call
13   if t-status < > 0
14      display "Warning - Commit operation failed"
15   end-if
16   move 2 to prime-key
17   WRITE test-file-record
18   ...
19   ROLLBACK
20   call "fs_status"
21      returning t-status
22   end-call
23   if t-status < > 0
24      display "Warning - Rollback operation failed"
25   end-if
26   WRITE test-file-record
27   ...

where:

Lines 1 - 2:
SELECT test-file ASSIGN TO "test.dat"
   LOCK MODE MANUAL WITH ROLLBACK

Specifies transaction processing for this data file.
Line 7:
WRITE test-file-record

Starts a new transaction.
Line 9:
COMMIT

Makes the updates to test-file permanent and terminates the transaction.
Lines 10 - 15:
call "fs_status"
   returning t-status
end-call
if t-status < > 0
   display "Warning - Commit operation failed"
end-if

Checks the status of the COMMIT operation.
Line 17:
WRITE test-file-record

Starts a new transaction.
Line 19:
ROLLBACK

Removes the updates made to test-file and terminates the transaction.
Lines 20 - 25:
call "fs_status"
   returning t-status
end-call
if t-status < > 0
   display "Warning - Rollback operation failed"
end-if

Checks the status of the ROLLBACK operation.
Line 26:
WRITE test-file-record

Starts a new transaction.

You do not need to change the configuration of the Fileshare Client to enable transaction processing.

Parent topic: Transaction Processing
Related information
Automatic Record Lock Timeout
Transaction Processing - Fileshare Server


Transaction Processing - Fileshare Server

You do not need to change the configuration of the Fileshare Server to enable transaction processing. However, if you recover a data file using the Rollforward Recovery Utility, any outstanding transactions at the end of the recovery process are implicitly rolled back. See the section Rollforward Recovery Utility for further information.

Parent topic: Transaction Processing
Related information
Automatic Record Lock Timeout
Transaction Processing - Fileshare Client
Rollforward Recovery Utility


Rollforward Recovery Logging

A system failure can result in loss of data in either of the following circumstances:

  • The Fileshare Server's cache or operating system's cache is not written to disk
  • The system failed while updating a file. In this case, the integrity of the files cannot be guaranteed

Rollforward recovery logging is the method used by Fileshare to store all the updates made to your data files in one or more log files. If your system fails, resulting in loss of data, the Rollforward Recovery Utility together with the log file(s) can be used to re-apply the updates to a back-up copy of the original data files. When the recovery is complete, the files contain the data they contained at the time of the system failure (with any outstanding transactions rolled back).

You do not need to make any changes to the Fileshare Client in order to use rollforward recovery logging.

  • Rollforward Recovery Logging - Fileshare Server
Parent topic: Database Integrity
Related information
Transaction Processing
Rollforward Recovery Utility
Database Sequence Numbering
Automatic Database Backup and Rollforward Recovery
Database Reference File Maintenance


Rollforward Recovery Logging - Fileshare Server

To log updates to one or more files you need to create a database reference file containing the name of the file(s) for which updates are to be logged, and the name of the log file. See the section Database Reference File Maintenance below for details on creating database reference files.

You do not need to include an extension when you specify the log file name as this is generated automatically by the Fileshare Server. If you do specify an extension, the following message is displayed:

FS180-W The log filename specified has an extension. The name of the
log file has been changed to "filename".

During the logging process the Fileshare Server creates one or more recovery log files. The first recovery log file is called a starter log file, and subsequent log files are called continuation log files. The Fileshare Server creates a continuation log file whenever the current log file is backed up.

The current recovery log file always has an extension beginning with the character "L". A recovery log file that has been backed up has an extension beginning with the character "B". Following either of these letters is a two digit number indicating the recovery log file number, starting at 01. These automatically generated extensions indicate the order in which the log files were written, and hence the order in which they should be applied if a rollforward recovery is performed. For example, suppose you specify a log file called recover. When the Fileshare Server starts up it creates a log file called recover.L01 and logs updates in this file. If the recovery log file is backed up, the Fileshare Server renames the current log file recover.B01 and creates a new one called recover.L02. If the Fileshare Server is shut down, there would be two recovery log files: recover.B01 is called the starter log file and recover.L02 is a continuation log file. There is only ever one starter log file, but there can be any number of continuation log files.

When performing a recovery operation, the Rollforward Recovery Utility processes the starter log file first and then the continuation log files in the order in which they were created.

Updates to data files with entries in the database reference file are logged unless you explicitly turn logging off:

  • To add a data file entry to the database reference file, use the /f option of the Database Reference File Maintenance Utility
  • To turn logging off for a particular data file, use the "/o l" (omit logging) option when you add the filename entry to the database reference file

Because of the caching used by some operating systems, not all of the information written to the log file is physically written to disk. The Fileshare Server periodically calls the operating system to force the log file updates to be written. By default, the log file is flushed after every 100 records are written to the log file. You can configure this interval using the /lc (log count) option when you add the log file name to the database reference file. If you specify a log count of zero, the Fileshare Server does not make any calls to the operating system to flush the updates to disk. Instead, the operating system controls the flushing of the log file to disk.

The log file updates are also flushed to disk after every COMMIT operation.

If a transaction was pending at the time of a system failure, the Rollforward Recovery Utility implicitly rolls back the transaction when the files are recovered.

Rollforward recovery logging can severely affect performance. You can use the "/o l" option in the database reference file to switch logging off for those files for which this feature is not essential. Alternatively, you can omit entries for these files from the database reference file altogether.

The recommended method of using recovery logging is:

  1. Each time you want to take a backup of your data files (preferably every day), shut down the Fileshare Server. The Rollforward Recovery Log file(s) contains information about every update made to your database files since the Fileshare Server was started.
  2. Now take a backup of your data files. Once you have backed up your data files, the log file(s) is obsolete (because you only need to log the updates since your last backup) and can be deleted.
  3. Restart the Fileshare Server. It creates a new log file, and any further updates to the files in the database are logged in this new file. In the event of data loss due to a system failure, you can restore your latest database backup and re-apply the updates recorded in the log file(s) using the Rollforward Recovery Utility.
Note:

You can have the Fileshare Server automatically perform this sequence of operations for you by specifying a backup directory in the database reference file. See the section Automatic Database Backup and Rollforward Recovery.

If you have a large number of updates being logged, the log file can grow very large. If the disk where the log file resides were to become full, the ability to write records to the log file could be lost. This would result in an incomplete log file forcing the Fileshare Server to close down. A warning is displayed when the amount of free disk space for the log file drops below a certain percentage of the total disk. You can configure this percentage using the /p database reference file option. When you see this warning, close down the Fileshare Server and take a new backup of your data files. This enables you to discard the log file and continue with a new one when the Fileshare Server is restarted.

If you ignore the warning message and the log file continues to grow larger, the Fileshare Server suspends operation when the free disk space available for the log file drops below 200,000 bytes. It displays error message FS030 and waits for the old log file to be backed-up remotely or removed manually before continuing with a new log file.

Parent topic: Rollforward Recovery Logging
Related information
Database Reference File Maintenance
Automatic Database Backup and Rollforward Recovery


Rollforward Recovery Utility

The Rollforward Recovery Utility enables you to recover updates to data files after a system failure.

Note:

The Rollforward Recovery Utility can only be used to recover a database if the updates were logged to a recovery log file. See the section Rollforward Recovery Logging for further details.

Before attempting the rollforward recovery process:

  • All of the recovery log files created while the Fileshare Server was active should be in the recovery log file directory (or the log file backup directory if one is specified in the database reference file)
  • The original data files (the back-up versions taken before the Fileshare Server was started) should be restored to their correct directories

Use the /r (recover) option to invoke the Rollforward Recovery Utility. You must specify a database reference file when invoking the Rollforward Recovery Utility, for example:

fs /r dbase.ref [options]

Here dbase.ref is the name of the database reference file used by the Rollforward Recovery Utility. This must be the same as the database reference file used by the Fileshare Server while it was running. The Rollforward Recovery Utility reads the database reference file to determine the location and name of the rollforward recovery log file(s) and the name(s) of the data file(s) to recover.

Note:

You can select the data files you want to restore by erasing other entries from the database reference file using the Database Reference File Maintenance Utility (/e option) before invoking the Rollforward Recovery Utility.

You can use the Rollforward Recovery Utility to specify the following options:

  • /dt date-time

    Specifies that the Rollforward Recovery Utility restores the updates made to the data files up to the time specified. The format of date-time is YYMMDDHHMMSS (year, month, day, hour, minutes, seconds) specified numerically. When you do not specify this option, the Rollforward Recovery Utility applies all of the updates that are stored in the rollforward recovery log file.

    For example:

    fs /r dbase.ref /dt 931231235959

    invokes the Rollforward Recovery Utility using the database reference file dbase.ref. Only those updates that were made up to the end of 31 December 1993 are restored.

  • /v

    Causes the Rollforward Recovery Utility to display additional information about which recovery log files it is searching for and in which directories.

Updates can be recorded in multiple log files (see the section Rollforward Recovery Logging for further details). The Rollforward Recovery Utility scans the log file directory for the starter log file. If none is found, the directory is scanned for a backed-up starter log file. If a starter log file still cannot be found the same procedure is repeated with the searches being performed in the backup directory if one is specified in the database reference file. If the Rollforward Recovery Utility is able to locate the starter log file then the recovery procedure commences; if not an error is displayed and the recovery does not start.

Once the starter log file has been processed, the Rollforward Recovery Utility searches for a continuation log file. If no backup of the recovery log file was performed, there is no continuation log file and the recovery process terminates. The Rollforward Recovery Utility searches for the continuation log file in the log file directory and then in the log file backup directory. The recovery process continues using the continuation log file(s) until all of the updates have been recovered and applied to the data files.

If transactions were in progress when the server terminated, then these transactions will be recorded but not committed. In addition, if the server was forced to terminate, then all open files will record a close, even if they were in mid transaction. A rollforward recovery will not be able to commit these transactions and a subsequent normal close would be illegal. When this situation occurs, the user will be informed with the message:

FS290-W Uncommitted transaction recorded - cannot complete transaction.

followed by the name of the file that cannot complete the transaction.

Parent topic: Database Integrity
Related information
Transaction Processing
Rollforward Recovery Logging
Database Sequence Numbering
Automatic Database Backup and Rollforward Recovery
Database Reference File Maintenance
Rollforward Recovery Logging


Database Sequence Numbering

Database sequence numbering provides a method of linking groups of data files so that they and their corresponding log file can be kept in step.

A sequence number, contained in the log file, is automatically stored in the header of each data file for which you have specified sequence numbering. Fileshare increments these sequence numbers every time you invoke the Fileshare Server. In order for the Rollforward Recovery Utility to work, all data files must have sequence numbers that match the log file. If the sequence numbers in the data files do not match, the Fileshare Server fails to start after displaying this message:

FS038-S A matching sequence number not found in <filename>

The possible causes for this error are:

  • A data file has been replaced by a file that does not contain the same sequence number as all the other data files listed in the database reference file. To recover, you need to install the correct file(s) on the system.
  • A power failure prevented proper shutdown of the Fileshare Server when it was last running. To recover the database files, use rollforward recovery. See the section Rollforward Recovery Utility for further information.

All data files listed in the database reference file have sequence number checking active by default. You can turn off sequence number checking using the database reference file option "/o s" (omit sequence numbering). If sequence number checking is not used on a file, your system administrator must make sure that the correct version of the file is installed in the Fileshare System.

Sequence numbering is only available on data files with a variable length record file header. The following file organizations do not contain headers and so sequence number checking is not possible:

  • Line sequential files
  • Non-data-compressed fixed length record sequential files
  • C-ISAM files
  • Non-data-compressed fixed length record relative files

If you have fixed length record data files that you want to use sequence numbering on, create them as variable length record data files. You can do this by changing the file definition in your COBOL program before creating the file.

Example

Data file definition specifying fixed length records:

 FD account-file.
 01 account-file-record.
    03 account-file-prime pic x(4).

Equivalent data file definition specifying variable length records:

 FD account-file recording mode is variable.
 01 account-file-record.
    03 account-file-prime pic x(4).

You do not have to change the configuration of the Fileshare Client or your program to make use of database sequence numbers.

  • Database Sequence Numbers - Fileshare Server
Parent topic: Database Integrity
Related information
Transaction Processing
Rollforward Recovery Logging
Rollforward Recovery Utility
Automatic Database Backup and Rollforward Recovery
Database Reference File Maintenance
Rollforward Recovery Utility


Database Sequence Numbers - Fileshare Server

For data files that you entered in the database reference file, sequence number checking is on by default. If you do not need sequence number checking for a particular data file, you can disable the feature by using the /o s (omit sequence numbers) option for that data file's entry in the database reference file.

Example

fs /d dbase.ref /l \logdir\log.dat
fs /d dbase.ref /f test1.dat
fs /d dbase.ref /f test2.dat /o l
fs /d dbase.ref /f test3.dat /o s

This example specifies:

  • The database reference file is named dbase.ref
  • The log file is named log.dat in the logdir directory
  • Updates to the data file test1.dat are logged in the log file. By default, sequence number checking is on for any data file in the database reference file, and hence for this file
  • Updates to the data file test2.dat are not logged in the log file. The "/o l" option specifies that logging is omitted. However, sequence number checking is still active for this file.
  • Updates to the data file test3.dat are logged in the log file. However, sequence number checking is not activated for this data file. The "/o s" option specifies that sequence number checking is not used on this data file.
Parent topic: Database Sequence Numbering


Automatic Database Backup and Rollforward Recovery

The recommended method of using Fileshare's update logging for rollforward recovery is:

  1. Periodically to shut down the Fileshare Server
  2. Take a backup of all your database files
  3. Re-start the Fileshare Server with a fresh recovery log file

See the section Rollforward Recovery Logging for further details.

You can get Fileshare to do this for you automatically by specifiying a backup directory-name in the database reference file using the /backup option. For example, the command:

fs /d dbase.ref /backup	c:\backdir

adds an entry to the database reference file called dbase.ref which specifies the backup directory as c:\backdir. A full path can be specified for the backup directory, otherwise paths which are not fully qualified are taken to be relative to the current directory of the Fileshare Server.

Setting a backup directory in this way causes the Fileshare Server to copy all the data files specified in the database reference file to the directory c:\backdir or /backdir on startup. The Fileshare Server also deletes any recovery log file(s) that it finds since this data is obsolete once the database files have been backed up.

While the Fileshare Server is active, all updates to files which have logging switched on for them are recorded in the log file as normal. The next time the Fileshare Server is restarted, it backs up the database files again and discards any log file(s). However, if it detects that the previous Fileshare Server session did not shut down successfully and a valid terminating record had not been written to the log file (for example, as a result of a system crash), then Fileshare automatically triggers the Rollforward Recovery Utility. This automatically restores the previous backup of the database files and recovers all updates to them as recorded in the log file(s). If the recovery completes succesfully, the Fileshare Server starts up as normal.

It is still possible to run the Rollforward Recovery Utility manually before starting up the Fileshare Server when a backup directory is specified in the database reference file. The Rollforward Recovery Utility automatically restores the previous backup before initiating the recovery.

Note:

The purpose of the automatic database backup facility is to help database administrators follow the recommended steps for rollforward recovery, thus ensuring that the latest Fileshare log file contains only the updates made since the last database backup. If database files are added or replaced manually, Fileshare may not detect this and could backup or restore the incorrect version of a file, compromising the integrity of your data. We recommend, therefore, that you do not attempt to replace any of the database files manually and only ever use Fileshare operations such as closing down the server to back up the entire database.

If you have enabled automatic database backup by specifying a backup directory, you cannot use the "/o l" option to switch logging off for any of the data files declared in the database reference file. By having logging active for every file specified in the database reference file, Fileshare can guarantee that it can recover updates to them all when it copies backed-up versions from the backup directory. If there are some files for which you do not require automatic backup, omit them from the database reference file.

If you need to back up your Fileshare files, for example as part of a system-wide backup overnight, you can use a Fileshare Manager API function to request Fileshare to shut down, back up all the database files and then restart with a fresh log file. Having done this, we recommend that you then make a permanent hard copy of the Fileshare backup directory. See the section Fileshare Manager in the chapter Advanced Operation for more information.

Example

fs /d dbase.ref /l logfile
fs /d dbase.ref /backup c:\backdir
fs /d dbase.ref /f c:\accounts\customer.dat
fs /d dbase.ref /f c:\finance\history.dat

These commands perform the following:

  • Create a database reference file called dbase.ref
    •

  • Specify the recovery log file as logfile so that the first log file that the Fileshare Server creates is called logfile.L01
    •

  • Specify that any updates to the files c:\accounts\customer.dat and c:\finance\history.dat are logged
    •

  • Specify c:\backdir as the backup directory
    •

On startup, the Fileshare Server automatically backs up these data files in the directory c:\backdir or /backdir. If the log file is backed-up while the Fileshare Server is active, backup files are also placed in this directory. If the Rollforward Recovery Utility is invoked, the backup files in c:\backdir or /backdir are restored to their original directories and any updates recorded in the log file(s) are re-applied.
Parent topic: Database Integrity
Related information
Transaction Processing
Rollforward Recovery Logging
Rollforward Recovery Utility
Database Sequence Numbering
Database Reference File Maintenance
Rollforward Recovery Logging
Fileshare Manager


Database Reference File Maintenance

The database reference file contains information that the Fileshare Server uses to determine which Fileshare features you want to use on which files. This section explains how to create and update a database reference file in order to make use of the features described earlier in this chapter.

Note:
  • You should only create or change a database reference file using the Database Reference File Maintenance Utility. This is because the file contains information that is stored in a special format.

The Database Reference File Maintenance Utility is invoked using the /d (database) option, for example:

fs /d dbase.ref [options]

where the parameters are:

dbase.ref | Name of the database reference file. If the database reference file does not exist, it is created.
options | These specify the operation to be carried out on the database reference file. Each initiation of the Database Reference File Maintenance Utility adds a record to or removes a record from the database reference file specified.

You can add several types of record to the database reference file.

  • Recovery Log File Records
  • Filename Record
  • File String Record
  • Backup Folder Record
Parent topic: Database Integrity
Related information
Transaction Processing
Rollforward Recovery Logging
Rollforward Recovery Utility
Database Sequence Numbering
Automatic Database Backup and Rollforward Recovery


Recovery Log File Records

You specify the name of the recovery log file using the /l option, for example:

fs /d dbase.ref /l logfilename

You can only have one recovery log file record in a database reference file.

You can specify the following for a recovery log file record:

  • The point at which the Fileshare Server displays a warning when the drive containing the log file is becoming full (use the /p option)
  • How often the log file is flushed to disk (use the /lc option)
  • Deletion of the record (use the /e option)
  • Disk Space Warning (/p)
  • Flushing the Log File (/lc)
  • Erasing a Log File Record (/e)
  • Example
Parent topic: Database Reference File Maintenance
Related information
Filename Record
File String Record
Backup Folder Record


Disk Space Warning (/p)

You can specify the point at which the Fileshare Server displays a warning when the drive containing the log file is becoming full using the /p option:

fs /d dbase.ref /l logfilename /p nnn

where nnn specifies the percentage disk space remaining, below which the Fileshare Server displays a warning message. The default value is 5, that is, the Fileshare Server displays the warning message when the drive containing the log file contains less than 5% free space.

Parent topic: Recovery Log File Records
Related information
Flushing the Log File (/lc)
Erasing a Log File Record (/e)
Example


Flushing the Log File (/lc)

You can specify how often the log file is flushed to disk using the /lc option:

fs /d dbase.ref /l logfilename /lc nnn

where nnn specifies the number of records that are written to the log file before the Fileshare Server calls the operating system to flush the log file buffers to disk. The default value is 100, that is, the Fileshare Server flushes the log file to disk after each set of 100 records are written to it. In addition, the Fileshare Server automatically flushes the log file after every successful COMMIT operation.

The Fileshare Server is unable to flush a log file if the log file is not on the machine where the Fileshare Server is running or if the operating system does not allow Fileshare to force the log file to be flushed. In this situation, the "/lc 1" option forces the Fileshare Server to specify writethrough when opening the log file. The log file is then written to disk if the operating system supports writethrough on files.

Parent topic: Recovery Log File Records
Related information
Disk Space Warning (/p)
Erasing a Log File Record (/e)
Example


Erasing a Log File Record (/e)

You can erase a recovery log file record using the /e option:

fs /d dbase.ref /l logfilename /e

This is the only way to remove a record once you have created the database reference file.

Parent topic: Recovery Log File Records
Related information
Disk Space Warning (/p)
Flushing the Log File (/lc)
Example


Example

fs /d dbase.ref /l \log\log.dat /p 10 /lc 200

Specifies the log file as log.dat in the directory log. Any data files that are specified in this database reference file have all updates recorded in this log file, unless logging is explicitly disabled for a data file. The /p option specifies that the Fileshare Server displays a warning message when less than 10 percent of the disk space remains free on the drive where the log file resides. The /lc option specifies that the Fileshare Server flushes the log file to disk after every 200 records are written to it.

Parent topic: Recovery Log File Records
Related information
Disk Space Warning (/p)
Flushing the Log File (/lc)
Erasing a Log File Record (/e)


Filename Record

You specify a filename record using the /f option, for example:

fs /d dbase.ref /f filename

specifies a data file that you want to include in the database reference file.

Any file that you specify in the database reference file has logging and, for those file organizations that support it, database sequence numbering, enabled by default.

You can specify the following for a filename record:

  • An alternative filename (use the /af option)
  • A virtual file handler (use the /ap option)
  • Data and key compression (use the /k option)
  • That logging is disabled for this file (use the "/o l" option)
  • That database sequence numbering is disabled for this file (use the "/o s" option)
  • That transaction processing is disabled for this file (use the "/o t" option)
  • Deletion of the record
  • Alternative Filename (/af)
  • Virtual File Handler (/ap)
  • Data and Key Compression (/k)
  • Disable Logging (/o l)
  • Disable Database Sequence Numbering (/o s)
  • Disable Transaction Processing (/o t)
  • Erasing a Filename Record
  • Examples
Parent topic: Database Reference File Maintenance
Related information
Recovery Log File Records
File String Record
Backup Folder Record


Alternative Filename (/af)

You can specify an alternative filename for a filename record using the /af option:

fs /d dbase.ref /f filename /af alternate-filename

such that whenever the Fileshare Server is asked to access the data file filename, it accesses alternate-filename instead.

Parent topic: Filename Record
Related information
Virtual File Handler (/ap)
Data and Key Compression (/k)
Disable Logging (/o l)
Disable Database Sequence Numbering (/o s)
Disable Transaction Processing (/o t)
Erasing a Filename Record
Examples


Virtual File Handler (/ap)

You can specify a virtual file handler for a filename record using the /ap option:

fs /d dbase.ref /f filename /ap program-name

where program-name specifies the virtual file handler that the Fileshare Server calls to process all I/O requests on the data file. See the section Virtual File Handler in the chapter, Advanced Operation.

The filename definition in the /f entry (corresponding to an /ap entry) can include a trailing wildcard to specify that groups of files are to have their requests passed to the specified virtual file handler.

Parent topic: Filename Record
Related information
Alternative Filename (/af)
Data and Key Compression (/k)
Disable Logging (/o l)
Disable Database Sequence Numbering (/o s)
Disable Transaction Processing (/o t)
Erasing a Filename Record
Examples


Data and Key Compression (/k)

You can specify data and key compression for a filename record using the /k option, for example:

fs -d dbase.ref /f filename /k DnnnIx

where nnn specifies the data compression routine number and x specifies the key compression number. Valid values for nnn and x are the same as those that can be specified for the Compiler directives DATACOMPRESS and KEYCOMPRESS.

Parent topic: Filename Record
Related information
Alternative Filename (/af)
Virtual File Handler (/ap)
Disable Logging (/o l)
Disable Database Sequence Numbering (/o s)
Disable Transaction Processing (/o t)
Erasing a Filename Record
Examples


Disable Logging (/o l)

You can disable logging for a file using the "/o l" option:

fs /d dbase.ref /f filename /o l

disables logging for filename.

Note:

You cannot disable logging for a file if you have enabled automatic database backup by specifying a backup directory record.

Parent topic: Filename Record
Related information
Alternative Filename (/af)
Virtual File Handler (/ap)
Data and Key Compression (/k)
Disable Database Sequence Numbering (/o s)
Disable Transaction Processing (/o t)
Erasing a Filename Record
Examples


Disable Database Sequence Numbering (/o s)

You can disable database sequence numbering for a file using the "/o s" option:

fs /d dbase.ref /f filename /o s
disables database sequence numbering for filename.
Note:

You should be aware that even with database sequence checking turned off, Fileshare will still update the sequence number in the header of the data file and thus also the timestamp. This is to ensure that if sequencing is turned back on, the sequence numbers will be in sync with other files.

Parent topic: Filename Record
Related information
Alternative Filename (/af)
Virtual File Handler (/ap)
Data and Key Compression (/k)
Disable Logging (/o l)
Disable Transaction Processing (/o t)
Erasing a Filename Record
Examples


Disable Transaction Processing (/o t)

You can disable transaction processing for a file using the "/o t" option:

fs /d dbase.ref /f filename /o t

disables transaction processing for filename. The WITH ROLLBACK clause in a SELECT statement for this data file is ignored. This option in the database reference file overrides any transaction processing specified in your program.

Parent topic: Filename Record
Related information
Alternative Filename (/af)
Virtual File Handler (/ap)
Data and Key Compression (/k)
Disable Logging (/o l)
Disable Database Sequence Numbering (/o s)
Erasing a Filename Record
Examples


Erasing a Filename Record

You can erase a filename record using the /e option, for example:

fs /d dbase.ref /f filename /e

erases the record from the database reference file. This is the only way to remove a record once the database reference file has been created.

Parent topic: Filename Record
Related information
Alternative Filename (/af)
Virtual File Handler (/ap)
Data and Key Compression (/k)
Disable Logging (/o l)
Disable Database Sequence Numbering (/o s)
Disable Transaction Processing (/o t)
Examples


Examples

fs /d dbase.ref /f \accounts\nomlgr.dat /k d001i7

specifies that the data file nomlgr.dat in the directory accounts has data compression and key compression activated if it is created by the Fileshare Server. The d001 option specifies the data compression routine you want to use is the same as if you compiled your program with the DATACOMPRESS"1" Compiler directive. The i7 option specifies the key compression to use is the same as if you compiled your program with the KEYCOMPRESS"7" Compiler directive. This overrides any data or key compression specified in the program.

fs /d dbase.ref /f \accounts\salesday.dat /o tl

specifies that any transaction processing specified in your program for the data file salesday.dat in the directory accounts is ignored. Also, logging is disabled for this file.

fs /d dbase.ref /f \ref\clients.dat /af \oldref\oldclnts.dat /o s

specifies that all I/O requests for the data file clients.dat in the directory ref are redirected to the data file oldclnts.dat in the directory oldref. In addition, database sequence numbering is disabled for this file.

fs /d dbase.ref /f \accounts\saleslgr.dat

enables logging and database sequence numbering for the data file saleslgr.dat in the directory accounts. By default, logging and database sequence numbering are enabled for every data file listed in the database reference file.

fs /d dbase.ref /f \orders\week10.dat

enables logging and database sequence numbering for the data file week10.dat in the directory orders. By default, logging and database sequence numbering are enabled for every data file listed in the database reference file.

Parent topic: Filename Record
Related information
Alternative Filename (/af)
Virtual File Handler (/ap)
Data and Key Compression (/k)
Disable Logging (/o l)
Disable Database Sequence Numbering (/o s)
Disable Transaction Processing (/o t)
Erasing a Filename Record


File String Record

You specify a file string record using the /fs option, for example:

fs /d dbase.ref /fs string1 /af string2

specifies that for any data file with a filename starting with string1, string1 is replaced by the character string string2.

  • Erasing a File String Record
  • Example
Parent topic: Database Reference File Maintenance
Related information
Recovery Log File Records
Filename Record
Backup Folder Record


Erasing a File String Record

You can erase a file string record using the /e option:

fs /d dbase.ref /fs string /e

erases the record from the database reference file. This is the only way to remove a record once the database reference file has been created.

Parent topic: File String Record
Related information
Example


Example

fs /d dbase.ref /fs c:\accounts\ /af c:\lastyear\accounts\

specifies that the character string c:\accounts\ at the front of any filename is replaced by the character string c:\lastyear\accounts\. Note that the string specified by the /fs option is not expanded relative to the Fileshare Server's current directory.

Parent topic: File String Record
Related information
Erasing a File String Record


Backup Folder Record

You specify an automatic backup directory using the /backup option, for example:

fs /d dbase.ref /backup c:\backup

specifies that on startup the Fileshare Server automatically copies all of the files named in the database reference file into the directory c:\backup.

Parent topic: Database Reference File Maintenance
Related information
Recovery Log File Records
Filename Record
File String Record


Security

You can also restrict access to specific data files under the control of a Fileshare Server. These restrictions are implemented via:
  • The Fileshare Password System
  • The Logon Validation module
  • The File Access Validation module
  • Password System
  • Logon Validation Module
    To validate a request to log on from a Fileshare Client, the Fileshare Server calls the module FSSecLog (the Fileshare Security at Logon Validation module) to validate the user-ID and password. You can replace FSSecLog with your own module in order to use your own criteria for validating the log on request. Your new module must comply with the FSSecLog interface described below.
  • File Access Validation Module
    To validate an open request from a Fileshare Client, the Fileshare Server calls the Fileshare Security at Open Validation module (FSSecOpn).
  • Password File Maintenance
  • User-ID Groups
  • Supervisor Mode
Parent topic: Fileshare Guide
Related information
Introduction
Standard Operation
Configuring CCI Communications for Fileshare
Database Integrity
Advanced Operation
Fileshare on UNIX
Error Handling
Fileshare Server Messages


Password System

If you invoke the Fileshare Server with the Password System enabled, all Fileshare Clients must supply a valid user-ID and password before they can connect to the Fileshare Server. By default, the Fileshare Password System is not enabled when you invoke the Fileshare Server.

If you want to use the Fileshare Password System you must code your program to pass a user-ID and password to the File Handling Redirector module and you must create a password file on the Fileshare Server machine which contains the user-ID and password that your program will use.

Then, to enable the Fileshare Password System, you must use the /pf option to specify the name of the password file to the Fileshare Server.

With the Fileshare Password System enabled, the sequence of steps that your program and Fileshare follow is (see the figure below):

  1. Your program registers its user-ID and password with the Fileshare Client by calling the File Handling Redirector password module (FHRdrPwd)
  2. Your program performs the first I/O operation
  3. The File Handling Redirector module obtains the user-ID and password registered in step 1 by calling the File Handling Redirector password module (FHRdrPwd)
  4. File Handling Redirector module passes the user-ID and password to the Fileshare Server
    Figure 1. Fileshare Password System
    Fileshare Password System
  5. The Fileshare Server validates the user-ID and password using the password file.
  6. If the Fileshare Server allows the logon, a connection is established between the Fileshare Client and the Fileshare Server. If the Fileshare Server does not allow logon, it returns a file status of 9/037 ("access denied") to the Fileshare Client.

Each of these steps is explained in more detail in the topics that follow.

  • Fileshare Client
  • Fileshare Server
  • Writing Your Own FHRdrPwd Module
Parent topic: Security
Related information
Logon Validation Module
File Access Validation Module
Password File Maintenance
User-ID Groups
Supervisor Mode


Fileshare Client

When Fileshare security is active, your program must supply a user-ID and a password before the first I/O operation is performed.

Even if you have not activated security, your program can still supply the Fileshare Client with a user-ID and password. This enables your program to run unchanged on Fileshare whether or not security is activated.

To register a user-ID and password, your program must call the module FHRdrPwd as follows:

call "fhrdrpwd" using function-code,
                      user-ID,
                      user-password
end-call

where the parameters are:

01 function-code       pic x comp-x.
01 user-ID             pic x(20).
01 user-password       pic x(20).

The function code to register a user-ID and password is 1.

The following example shows how to register a user-ID and password:

working-storage section.
01 function-code    pic x comp-x.
01 user-name        pic x(20).
01 user-password    pic x(20).
...
procedure division.
...
    move 1 to function-code
    move "UserID" to user-name
    move "Password" to user-password
    call "fhrdrpwd" using function-code,
                        user-name,
                        user-password
    end-call
    ...
    open output testfile
    ...

You can substitute the FHRdrPwd module supplied with the Fileshare System with your own. This enables you to retrieve the user-ID and password from somewhere other than the application program. See the section Writing Your Own FHRdrPwd Module for further details.

Parent topic: Password System
Related information
Fileshare Server
Writing Your Own FHRdrPwd Module
Writing Your Own FHRdrPwd Module


Fileshare Server

By default, the Fileshare Password System is not active when you invoke the Fileshare Server. If you want password security activated, use the /pf (Password File) option in the Fileshare Server configuration file, for example:

Windows:

/pf password.fil /s server1

UNIX:

-pf password.fil -s server1

specifies that for the Fileshare Server, server1, Fileshare Password Security is enabled and the password file is password.fil. The Fileshare Server uses this file to determine whether a Fileshare Client is allowed to connect to this Fileshare Server.

The Password File Maintenance Utility is used to create the password file and add user-ID and password entries. See the section Password File Maintenance for further information on this utility.

Parent topic: Password System
Related information
Fileshare Client
Writing Your Own FHRdrPwd Module
Password File Maintenance


Writing Your Own FHRdrPwd Module

To register a user-ID and password, your program must call the File Handling Redirector password module supplying a user-ID and password. If you do not want to hard-code this call into your program, you can replace the supplied File Handling Redirector password module with one that obtains the user-ID and password using a different method (for example, via a screen prompt). Your new module must still conform to the File Handling Redirector password module interface, that is:

Function Code | Action
= 1: | Register the supplied user-ID and password
= 0: | Return the user-ID and password. The File Handling Redirector module uses this call to obtain the user-ID and password when it is about to connect to the Fileshare Server.

Once you have written your own File Handling Redirector password module:

  • Create an object module from it, then create fhrdrpwd.dll. Copy the new fhrdrpwd.dll to your COBOL system directory, replacing the one that already exists.

You can create an object module and link it into any application executable as required.

Parent topic: Password System
Related information
Fileshare Client
Fileshare Server


Logon Validation Module

Introduction

If you have not activated the Fileshare Password System, the Fileshare Server validates requests to log on by calling the Fileshare Security Logon validation module (FSSecLog).

The FSSecLog module supplied with Fileshare allows any Fileshare Client to log on to a Fileshare Server. If you need to restrict the Fileshare Clients that can log on to a Fileshare Server, you must provide your own, alternative, FSSecLog module for the Fileshare Server to call.

For example, your own module can enable integration with the native operating system security, if this is needed.

The sequence of steps that your program and Fileshare follow is (see Figure 5-2):

  1. Your program registers a user-ID and password by calling the File Handling Redirector password module (FHRdrPwd)
  2. Your program performs the first I/O operation
  3. The File Handling Redirector module obtains the user-ID and password registered in step 1 by calling its password module (FHRdrPwd)
  4. The File Handling Redirector module passes the user-ID and password to the Fileshare Server
  5. The Fileshare Server calls the FSSecLog module passing the user-ID and password
  6. If the FSSecLog module allows logging on, a connection is established between the Fileshare Client and the Fileshare Server. If the FSSecLog module does not allow logging on, a status 9/037 "access denied" is returned to the Fileshare Client.

Logon Validation Module

Syntax:

call "fsseclog" using user-ID
                      password
                      return-status

Parameters:

user-ID | pic x(20).
password | pic x(20).
return-status | pic x comp-x.

On Entry:

user-ID | The Fileshare Client's user-ID
password | The Fileshare Client's password

On Exit:

user-ID | Unchanged
password | Unchanged
return-status | Set to 0 if the Fileshare Client is allowed to log onto the Fileshare Server. Any other status indicates the Fileshare Client is not allowed to log on and an error is returned to the Fileshare Client.

Comments:

Windows:

You can create your own fsseclog module and link it into the Fileshare Server. See the section Linking the Fileshare Server on Windows in the chapter Advanced Operation for further details.

UNIX:

You can create your own fsseclog module in generated code format and replace the one supplied in your COBOL system directory.

Parent topic: Security
Related information
Password System
File Access Validation Module
Password File Maintenance
User-ID Groups
Supervisor Mode


File Access Validation Module

Whenever a Fileshare Server receives an open request on a file from a Fileshare Client, the Fileshare Server calls the Fileshare Security at Open validation module (FSSecOpn).

The Fileshare Security at Open Validation module supplied with Fileshare allows any Fileshare Client to access a data file. If you need to restrict access to specific files, you must provide your own, alternative, Fileshare Security at Open Validation module for the Fileshare Server to call.

If the Fileshare Security at Open Validation module allows the file access, the operation is allowed to complete. If the module does not allow the file access, a file status of 9/037 "access denied" is returned to the Fileshare Client and the operation is not allowed to complete.

Note: This file access security check is entirely independent of the Fileshare Password System and the User Supplied Logon Validation Module.

The sequence of steps that your program and Fileshare follow are:

  1. Your program registers its user-ID and password with the File Handling Redirector password module. This information is used when the Fileshare Client first logs onto the Fileshare Server.
  2. When your program subsequently performs an I/O operation on a file that it does not have open (such as an Open or Delete file operation), the Fileshare Server calls the Fileshare Security at Open Validation module (FSSecOpn)

You can replace the supplied Fileshare Security at Open Validation module with one of your own in order to use your own criteria for validating the open request. Your new module must comply with the Fileshare Security at Open Validation module's interface described below

Syntax:

call "fssecopn" using filename
                      filename-length
                      operation-code
                      user-ID
                      return-status

Parameters:

filename | pic x(n).
filename-length | pic x(2) comp-x.
operation-code | pic x(2) comp-x.
user-ID | pic x(20).
return-status | pic x comp-x.

On Entry:

filename | The name of the data file that the Fileshare Client wants to open
filename-length | The length of filename
operation-code | The operation code specifying the I/O operation. These codes are those used by the Callable File Handler. See your online help for details on the Callable File Handler.
user-ID | The user-ID of the Fileshare Client making the open request

On Exit:

return-status Set to 0 if the open request is allowed. Any other status indicates that the Fileshare Client is not allowed to open the data file and an error status is returned.

Comments:

Windows:

You can create your own fssecopn module and link it into the Fileshare Server. See the section Linking the Fileshare Server on Windows in the chapter Advanced Operation for further details.

UNIX:

You can create your own fssecopn module in generated code format and replace the one supplied in your COBOL system directory.

Parent topic: Security
Related information
Password System
Logon Validation Module
Password File Maintenance
User-ID Groups
Supervisor Mode


Password File Maintenance

The password file contains details of user-IDs and passwords that the Fileshare Server uses when Fileshare Password Security is enabled. Because the information in the password file is encrypted for security reasons, you can only add records to and remove records from the password file using the Password File Maintenance Utility.

Use the /pf (password file) option to add or remove entries in the password file, for example:

fs /pf pass.dat [options]

This invokes password file maintenance and appends the specified options to the password file pass.dat. If this file does not exist, it is created.

The following options are available:

  • /u user-ID
    /pw password

    These add the specified user-ID and password to the password file. Both user-ID and password are case-sensitive and can be up to 20 characters in length.

  • [/e]

    This erases the record from the password file and is the only way to remove a record once the password file has been created.

Example

fs /pf pass.dat /u pkel /pw fishwife

This example invokes password file maintenance, creates or updates a password file called pass.dat and adds a user-ID of pkel and password of fishwife.

Parent topic: Security
Related information
Password System
Logon Validation Module
File Access Validation Module
User-ID Groups
Supervisor Mode


User-ID Groups

You can group user-IDs by using the # character. If the # character is present in a user-ID, Fileshare registers the full passed user-ID but only performs logon validation on the portion of the user-ID prior to the # character.

When adding entries to the password file, you should create them as exclusive up to the # character. See the section Password File Maintenance for further information.

If you use view a user with a utility such as FSVIEW, the user information returned will show the full user-ID supplied by the client. Note that any reference to a user must be made using the full user-ID.

Example

fs /pf pass.dat /u pkel#1 /pw fishwife

This example invokes password file maintenance, creates or updates a password file called pass.dat and adds a user-ID of pkel#1 and password of fishwife.

Parent topic: Security
Related information
Password System
Logon Validation Module
File Access Validation Module
Password File Maintenance
Supervisor Mode
Password File Maintenance


Supervisor Mode

In order to use the password-restricted functions of Fileshare Manager, a supervisor password must be defined (see the section Fileshare Manager in the chapter Advanced Operation).

To define a supervisor password, an entry must be made in the password file using the reserved user-ID, FSVIEW. Note that the user-ID FSVIEW must be entered in upper case.

If you are already using Fileshare Password Security, simply add the FSVIEW entry to your existing file.

If you are not using Fileshare Password Security, you can create a password file that contains a single entry, the FSVIEW user-ID. This defines a supervisor password without enabling Fileshare Password Security.

Example

The following example defines a supervisor password of "abracadabra" in the password file password.fil. If the file does not exist, it is created.

fs /pf password.fil /u FSVIEW /pw abracadabra

Once you have defined a supervisor password, you must specify the password file, either in the Fileshare Server configuration file, or on the command line when the Fileshare Server is started.

Note:

If FSVIEW is the only entry in the password file, the Fileshare Server displays a message indicating that Fileshare Password Security is disabled, even though a password file has been specified.

Parent topic: Security
Related information
Password System
Logon Validation Module
File Access Validation Module
Password File Maintenance
User-ID Groups
Fileshare Manager


Advanced Operation

  • Single User Mode
  • Filename Mapping
  • Data and Key Compression
  • Virtual File Handler Interface
  • Monitoring Fileshare
  • Fileshare Manager
  • Fileshare Manager Configuration
  • Linking Fileshare Manager Applications
  • Byte-stream I/O Calls
  • Running Fileshare as a Windows Service
  • Fileshare Server Configuration
  • Linking the Fileshare Server on Windows
  • Performance Considerations
  • Large File Support with Fileshare
Parent topic: Fileshare Guide
Related information
Introduction
Standard Operation
Configuring CCI Communications for Fileshare
Database Integrity
Security
Fileshare on UNIX
Error Handling
Fileshare Server Messages


Single User Mode

You can configure Fileshare to run in single user mode. All network communication is bypassed and the Fileshare Client makes direct calls to the Fileshare Server module. The Fileshare Server does not run as a separate process in this mode of operation.

This is useful when:

  • You want to develop Fileshare applications without using a network or multiple sessions
  • A single-user application makes use of one of Fileshare's advanced features, such as transaction processing

To run Fileshare in single user mode, set the FSCOMMS environment variable to $local, for example:

set FSCOMMS=$local /s servername

Even when you are running in single user mode, you must still inform the Fileshare Client which Fileshare Server to use, either by specifying the Fileshare Server name as part of the filename in your program or by using a Fileshare Client configuration file.

The Fileshare Server is configured in the normal way using a Fileshare Server configuration file. At the minimum, you must define a Fileshare Server name in this file.

Note:

The Fileshare Server does not have control over the screen when it is running in single user mode. It directs all screen output to the file fsscreen.lst in the current Fileshare Client directory. If your program fails, check this file for messages.

The FSSERVER environment variable must be unset.

Parent topic: Advanced Operation
Related information
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare


Filename Mapping

Filename mapping enables I/O requests made against one data file to be mapped to a different data file when your program is executed. For example, you can use filename mapping to enable applications that use DOS file naming conventions to access data files under the control of a Fileshare Server running on an operating system that uses different file naming conventions.

You do not need to change the configuration of the Fileshare Client to use filename mapping.

  • Fileshare Server
Parent topic: Advanced Operation
Related information
Single User Mode
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare


Fileshare Server

To enable filename mapping, use the /af (alternate filename) option with the /f option in the database reference file.

The /fs (filename string) option used in conjunction with the /af option enables you to substitute characters at the start of a filename. This is particularly useful for mapping pathnames.

For example:

fs /d dbase.ref /f old.dat /af new.dat
fs /d dbase.ref /fs c: /af e:

adds entries to the database reference file dbase.ref which specify that:

  • All requests to the data file old.dat are redirected to the data file new.dat
  • All accesses to data files starting with c: are directed to drive e:

If the Fileshare Server finds an entry specifying an alternate filename, any character string substitution specified by a /fs option is applied to the new filename.

After processing any string substitution specified by an /fs option, the Fileshare Server does not search the database reference file for any matching /f option using the new filename.

Fileshare processes all filenames as relative to the Fileshare Server's current directory if you have not given a fully qualified filename after the /f option or a fully qualified filename is not passed from the Fileshare Client.

All filenames and paths are forced to upper case by Fileshare Servers and are expanded to include the full path to ensure matching. Filenames specified with the /af option are not modified.

Example 1:

fs /d dbase.ref /f file1.dat /af c:\data\file2.dat

This example adds entries to the database reference file dbase.ref that specify that file accesses to the file file1.dat are mapped to the alternate filename file2.dat.

Example 2:

fs /d dbase.ref /f file1.dat /af c:\data\file2.dat
fs /d dbase.ref /fs c: /af e:

This example adds entries to the database reference file dbase.ref that specify that all requests made to the data file file1.dat are redirected to the alternate filename and, in addition, the alternate filename is changed, using string substitution, to be on drive e:.

Parent topic: Filename Mapping


Data and Key Compression

You can configure the Fileshare Server so that data files are created using data or key compression.

You do not need to change the Fileshare Client configuration in order to use data or key compression on a data file.

  • Data and Key Compression - Fileshare Server
Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare


Data and Key Compression - Fileshare Server

To enable data or key compression for a data file, use the /k option in the database reference file. In conjunction with the /k option, use the d option to specify data compression and the i option to specify key compression.

Values that you specify after the d and i options are the same values that you would specify using the Compiler directives DATACOMPRESS and KEYCOMPRESS.

Data and key compression specifications in the database reference file are effective only if the Fileshare Server creates the data files. They do not affect existing data files. For existing files, the data and key compression information is retrieved from the data file header. Any settings in your program or the database reference file are ignored.

Example:

fs /d dbase.ref /f file1.dat /k d001
fs /d dbase.ref /f file2.dat /k d001i7

This example tells the Fileshare Server to create the file file1.dat with data compression and the file file2.dat with both data and key compression.

Parent topic: Data and Key Compression


Virtual File Handler Interface

The Fileshare Server can pass I/O requests to a program specified by you, rather than by the Micro Focus File Handler, as long as the program that you specify conforms to the call interface used by the File Handler.

You do not need to change the configuration of the Fileshare Client to use the Virtual File Handler Interface.

  • Fileshare Server
Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare


Fileshare Server

To specify a virtual file handler, use the /ap (application program) option with the /f option in the database reference file to specify the program to which I/O requests for a particular data file are passed by the Fileshare Server.

Example:

fs /d dbase.ref /f user1.dat /ap myprog

This adds entries to the database reference file, dbase.ref which specify that the Fileshare Server should pass all I/O requests for the data file user1.dat to the program myprog.

Windows:

On Windows, your program should be in .obj file format and needs to be linked into the main Fileshare module, fs.dll. See Linking the Fileshare Server on Windows for further details.

Parent topic: Virtual File Handler Interface


Monitoring Fileshare

When the Fileshare Server is active, you can toggle the trace option on and off using the F2 key. If the trace option is on, the Fileshare Server displays the file access requests on the console as they happen. Each line of trace provides:

  • Input:
    • The user-ID assigned, in the order that the Fileshare Clients logged onto the Fileshare Server
    • The operation code, indicating the I/O operation requested (see the online help on the Micro Focus File Handler for further information about operation codes)
    • The name of the file being accessed
  • Output:
    • The status returned to the Fileshare Client, indicating the result of the operation
Note:

The trace option can degrade performance. You should only use it as a diagnostic aid in problem investigation.

You can activate the trace option when the Fileshare Server is started using the "/tr f" option. This causes the trace to be written to the file fsscreen.lst, as well as being displayed on the screen. Note, however, that this severely impacts the Fileshare Server performance if tracing is switched on. If, however, tracing is switched off, only information messages are written to the screen and to the file. This is a useful method of keeping a permanent record of Fileshare messages on disk.

If you are using Fileshare in single user mode (see the section Single User Mode), the trace display, together with all other output normally displayed on the Fileshare Server console screen, is written to the file fsscreen.lst in the Fileshare Server's current directory .

Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare
Single User Mode


Fileshare Manager

You can use the Fileshare Manager (fsmgr) to automate some of Fileshare's supervisor mode functions by writing a COBOL program to call it. The Fileshare Manager can be called to instruct a Fileshare server to:

  • Perform an automatic backup of its recovery log file
  • Close all of its currently open data files. Any client application accessing these files is returned a file status, indicating that the file is no longer open. This is particularly useful in the event of a system crash or power failure, either of which could cause a Fileshare client program to terminate without disconnecting properly from Fileshare. If this happens, and data files are left open on the Fileshare server, it can prevent automatic disk backups from running and possibly prevent other clients from accessing the files.
  • Log off any clients currently connected to it, close any open files and roll back any incomplete transactions belonging to these clients.Any subsequent access attempts by these client applications result in an error status (9/125).
  • Close down completely. Any open files are closed and any incomplete transactions rolled back
  • Close down completely and then re-start. If a backup directory has been specified in the database reference file, Fileshare copies all the files named in the database reference file to the backup directory, deletes the recovery log file(s) and re-starts with a new recovery log file.
Note: Any Fileshare Clients connected to the Fileshare Server when this instruction is issued will be logged off and any files which they had open will be closed.

The Fileshare Manager program (fsmgr) is called from a COBOL program as follows:

Syntax:

call "fsmgr" using parameter-block

Parameters:

parameter-block
A group item defined as:
function-code
pic xx comp-x.
error-status
pic xx comp-x.
fileshare-name
pic x(16).
supervisor-passwd
pic x(20).
reserved
pic x(24).

On Entry:

function-code
The Fileshare Manager program function required:
1 | Backup recovery log file
2 | Close all open data files
3 | Log off all connected clients
4 | Shut down Fileshare
5 | Shut down and re-start Fileshare
fileshare-name
The name of the Fileshare server (this is the name that was used when Fileshare was started)
supervisor-passwd
The supervisor password. See the section Supervisor Mode in the chapter Security for more information
reserved
Reserved for future use. Must contain binary zeros.

On Exit:

error-status
Reflects the success, or failure, of the call. Possible values of error-status are shown below.
Value | Meaning
0 | Function completed successfully
1 Communications error. A Fileshare server of the name specified in fileshare-name could not be contacted on the network using the specified communications protocol. This error is also returned if a network failure occurs during the execution of the function but after the initial connection was made.

Check that fileshare-name is specified correctly and that the Fileshare Handling Redirection module (FHRedir) is configured to use the correct communications protocol.

2 File error during initial connection.

To connect to Fileshare, the Fileshare Manager opens a file called fsmgr.ctl. This file should not already exist and the Fileshare Manager does not actually create it. If it does exist, this status is returned if there is a subsequent error in closing the file.

3 Invalid password specified in supervisor-password.

Ensure that Fileshare is running with a password file and that the contents of supervisor-password match the supervisor password entry in the password file. Note that Fileshare passwords are case sensitive.

See Supervisor Mode in the chapter Security for more information.

4 | Invalid value specified in function-code - must be within the range one to five
5 No Fileshare log file.

You have attempted to backup the log file on a Fileshare server that is running without a recovery log file.

6 Function 2 or 3 could not complete.

While attempting to log off all Fileshare's clients (function 3), it is possible for other clients to log on before the logging off operation completes. For example, the Fileshare Manager has to send a "logoff client n" request four times if there are four clients logged on. If, however, a new client logs on before all four original clients have been logged off, the Fileshare Manager retries the "logoff client n" request in order to log off the new client. It retries 10 times and if new clients are still logging on, it returns error 6. A similar situation can occur during processing of a function 2 (close all data files) if new files are continuously being opened at the same time.

10 | Other error
Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare
Supervisor Mode


Fileshare Manager Configuration

Fileshare Manager, like other Fileshare Client applications, accesses a Fileshare server via the Fileshare Handling Redirection module (FHRedir) and so needs to be configured to use the correct communications protocol. See the section Client Configuration in the chapter Configuration for more information.

Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare
Client Configuration


Linking Fileshare Manager Applications

On Windows, if your program calls the Fileshare Manager, you need to link in the Fileshare manager object file (fsmgr.obj when you create an executable file.

Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare


Byte-stream I/O Calls

Fileshare supports some of the byte-stream I/O routines that are available with this COBOL system. Most of the routines use the same parameters and have the same effect as the corresponding COBOL system call, but access remote files via Fileshare. The only change needed to your program is to call the routine starting with FS_ instead of CBL_. The only routine that does not have exactly the same call interface as its corresponding CBL_ routine is FS_LOCATE_FILE.

Fileshare supports the following byte-stream I/O routines:

  • FS_CHECK_FILE_EXIST
  • FS_CLOSE_FILE
  • FS_CREATE_FILE
  • FS_COPY_FILE
  • FS_DELETE_FILE
  • FS_JOIN_FILENAME (see below)
  • FS_LOCATE_FILE (see below)
  • FS_OPEN_FILE
  • FS_READ_FILE
  • FS_RENAME_FILE
  • FS_SPLIT_FILENAME (see below)
  • FS_WRITE_FILE

You can use these routines to access files on remote Fileshare servers, as well as local files. Configure the Fileshare Client in the normal manner to define which files are local and which are remote.

Note:

  • The FS_COPY_FILE routine only works on the Fileshare server and cannot be used to copy the file locally or to another Fileshare server. Currently you would have to code your own FS_OPEN_FILE and FS_READ_FILE/CBL_WRITE_FILE loop to copy the contents of the file locally.
  • Do not use byte-stream I/O and COBOL I/O on the same file
  • If you want to share files between multiple Fileshare Clients you must access the files using normal COBOL I/O verbs
  • FS_LOCATE_FILE
  • FS_SPLIT_FILENAME and FS_JOIN_FILENAME
Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare


FS_LOCATE_FILE

The functionality provided by FS_LOCATE_FILE is the same as CBL_LOCATE_FILE except:

  • You cannot use FS_LOCATE_FILE to search for files in libraries on remote Fileshare Servers
  • You can use CBL_LOCATE_FILE to search for files along each path specified in an environment variable. You can then use the returned actual-file-spec as the filename when opening the file.

    If you have specified a $$server-name prefix in user-file-spec, actual-file-spec must contain the same $$server-name prefix for an OPEN using actual-file-spec to be re-directed automatically. By default, Fileshare only returns the filename in actual-file-spec to your program. To return the $$server-name in actual-file-spec, set the most significant bit of user-mode before making the call to FS_LOCATE_FILE.

  • When a remote file is found, using an environment variable containing many paths, FS_LOCATE_FILE returns actual-file-spec including the full path where the file is located

When a call to FS_LOCATE_FILE is directed to a custom file handler by configurable DYNREDIR, the customer file handler is called with op-code FAF8 plus fcd(3:1) and uses the value 5 to specifiy it as an FS_LOCATE_FILE call.

On Entry Fields

On entry, the following fields are set:

fcd-name-ptr | Pointer to the user file
fcd-open-mode | User mode
fcd-optional | Path flag
fcd-name-length | Length of filename

On entry, the length of the fcd-name-length field is the same as the length of the filename pointed to by the field fcd-name-ptr.

On exit, you need to set the following fields:

fcd-record-ptr | Pointer to the actual file spec
fcd-access-mode | Exist flag
fcd-file-status | File status
Parent topic: Byte-stream I/O Calls
Related information
FS_SPLIT_FILENAME and FS_JOIN_FILENAME


FS_SPLIT_FILENAME and FS_JOIN_FILENAME

The functionality provided by FS_SPLIT_FILENAME and FS_JOIN_FILENAME is the same as that provided by the corresponding CBL_routines. In addition, using FS_SPLIT_FILENAME and FS_JOIN_FILENAME you can process filenames that specify Fileshare Server names using the $$server-name prefix at the front of the filename. When processing such filenames, the $$server-name prefix characters are included as part of the pathname parameter.

If you have included the callable sort, and receive error 173 after switching to release build, you need to include fhrsub.obj in your project.

Parent topic: Byte-stream I/O Calls
Related information
FS_LOCATE_FILE


Running Fileshare as a Windows Service

You can use the Fileshare Server so that it runs as a Windows service, using the following commands:

fsservice -i [service-name [configuration-options] ]
fsservice -u [service-name]
fsservice -v [service-name]

Where:

-i
Install the service.
-v
Display the status of the service.
-u
Uninstall the service.
service-name
A unique name for the service. The service is called "Micro Focus Fileshare Service:name", where :name is included only if a name is specified. service-name is optional unless you specify configuration-options, in which case it is mandatory.
configuration-options
Options used to start the Fileshare service. See Fileshare Server Configuration .

To start the Fileshare service as a background process and to stop it:

  1. Make sure the License Manager service is started.
  2. Click Control Panel > Services.
  3. Select Micro Focus Fileshare Service[: service-name] from the list of displayed services.
  4. Click Start or Stop as appropriate.

    You can also choose to start the service automatically whenever Windows starts.

Notes:
  • When you stop the service from the Services window, as above, Fileshare closes down as normal. Any connected Fileshare clients are logged off and their data files closed (with any incomplete transactions rolled back).
  • When you shut down Windows, Fileshare is similarly shut down.
  • If you choose it to start the service automatically and you have logging switched on for any data files, we recommend that you specify a Fileshare backup directory in your database reference file.

For example, the following command installs a service called "Micro Focus Fileshare Service: My Service", which will execute in the c:\mydir directory and use a Fileshare server name of myserver:

fsservice -i "My Service" /wd c:\mydir /s myserver
Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare


Fileshare Server Configuration

Windows:

When the Fileshare Server service starts, it is configured according to the Fileshare Server configuration file. By default, the service takes its configuration from %windir%\system32\fs.cfg, where %windir% is for example c:\winnt\system32. You can edit this file or create your own here or elsewhere.

The /cf option enables you to specify a configuration file containing the configuration options. For example, the following command installs a service called "Micro Focus Fileshare Service: My Service", which takes its configuration from the file c:\mydir\myfs.cfg:

    fsservice -i "My Service" c:\mydir\myfs.cfg

To use a different working directory, specify this using the /wd option as the first entry in your configuration file. On start-up, Fileshare changes to your specified working directory and accesses any files that are not fully qualified as being relative to this working directory. For example, the following command installs a service called "Micro Focus Fileshare Service: My Service", which will execute in the c:\mydir directory:

    fsservice -i "My Service" /wd c:\mydir /cf c:\mydir\myfs.cfg

Because Fileshare runs as a background process, any messages it generates are written to the file fsscreen.lst in the current working directory. Check the contents of this file to diagnose any problems.

Example:

The following is an example of a Fileshare Server configuration file:

    /wd d:\fsdir
    /s server1
    /d dbase.ref

where:

  • /wd d:\fsdir specifies the directory fsdir on the drive d: as the Fileshare Server's current directory. Any data files without fully qualified pathnames are searched for relative to this directory.
  • /s server1 specifies that the Fileshare Server is to register its name on the network as server1
  • /d dbase.ref specifies that Fileshare is to use the database reference file dbase.ref. Because this name is not fully qualified it is searched for in Fileshare's current directory, that is, d:\fsdir.

For details on the configuration options, see the section Server Configuration in the chapter Configuration.

Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Linking the Fileshare Server on Windows
Performance Considerations
Large File Support with Fileshare


Linking the Fileshare Server on Windows

Windows:

If you want to use the Virtual File Handler Interface or your own security modules on Windows, you need to recreate the file fs.dll. You can do this by entering a command line similar to the following:

cbllink.exe -o.\build\bin\fs.dll -d -RE -Mfscmd fscmd.obj fsserver.obj
    fhxscomp.obj fsseclog.obj fsinstpw.obj fsinst.obj fsrcvr.obj
    fspthnam.obj fssecopn.obj fsossec.obj tlogrest.obj
    _codeset.obj mfini.obj c2banner.obj xfhlabel.obj fsdll.res

Alter this command line to suit your own purposes by adding object modules or substituting security modules as necessary.

Alternatively, if you are running Fileshare as a Windows service, you will need to relink the fsservice.exe module using a command similar to the following:

cbllink -Rm -s -Mfssrvice -ofsservice.exe fscmd.obj  fsserver.obj
    fssrvice.obj  CblNTService_Handler.obj  CblNTService_SetStatus.obj
    CblNTService_ServiceRoutine.obj servserv.obj  fhxscomp.obj fsseclog.obj
    fsinstpw.obj fsinst.obj  fsrcvr.obj fspthnam.obj fssecopn.obj
    fsossec.obj tlogrest.obj _codeset.obj mfini.obj c2banner.obj xfhlabel.obj
    fssexe.res

Then uninstall the old version of fsservice and install this new version.

Note:

The .obj files required by the above commands are not supplied with Mainframe Express. If you are using Mainframe Express and need to recreate fs.dll or relink fsservice.exe please contact Micro Focus Product Support who can supply you with additional software containing the required files.

Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Performance Considerations
Large File Support with Fileshare


Performance Considerations

Although Fileshare reduces the number of requests made across the network for COBOL I/O, some types of data file access benefit more than others. The following areas affect Fileshare's ability to improve the speed of accessing remote data:

  • File organization

    A single request to an indexed data file can involve many accesses to the physical data file itself such as reading the header and updating the integrity marker. Complex key structures also increase the number of accesses needed to update the index structure in the file. Using the normal COBOL file handling system, each of these accesses generates a request that is sent across the network. Using Fileshare, only one request is sent across the network. The simpler data file organizations (relative and sequential files) involve a smaller processing overhead.

    Any speed improvements using Fileshare are therefore more apparent when processing indexed data files.

  • I/O request

    The number of accesses to a data file needed to process a WRITE, DELETE or REWRITE operation is generally larger than the number needed to process a READ or START operation. Using the normal COBOL file handling system, each of these accesses generates a request that is sent across the network. Using Fileshare, only one request is sent across the network.

    Any speed improvements using Fileshare are therefore more apparent when performing WRITE, DELETE or REWRITE operations.

  • Concurrent use of data files

    If your program opens a data file exclusively, the normal COBOL file handling system uses caching. This means that it does not have to check to see if the file has been updated on every I/O operation. The number of requests sent across the network, therefore, is significantly less if the data file is opened exclusively.

    Fileshare provides a greater improvement in performance, therefore, when a large number of users require concurrent access to data files than when files are opened exclusively. This is because access and caching are controlled by the Fileshare Server and so the additional requests needed when accessing a shared data file via the normal COBOL file handling system are not needed.

Any speed improvements are therefore very specific to individual applications and become more pronounced as more Fileshare Clients concurrently access the same data files.

We recommend you always use the synchronous mode of operation for best performance with Fileshare. Async-mode should be considered as being for development purposes only, and production installations should always use synchronous operation.

Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Large File Support with Fileshare


Large File Support with Fileshare

Fileshare, by default, supports files that can be up to 32 Terabytes in size.

An alternative technology, file striping, was introduced in previous releases as an interim solution to overcome limitations on the maximum allowed file size some operating systems permit. It enables you to specify that a single data file is to be stored in multiple physical files (or stripes) on disk.

Because of the complications involved with configuring striping together with Fileshare (these issues are discussed below), we recommend that you keep your large files non-striped and instead, configure the file handler to use its standard large file support.

To configure large file support under Fileshare, you should consider the following:

  • Location of the extfh.cfg file

    The extfh.cfg file must be located in the same directory as the Fileshare Server or, if the EXTFH environment variable has been set to point to the extfh.cfg file, it must have been set in the Fileshare Server session.

  • Switching on large file support

    Makes sure the value of FILEMAXSIZE specified in the extfh.cfg file is 8. This is the default value.

The following information explains how to configure striped files under Fileshare control if your operating system does not support large files:

  • Expanded filenames in the extfh.cfg file

    You must use the fully qualified name of the base file in the extfh.cfg configuration file. This name includes the pathnames that you can see if you press F2 at the Fileshare Server to switch tracing on.

    Note:

    You need only do this for files accessed through Fileshare. To enable the file handler to find the setting in extfh.cfg the filename tag must match exactly that specified by the I/O request, which in the case of Fileshare includes a fully qualified path.

  • Backslash character

    The backslash character is treated as an escape character within the extfh.cfg file.

    Windows:

    On Windows platforms you must therefore specify two backslash characters for each backslash character in the pathname, for example:

    [d:\\fsrvr\\file.dat]
Striping=on
  • Alternate filenames

    You can specify file striping on an alternate filename (specified in the database reference file using filename mapping). In this case, the expanded filename is not required. For example, if the database reference file contains the following line:

    /f file1.dat /af file2.dat

    you can specify the following in the extfh.cfg file:

    [file2.dat]
Striping=on
  • StripeNameType

    StripeNameType=1 (the default is StripeNameType=0) only works with Fileshare if the base filename does not have an extension. If you specify StripeNameType=1 for a filename that has an extension, the file is created but it is not striped.

  • Back up and recovery

    The use of striping complicates the process of logging for rollforward recovery because the administrator has to ensure that the correct versions of the files are in the latest backup, and that they are correctly restored in the event of needing to run the Fileshare Recovery Utility. This process is much more complex if file stripes also have to be maintained.

    The Automatic Database Backup and Recovery facility does not work correctly on striped files because it uses low-level I/O routines for backups and restores which are unaware of the stripe configuration.

  • Not using Fileshare

    The filenames passed to the File Handler must match exactly so that the File Handler can locate the filename tags in the extfh.cfg file.

    Generally, only Fileshare passes fully qualified names. Therefore, if you have set up an extfh.cfg file for use under Fileshare with expanded pathnames and then want to access the files outside of Fileshare, you need to change the filename tags in extfh.cfg to match exactly the filenames passed by the application.

Parent topic: Advanced Operation
Related information
Single User Mode
Filename Mapping
Data and Key Compression
Virtual File Handler Interface
Monitoring Fileshare
Fileshare Manager
Fileshare Manager Configuration
Linking Fileshare Manager Applications
Byte-stream I/O Calls
Running Fileshare as a Windows Service
Fileshare Server Configuration
Linking the Fileshare Server on Windows
Performance Considerations


Fileshare on UNIX

  • Running Fileshare as a Background Process
  • The NFILES Setting
Parent topic: Fileshare Guide
Related information
Introduction
Standard Operation
Configuring CCI Communications for Fileshare
Database Integrity
Security
Advanced Operation
Error Handling
Fileshare Server Messages


Running Fileshare as a Background Process

The Fileshare Server uses the Enhanced Accept/Display syntax (Adis module) for its screen displays and keyboard handling. Consequently, the Fileshare Server uses much more processor time if you start it as a background UNIX process. To avoid this overhead, you should configure the Fileshare Server using the -b option. This disables all Fileshare displays and keyboard reading.

Since Fileshare does not read the keyboard in background mode, you cannot close it down in the normal manner using the Esc key sequence.

CAUTION:

Do not kill the Fileshare process because this results in the corruption of any data files which are open.

Instead, write a program which calls Fileshare Manager. Alternatively, you can run the supplied utility fsclose as follows:

cobrun fsclose

The fsclose utility calls Fileshare Manager itself and prompts you for the name of the Fileshare Server you want to close down and the CCI protocol.

Because you can only shut down the Fileshare Server remotely, the Fileshare Server must have been configured to use a password file. See the section Password File Maintenance in the chapter Security for details.

The Fileshare Server does not start in background mode unless you start it with a password file.

In background mode, any messages the Fileshare Server would normally display on the screen are written to the file fsscreen.lst in the Fileshare Server's current directory.

An example configuration file follows.

-s server-1
-pf password.fil
-cm ccitcp

This configuration file specifies:

  • Fileshare Server name is server-1
  • Password file is password.fil
  • Communications protocol to use is CCITCP
  • -b option invokes running in background mode

On UNIX, you can now start the Fileshare Server in background mode by entering:

fs -b > server-1.log 2>&1 &

On some UNIX systems, output can be sent to the terminal after it has been disconnected. When this happens the entire session terminates. Consequently, you need to redirect the output from the command.

Parent topic: Fileshare on UNIX
Related information
The NFILES Setting
Password File Maintenance


The NFILES Setting

On UNIX systems, the NFILES setting defines how many separate file descriptors can be used in the File Handler config file. This can be set for individual accounts and for the system as a whole. You must ensure that the number of separate file descriptors is set sufficiently high for Fileshare which uses them as follows:

  • One file descriptor is used for every file opened on disk. So, two file descriptors are used for each indexed file opened. Note that two users sharing the same file only require the file to be opened once on disk.
  • CCITCP uses one file descriptor for every connected Fileshare client
  • CCITCP uses one file descriptor for every outstanding Fileshare request (normally this is a maximum of two)

For the user account that the Fileshare session uses, NFILES must be set to accommodate the maximum number of open files and the maximum number of Fileshare clients. In addition, the system setting of NFILES may need to be increased.

Parent topic: Fileshare on UNIX
Related information
Running Fileshare as a Background Process


Error Handling

This chapter details:
  • Fileshare-specific causes of run-time status codes returned by the COBOL system
  • Communications errors generated by CCI
  • Transaction processing errors
  • COBOL Run-time Errors
  • Communications Errors
  • Transaction Processing Errors
Parent topic: Fileshare Guide
Related information
Introduction
Standard Operation
Configuring CCI Communications for Fileshare
Database Integrity
Security
Advanced Operation
Fileshare on UNIX
Fileshare Server Messages
Fileshare Server Messages


COBOL Run-time Errors

Status Code | Meaning
9/037 Access is denied. In addition to the normal situations where this error occurs, Fileshare generates this error when:
  • An invalid user-ID and/or password is passed to a Fileshare Server and Fileshare Password Security is active
  • A Fileshare Client attempts to access a particular data file and access is denied

See the chapter Security for more information.
9/100 | A CLOSE operation is tried on a data file that is participating in an active transaction. See the section Transaction Processing in the chapter Database Integrity for more information.
9/124 | A communications error occurred between the Fileshare Client and the Fileshare Server. You can call fs_status to determine the cause of the error. For details of this call see the section Communications Errors.
9/125 Caused by one of these conditions:
  • A transaction or record lock timed out. (See the section Automatic Record Lock Timeout in the chapter Database Integrity.)
  • The Fileshare Client has been forced to log off from the Fileshare Server
  • If you are using the Micro Focus File Handler interface, an invalid Fileshare session ID was passed on the call to the File Handling Redirector module. Check that the six bytes of the FCD from offset 79 have not been changed.
  • A previous access to this open file returned a 9/124 status, so further operations cannot be made
9/126 | The record size used on the I/O operation is too large to be handled by the Fileshare Server. See the description of the /m option in the section Server Configuration in the chapter Configuration.
9/173 | When using the virtual file interface, the program-name specified in the database reference file is not found. See the section Virtual File Handler Interface in the chapter Advanced Operation.
Parent topic: Error Handling
Related information
Communications Errors
Transaction Processing Errors
Security
Transaction Processing
Communications Errors
Automatic Record Lock Timeout
Server Configuration
Virtual File Handler Interface


Communications Errors

Error status 9/124 on an I/O operation indicates that a communications error has occurred between the Fileshare Client and the Fileshare Server.

The most common time for error 9/124 to occur is on the very first I/O request that your program makes. It is then that the Fileshare Client tries to contact the Fileshare Server. If the Fileshare Client is unable to do this, it returns error 9/124. If you receive this error, examine the configuration of Fileshare and check that:

  • The Fileshare Server is started and operational
  • You have specified the correct Fileshare Server name. The name that you specify must exactly match the name specified when the Fileshare Server was started.
  • The Fileshare Client and Fileshare Server are configured to use the same CCI communications protocol
  • You have a working network connection between the Fileshare Client and the Fileshare Server and the correct network driver and software is loaded

Once you have made a successful connection and the Fileshare Server is servicing the request from the Fileshare Client, the request is visible if trace is active at the Fileshare Server. See the section Monitoring Fileshare in the chapter Advanced Operation for more information. Any further communications errors are returned to the program using the error code 9/124. This is a fatal error and the Fileshare Client drops the connection to the Server. To determine the cause of the error, call the entry point fs_status in the the File Handling Redirector module. The format of the call is:

call "fs_status" returning cci-status

where the parameter is defined as:

01 cci-status   pic x(2) comp-x.

On return, cci-status contains the CCI error code returned to the File Handling Redirector module from the CCI module. For details of CCI error codes, please refer to your book, Configuring CCI.

You can make an additional call after error 9/124 to obtain an extended error message. This message is in the form of a text string that indicates a CCI-specific error as well as some additional information. The format of the call is:

call "fs_commserr" using by reference buffer
                         by value maxlen
                         by reference actual-len

where the parameters are defined as:

01 buffer       pic x(n).
01 maxlen       pic x(4) comp-5 value length of buffer.
01 actual-len   pic x(4) comp-5.

On return, buffer contains the extended error message and actual-len contains the length of this message. The additional information in the returned message includes:

  • The date and time that the last error 9/124 was returned
  • Last return code from the CCI module (a 4-digit number)
  • Message code (for the File Handling Redirector module's internal use, a 2-digit number)
  • The CCI error message text

In addition, the File Handling Redirector module automatically logs communications errors in a local file called fhneterr.log. Each entry in the log file has the same format as the buffer returned from the fs_commserr call.

If you do not have a call to fs_commserr in your application, you can check this file for more detailed information following a 9/124 error.

This log file is not deleted by the Fileshare Client. You can, however, delete it if its contents are of no interest.

Parent topic: Error Handling
Related information
COBOL Run-time Errors
Transaction Processing Errors
Monitoring Fileshare
Configuring CCI


Transaction Processing Errors

The COMMIT and ROLLBACK operations work across many data files. You cannot check the file status of any one data file to see if the COMMIT or ROLLBACK operation was successful. Instead, call the entry point fs_status to determine the status of the COMMIT or ROLLBACK operation.

The format of the call is:

call "fs_status" returning t-status

where the parameter is defined as:

01 t-status   pic x(2) comp-x.

A non-zero status indicates that the COMMIT or ROLLBACK operation failed. Fileshare cannot provide definitive information on transaction processing errors because of the complexity of multiple file transactions across networks.

Parent topic: Error Handling
Related information
COBOL Run-time Errors
Communications Errors


Fileshare Server Messages

These are of varying levels of severity:

  • Severe

    Severe level messages indicate that a problem has occurred that has prevented the Fileshare Server carrying out the requested operation. The cause of the error should be rectified and then the operation tried again.

  • Warning

    Warning level messages indicate that a situation was encountered that the Fileshare Server was not expecting, but was able to continue.

  • Informational

    Informational level messages provide information about the operations that the Fileshare Server is performing.

The format of each message is as follows:

FSnnn-x text

where:

Parameter | Description
FS | Fileshare Server message
nnn | Message number
x | Indicates the severity of the message ("S", "W" or "I")
text | Text of the message

For more information on the messages, see the links below.

  • Messages from FS001-S to FS050-W
  • Messages from FS051-W to FS099-W
  • Messages from FS101-I to FS149-I
  • Messages from FS151-I to FS200-W
  • Messages from FS201-S to FS252-S
Parent topic: Fileshare Guide
Related information
Introduction
Standard Operation
Configuring CCI Communications for Fileshare
Database Integrity
Security
Advanced Operation
Fileshare on UNIX
Error Handling


Messages from FS001-S to FS050-W

  • FS001-S The parameter "text " is not recognized as a valid parameter.
    This error status is displayed when the Fileshare Server parses the specified parameters and finds one which it does not recognize.
  • FS004-S The parameter "text " specifies a time-out value that is invalid.
    The /t parameter has been specified in a configuration file, but the characters following do not conform to a valid specification of a time-out value.
  • FS005-S The parameter "text " is too long or invalid.
    The parameter indicated could not be processed correctly. This can be for one of the following reasons:
  • FS006-S The parameter "text " has already been specified.
    A duplicate parameter has been specified and duplicates are not permitted for this parameter.
  • FS007-S Invalid parameter combination.
    Fileshare has processed the specified parameters and is unable to process the information given.
  • FS008-S Communications Initialization Failure.
    An error has occurred when the Fileshare Server initialized CCI or the Fileshare Server was unable to perform the CCI call because the required operating system and/or Micro Focus communication support modules are not available. This error can also indicate a problem with the network setup on the machine (for example, the required drivers have not been loaded).
  • FS009-S The required communications module cannot be found.
    The Fileshare Server tried to load the CCI module required for the protocol specified, but was unable to do so. This implies that the CCI module (or required support modules) cannot be found or they cannot be loaded.
  • FS011-W Communications send failure.
    The Fileshare Server encountered a communications error when it tried to return the result of an I-O operation to a Fileshare Client. This can imply that there is a problem with the network or that the Fileshare Client process terminated abnormally.
  • FS012-W Communications disconnect failure.
    The Fileshare Server tried to drop the connection with the Fileshare Client, but the communications system returned an error. The Fileshare Server tries to disconnect from Fileshare Clients when:
  • FS013-W Communications receive error.
    An unexpected error occurred while receiving information from the communications system. This error implies a problem with the network software or hardware because a message has been received but could not be processed correctly.
  • FS014-W Communications data length not as expected.
    The information sent from the Fileshare Client to the Fileshare Server includes a check on the amount of information that is being sent. This error occurs when the amount of data received by the Fileshare Server is not the same as the amount sent by the Fileshare Client.
  • FS015-W Request from unknown user - request rejected.
    The information received by the Fileshare Server is not recognized as being from a Fileshare Client that is currently logged onto this Fileshare Server.
  • FS016-S The parameter "text " is invalid.
    The parameter has been recognized as a valid parameter, but the option specified for that parameter is not valid. For example, the /o (omit) parameter has been specified, but the option is not t (transaction processing), l (rollforward recovery logging) or s (sequence number checking).
  • FS017-S Unable to open the file : filename.
    The Fileshare Server is unable to create the file specified.
  • FS018-S Log file corrupt - unrecognizable record in file.
    Each record written to the recovery log file has a marker informing the Rollforward Recovery Utility of the type of data contained in the record.
  • FS019-S Log file corrupt - can't read header.
    Each record written to the recovery log file has a marker indicating the type of data contained in the record. This error indicates that the required header record at the beginning of the log file was not found. This implies that the log file has become corrupt, which can happen, for example, if the system crashed while records were being written to the recovery log file.
  • FS020-S The log file does not match the database sequence numbers - recovery aborted.
    Each index file (not C-ISAM) and all variable length record files have (by default) a sequence number stored in the header of the file. A corresponding sequence number is stored in the log file. Checks are made between the sequence numbers in the file headers and the log file to help ensure that the recovery process proceeds successfully.
  • FS021-S There is no log filename specified in the database reference file.
    You have tried to erase a log file entry from the database reference file but there is no log filename specified in the database reference file. The operation therefore cannot be completed successfully.
  • FS022-S The log filename given cannot be found in the database reference file.
    You have failed to erase a log file entry from the database reference file because the log filename specified is not the same as the log filename in the database reference file.
  • FS024-S Failed to open log file : filename.
    The Fileshare Server encountered an error while trying to open or create the rollforward recovery log file. Common causes of this error are:
  • FS025-S Write failure to the log file, Fileshare Server is closing down.
    The Fileshare Server encountered an error while writing a record to the recovery log file. Because the integrity of the log file cannot be guaranteed, the Fileshare Server shuts down so that the updates performed up to the point of failure are not lost.
  • FS026-W Failed to close the log file.
    The Fileshare Server encountered an error while closing the current log file.
  • FS027-S A second log file parameter has been found.
    While processing the database reference file, a second log file parameter was found. There should only ever be one log file specified in the database reference file and this error indicates that the database reference file is corrupt or has been changed without using the Database Reference File Maintenance Utility.
  • FS028-W The log file shows the last session was not shut down successfully.
    When the Fileshare Server shuts down successfully, the last record written to the recovery log file is a special record that marks the end of the recovery log file. This message indicates that the Fileshare Server could not find the special, last record when it opened the log file, suggesting that the log file was not closed in a controlled manner, probably due to a system crash. The log file could have been opened either to append to or read from in order to perform a rollforward recovery.
  • FS029-S The log filename is already specified in the database reference file.
    You have tried to add the name of the recovery log file to the database reference file. However a log filename already exists in the database reference file. A database reference file can only contain one log filename.
  • FS030-S Insufficient disk space to continue logging to log file.
    The amount of space remaining on the disk where the log file is being written has less than 200K bytes of free space remaining. This is not adequate to ensure that the recovery log file can continue to be successfully written.
  • FS031-I Record lock time-out failure on user : user.
    A record lock time-out has occurred on the user indicated. This is due to the user holding a lock on a record for a period of time longer than the record lock time-out period, when another user is trying to access that locked record.
  • FS034-S A filename or log file parameter must be specified.
    The Database Reference File Maintenance Utility has been invoked using the /d option, however a valid parameter for the utility has not been given
  • FS035-S A database reference file must be specified.
    The Database Reference File Maintenance Utility has been invoked, however the name of the database reference file to use has not been specified using the /d parameter. For example, the parameter /f (filename), /l (log filename), /fs (file string) or /backup (backup directory) has been used to invoke the Database Reference File Maintenance Utility but a /d option has not been specified to supply the name of the database reference file.
  • FS037-I The file filename does not have a file header record. Sequence checking is switched off for this file.
    The Fileshare Server has determined that the file indicated does not have a Micro Focus format file header. It is not possible to have sequence numbering on files that do not contain file headers. However, the configuration of the database reference file specifies that sequence number checking should be applied to this file.
  • FS038-S A matching sequence number not found in filename.
    This error message is displayed when the sequence number in the header of the named file does not match the sequence number in the rollforward recovery log file. See the section Database Sequence Numbering in the chapter Database Integrity for full details of database sequence numbering works.
  • FS039-S Improperly closed file - filename.
    The Fileshare Server has found that the file indicated has been marked as corrupt because it was not closed correctly. This implies that the file was not closed in a controlled manner and that the Fileshare Server last accessing the file terminated abnormally.
  • FS040-S Unable to read the file header record in the file filename.
    The Fileshare Server was able to open the file specified, but was not able to read the file header. The file header consists of the first 128 bytes of the file.
  • FS041-S Unable to update the sequence number in the file filename.
    The Fileshare Server was unable to update the sequence number in the header of the file specified. The sequence number in the header of this file cannot be relied on and hence messages relating to incorrect sequence numbers can be ignored. However, careful checks should be made to ensure that the correct version of the file are in place when starting the Fileshare Server or performing a rollforward recovery.
  • FS042-S Unable to open the database reference file: filename.
    The Fileshare Server was unable to open the database reference file indicated
  • FS043-S The database reference file contains an invalid entry.
    The Fileshare Server has found data in the database reference file which is not as expected. This implies that the database reference file has been changed without using the Database Reference File Maintenance Utility or that the database reference file is corrupt in some way.
  • FS044-S Error reading the database reference file.
    An error was encountered when reading the database reference file. The file was successfully opened by the Fileshare Server. This message implies that the file is corrupt or that a disk I/O error occurred. Alternatively, if the database reference file is on a remote drive, a network error could have occurred.
  • FS045-W Duplicate filename specified in the database reference file.
    A duplicate filename was found when the Fileshare Server processed the database reference file. This message implies that the database reference file has been modified, but not using the Database Reference File Maintenance Utility. A given filename should appear only once in the database reference file.
  • FS050-W A log file is not specified in the database reference file.
    The Fileshare Server processed the database reference file but could not find a rollforward recovery log filename. The database reference file should have a recovery log file specified in order that recovery logging can be performed.
Parent topic: Fileshare Server Messages
Related information
Messages from FS051-W to FS099-W
Messages from FS101-I to FS149-I
Messages from FS151-I to FS200-W
Messages from FS201-S to FS252-S


FS001-S The parameter "text " is not recognized as a valid parameter.

The operation did not complete.

Resolution:

Change the indicated parameter and retry the operation.

The valid parameters are given in the sections:

  • Server Configuration in the chapter Configuration
  • Database Reference File Maintenance and Rollforward Recovery Utility in the chapter Database Integrity
  • Password File Maintenance in the chapter Security
Parent topic: Messages from FS001-S to FS050-W
Related information
Server Configuration
Database Reference File Maintenance
Rollforward Recovery Utility
Password File Maintenance


FS004-S The parameter "text " specifies a time-out value that is invalid.

The time-out value is specified in seconds and must be in the range 0 through 99999.

See the section Automatic Record Lock Timeout in the chapter Database Integrity for more information.

Resolution:

Retry the operation using a time-out value in the correct range.

Parent topic: Messages from FS001-S to FS050-W
Related information
Automatic Record Lock Timeout


FS005-S The parameter "text " is too long or invalid.

  • The parameter specified is too long. For example a password has been specified which is more than 20 characters in length.
  • The parameter expects a value, but none has been given. For example, the /t parameter has been specified but no time-out value has been given.

Resolution:

Retry the operation using a correct value for the parameter indicated.

Parent topic: Messages from FS001-S to FS050-W


FS006-S The parameter "text " has already been specified.

Resolution:

Retry the operation ensuring that only one occurrence of the parameter exists.

Parent topic: Messages from FS001-S to FS050-W


FS007-S Invalid parameter combination.

This can be for the following reasons:

  • Not enough parameters have been specified in order for the operation to be processed. For example, you have tried to start the Fileshare Server without giving a server name.
  • The parameters specified do not indicate a valid operation that can be carried out. For example, the combination /s and /r is invalid as the first implies that the Fileshare Server is to start with the server name indicated, whereas the second parameter indicates that a Rollforward Recovery is to be performed.

Resolution:

Ensure that the parameters specified are correct and retry the operation.

Parent topic: Messages from FS001-S to FS050-W


FS008-S Communications Initialization Failure.

Resolution:

Ensure that the required CCI module(s) required for the protocol you are using is/are available. Use the CCI demo program supplied with the product to ensure that the CCI module required can be loaded and initialized.

Ensure that the network software on the machine is installed, configured and operational.

Parent topic: Messages from FS001-S to FS050-W


FS009-S The required communications module cannot be found.

Resolution:

Ensure that the CCI (and required network modules) are installed correctly on the machine.

Try out the CCI demo program supplied with the product with the same CCI protocols before trying the start the Fileshare Server again.

Parent topic: Messages from FS001-S to FS050-W


FS011-W Communications send failure.

See the message FS148-I for more information.

Resolution:

No user action is possible. However, if the error persists, this could indicate that there is a possible problem with the network or that the network has a high volume of traffic.

Parent topic: Messages from FS001-S to FS050-W
Related information
FS148-I


FS012-W Communications disconnect failure.

  • It receives a request from an unknown Fileshare Client
  • The CCI protocol indicated that the Fileshare Client application terminated abnormally

Resolution:

If the error persists, there could be a problem with the network that is being used. Also, ensure that users are closing down Fileshare Client applications correctly and not turning the workstation machines off or using utilities to terminate the Fileshare applications abnormally.

Parent topic: Messages from FS001-S to FS050-W


FS013-W Communications receive error.

See the message FS148-I for more information about the cause of the error.

Resolution:

No direct action by the user is possible. However, if the error persists, there could be a problem with the network that is being used or there could be a high volume of network traffic.

Parent topic: Messages from FS001-S to FS050-W
Related information
FS148-I


FS014-W Communications data length not as expected.

This error should not occur in normal circumstances. If found, it implies that there is a problem with the communications system or that the requester service has not been started when using the NETBIOS protocol.

The Fileshare Server has ignored the data sent from the Fileshare Client.

See also the messages FS151-I and FS082-S for additional information.

Resolution:

If using the NETBIOS protocol, ensure that it is installed correctly, configured and operational.

It is highly likely that the Fileshare Client appears to have stopped because the Fileshare Server has not sent back any reply. Depending on the CCI protocol being used, a time-out occurs in approximately two minutes and a 9/124 status is returned to the application program.

Parent topic: Messages from FS001-S to FS050-W
Related information
FS151-I
FS082-S


FS015-W Request from unknown user - request rejected.

The Fileshare Server has ignored the information that it has received and has returned a 9/125 error status to the Fileshare Client that sent the request.

With some CCI protocols, the session associated with this request is disconnected. See the message FS238-I for additional information.

Resolution:

No action is required.

Parent topic: Messages from FS001-S to FS050-W
Related information
FS238-I


FS016-S The parameter "text " is invalid.

Resolution:

Change the parameter specified to a valid option.

Parent topic: Messages from FS001-S to FS050-W


FS017-S Unable to open the file : filename.

The file may be open already or marked as read-only.

Resolution:

Ensure that the path and filename are valid and that the Fileshare Server has read and write access to the directory.

Parent topic: Messages from FS001-S to FS050-W


FS018-S Log file corrupt - unrecognizable record in file.

This error indicates that the marker in the record header is not recognized which implies that the log file has become corrupted in some way.

This error can occur if the last record of the recovery log file was not written successfully because of a system crash. The Recovery Utility will have processed all of the records up to the point of failure.

Resolution:

Ensure that the correct log file is available to the Fileshare Rollforward Recovery Utility.

Parent topic: Messages from FS001-S to FS050-W


FS019-S Log file corrupt - can't read header.

Resolution:

Ensure that the correct log file is available to the Fileshare Rollforward Recovery Utility. If the correct log file is in place, then the file is corrupt and cannot be used in a rollforward recovery process.

Parent topic: Messages from FS001-S to FS050-W


FS020-S The log file does not match the database sequence numbers - recovery aborted.

This error indicates one of the following:

  • The sequence number in the file headers is greater than that in the log file. This indicates that updates have been applied to the files, without the updates being logged in the log file. Because the log file does not contain all of the updates, it is not possible to perform a rollforward recovery. This also indicates that the rollforward recovery is trying to use the wrong versions of the files.
  • The first sequence number in the recovery log file is larger than the sequence number in the file headers. This indicates that updates have been written to the log file but they have not been applied to the data files. It is not possible to apply the updates from the recovery log file because the versions of the data files and the recovery log file do not match.

Resolution:

Ensure that the correct versions of the data and rollforward recovery log file are being used.

See the section Database Sequence Numbering in the chapter Database Integrity for more information.

Parent topic: Messages from FS001-S to FS050-W
Related information
Database Sequence Numbering


FS021-S There is no log filename specified in the database reference file.

Resolution:

No action is required.

Parent topic: Messages from FS001-S to FS050-W


FS022-S The log filename given cannot be found in the database reference file.

Resolution:

Specify the correct name of the log file when trying to erase the entry from the database reference file.

Parent topic: Messages from FS001-S to FS050-W


FS024-S Failed to open log file : filename.

  • The Fileshare Server does not have read/write access to the log file and/or the directory where the log file resides.
  • The filename specified for the log file is invalid. The filename may not be a valid filename for the operating system on which the Fileshare Server resides or the path specified in the log filename specifies a drive/directory that does not exist.
  • The log file is in use by another process, preventing the Fileshare Server from obtaining exclusive access to the log file.
  • The operating system or the COBOL run-time system is unable to allocate a file handle to the log file.
Parent topic: Messages from FS001-S to FS050-W


FS025-S Write failure to the log file, Fileshare Server is closing down.

The cause of the failure should be investigated. Possible causes include the disk is full, a disk error or, if logging to a remote drive, a network error occurred.

Resolution:

We advise you to have the recovery log file local to where the Fileshare Server is running so that the chances of network errors occurring while writing to the log file are reduced. Also, the Fileshare Server cannot force the operating system to flush records to disk if the log file is not on the local machine.

Parent topic: Messages from FS001-S to FS050-W


FS026-W Failed to close the log file.

Possible causes are that the disk is full or, if logging to a remote drive, a network error occurred.

We advise you to have the recovery log file local to where the Fileshare Server is running so that the chances of network errors occurring while writing to the log file are reduced.

The cause of the failure should be investigated.

Resolution:

It should be possible to use this recovery log file in a rollforward recovery operation as the Fileshare Server has written all of the required information to the file.

Parent topic: Messages from FS001-S to FS050-W


FS027-S A second log file parameter has been found.

Resolution:

Ensure that the correct database reference file is used and that only one recovery log filename is specified in the database reference file.

Only use the Database Reference File Maintenance Utility to change the contents of the database reference file. In this situation however, it may be possible to remove the duplicate entry using a normal text editor. Alternatively the current database reference file can be discarded and a new one created using the Database Reference File Maintenance Utility.

Parent topic: Messages from FS001-S to FS050-W


FS028-W The log file shows the last session was not shut down successfully.

If the Fileshare Server is starting up, the log file is backed up and a new log file created. If you have specified a backup directory in the database reference file, the Rollforward Recovery Utility is invoked automatically.

If a rollforward recovery is being performed, recovery proceeds up to the last full record in the recovery log file (any incomplete transactions are rolled back).

Resolution:

No action is required

Parent topic: Messages from FS001-S to FS050-W


FS029-S The log filename is already specified in the database reference file.

Resolution:

Remove the current log filename from the database reference file using the Database Reference File Maintenance Utility and then add the name of the new log file using the same utility.

Parent topic: Messages from FS001-S to FS050-W


FS030-S Insufficient disk space to continue logging to log file.

The Fileshare Server will close the current recovery log file and wait for it to be backed up before continuing.

Resolution:

Manually back up the current log file and then delete the file. This releases disk space and enables the Fileshare Server to continue logging with a new logfile.

Parent topic: Messages from FS001-S to FS050-W


FS031-I Record lock time-out failure on user : user.

This record lock time-out has caused any transactions that this user has outstanding to be automatically rolled back and all record locks held by this user have been released. See the section Automatic Record Lock Timeout in the chapter Database Integrity for more information.

You can specify the record lock time-out period using the /t option when you configure the Fileshare Server.

On the next I/O operation, a status of 9/125 will be returned to the Fileshare Client application that held the lock.

Resolution:

No action is required, however the time-out period can be changed or disabled if required.

Parent topic: Messages from FS001-S to FS050-W
Related information
Automatic Record Lock Timeout


FS034-S A filename or log file parameter must be specified.

Resolution:

Ensure that when invoking the Database Reference File Maintenance Utility, the option /f (filename), /l (log filename), /fs (file string) or /backup (log file backup directory) is used to specify which action should be taken

Parent topic: Messages from FS001-S to FS050-W


FS035-S A database reference file must be specified.

Resolution:

Include the /d option when invoking the Database Reference File Maintenance Utility to provide the name of the database reference file to use

Parent topic: Messages from FS001-S to FS050-W


FS037-I The file filename does not have a file header record. Sequence checking is switched off for this file.

The Fileshare Server will not apply sequence number checking to this file.

Resolution:

The programs accessing the files should be changed so that they define the files as variable length record files.

It is not possible to have sequence number checking on line sequential files.

If sequence number checking is required, the file must contain a file header. Fixed length indexed, sequential and relative files should be converted to variable length record format.

Alternatively, if sequence number checking is not required for this file, this message can be avoided by explicitly turning sequence number checking off using the /o s option in this file's entry in the database reference file. See the section Database Reference File Maintenance in the chapter Database Integrity for more details.

Parent topic: Messages from FS001-S to FS050-W
Related information
Database Reference File Maintenance


FS038-S A matching sequence number not found in filename.

The named file is listed in the database reference file and sequence number checking is active for the file. This message indicates that an incorrect version of the file is being used. The Fileshare Server does not start until this problem is rectified.

Resolution:

Ensure that the correct version of the file is available to the Fileshare Server and that if sequence numbering is used, all updates performed to the file are done via the Fileshare system. See the section Database Sequence Numbering in the chapter Database Integrity for more information.

Parent topic: Messages from FS001-S to FS050-W
Related information
Database Sequence Numbering


FS039-S Improperly closed file - filename.

Resolution:

The file is corrupt and a backup should be put in place and recovery performed using the Rollforward Recovery Utility. See the section Rollforward Recovery Utility in the chapter Database Integrity for details. If you have specified a backup directory in the database reference file, the recovery will be performed automatically.

If updates to the file have not been logged then the file should be rebuilt using the REBUILD utility.

Parent topic: Messages from FS001-S to FS050-W
Related information
Rollforward Recovery Utility


FS040-S Unable to read the file header record in the file filename.

Resolution:

If sequence number checking is not required for this file then this feature should be omitted for this file using the /o s option in the database reference file.

All files that can have sequence number checking are at least 128 bytes in length as this is the size of a file header (which is required for sequence number checking to be performed).

Parent topic: Messages from FS001-S to FS050-W


FS041-S Unable to update the sequence number in the file filename.

Resolution:

This error is very rare and implies a disk I/O error (or a network error if the file is not on the local Fileshare Server machine).

Parent topic: Messages from FS001-S to FS050-W


FS042-S Unable to open the database reference file: filename.

Resolution:

Ensure that the path and filename are correct and that the Fileshare Server has full read and write access to the file specified.

Also ensure that the Fileshare Server can gain exclusive access to the database reference file and that another process does not have the file open.

Parent topic: Messages from FS001-S to FS050-W


FS043-S The database reference file contains an invalid entry.

Resolution:

Ensure that only the Database Reference File Maintenance Utility is used to change the contents of the database reference file.

Alternatively, discard the current database reference file and re-create the contents of the file using the Database Reference File Maintenance Utility.

Parent topic: Messages from FS001-S to FS050-W


FS044-S Error reading the database reference file.

Resolution:

Try the operation again. If the problem persists, the database reference file is probably corrupt - the current file should be discarded and a new database reference file created using the Database Reference File Maintenance Utility

Parent topic: Messages from FS001-S to FS050-W


FS045-W Duplicate filename specified in the database reference file.

Resolution:

Recreate the database reference file ensuring that each filename appears in the file only once.

Parent topic: Messages from FS001-S to FS050-W


FS050-W A log file is not specified in the database reference file.

Resolution:

If rollforward recovery logging is required, add an entry to the database reference file specifying a rollforward recovery log filename. See the section Database Reference File Maintenance in the chapter Database Integrity for more details.

Parent topic: Messages from FS001-S to FS050-W
Related information
Database Reference File Maintenance


Messages from FS051-W to FS099-W

  • FS051-W Failure to allocate a larger buffer, the I-O request failed.
    When using compression on the communication buffers, this message indicates that there was not enough memory available to the Fileshare Server to enable it to decompress the buffer. The I/O request has failed and the Fileshare Client was returned a 9/105 (out of memory) error.
  • FS052-S Failure to allocate required memory. The Fileshare Server is closing down.
    You see this message when the Fileshare Server is initializing and cannot allocate enough memory for the required internal tables
  • FS055-S The parameter "text " specifies a configuration file that does not exist.
    The Fileshare Server is unable to locate or open the configuration file indicated
  • FS056-S The parameter "text " specifies a data compression value that is not within the range 0-255.
    You have tried to add an entry to the database reference file. This entry specifies a value for the data compression outside of the permitted limits. The data compression option must specify a value within the range 0 through 255. To use the routine CBLDC001 as the compression method on records in the file, specify a compression value of 1.
  • FS057-S The parameter "text " specifies a key compression value that is not within the range 0-7.
    You have tried to add an entry to the database reference file which specifies a value for the key compression outside of the permitted limits.
  • FS058-S Failure to allocate memory for the decompression of the log file.
    The Rollforward Recovery Utility has been invoked but is unable to allocate the required memory so that it can process the recovery log file. This error is displayed during the initialization of the recovery process and indicates a shortage of available memory.
  • FS059-S Failure to allocate the memory required for processing the database reference file.
    When reading in a database reference file (either when the Fileshare Server or the Rollforward Recovery Utility is starting) this message indicates that the Fileshare Server was not able to allocate the required memory to be able to process all of the information in the database reference file
  • FS062-S Failure creating the password file filename.
    The Fileshare Server was unable to create the password file indicated
  • FS063-S Failure opening the password file filename.
    The Fileshare Server was unable to open the password file indicated
  • FS064-S Failure reading the password file filename.
    The Fileshare Server encountered an error reading the information from the password file. This implies that an I/O error occurred, the password file has become corrupted in some way or that a network error occurred if the password file is located on a remote machine.
  • FS065-S The password file is not of a recognized format.
    The first record in the password file is a special record which indicates to the Fileshare Server that the file is a password file. This record also contains information regarding the version of the password file being used.
  • FS066-S The specified user name already exists in the password file.
    You see this message when using the Password File Maintenance Utility and you have tried to add a user name to the password file when the user name already exists in the password file
  • FS068-I The password file is now empty and has been deleted.
    You see this message when you have used /e (erase) option with the Password File Maintenance Utility to remove the last entry from the password file. As the password file is now empty, it has been deleted. If a new password file is required it is created automatically when you add an entry using the Password File Maintenance Utility.
  • FS069-S The specified entry could not be found in the password file.
    This message indicates that you have used /e (erase) option with the Password File Maintenance Utility to remove an entry, but the entry specified does not exist in the password file.
  • FS070-S Failure writing to the password file.
    The Password Maintenance Utility encountered an error when it tried to write information to the password file. This implies that an I/O error occurred (possibly a full disk) or a network error was encountered (if the password file is on a remote machine). The integrity of the password file cannot be guaranteed.
  • FS071-W Unable to load the module FHXSCOMP to decompress the data area.
    This message indicates that the Fileshare Server has received a compressed communications buffer. However, it is unable to load the decompression module FHXSCOMP in order to perform the necessary decompression. There may not be enough memory to load the module or the module may not be found.
  • FS072-S The parameter "text " contains a wild card which is not allowed with this parameter.
    A parameter containing a wild card symbol was specified when invoking the Database Reference File Maintenance Utility but the parameter does not support wild cards.
  • FS073-S Failure to allocate memory to process the password file.
    When reading in a password file (when either the Fileshare Server or the Password File Maintenance Utility is starting), this message indicates that the Fileshare Server was not able to allocate the required memory to be able to process all of the information in the password file.
  • FS074-S The Fileshare Server (NLM) failed to log on to NetWare with the login id specified.
    NLM: This message is only applicable to the Fileshare NLM.
  • FS075-W Unable to load the module FSSECLOG - LOGON has been denied.
    This message indicates that the Fileshare Server failed to call the module FSSECLOG because:
  • FS076-W Unable to load the module FSSECOPN - OPEN has been denied.
    This message indicates that the Fileshare Server failed to call the module FSSECLOG because:
  • FS077-S A Fileshare Server of the same name has already been defined - the Fileshare Server is closing down.
    When the Fileshare Server starts up, it registers its name on the network so that Fileshare Clients can connect to it. This message indicates that the Fileshare Server is trying to register with a name that is already in use by another Fileshare Server on the network.
  • FS079-S A supervisor password entry must exist for the use of background mode.
  • FS080-S No password file has been specified for the use of the synchronous communications mode.
    You have tried to start the Fileshare Server using synchronous communications (as opposed to asynchronous communications which is the default). To enable the use of synchronous communications, you must specify a password file which contains a supervisor-ID of FSVIEW. This enables the Fileshare Server to be closed down remotely using FSVIEW or FSMgr. This is necessary because in this communications mode, the Fileshare Server only checks for keyboard input very occasionally.
  • FS081-S A supervisor password must be specified in the password file for the synchronous communications mode.
    You have tried to start the Fileshare Server using synchronous communications (as opposed to asynchronous communications which is the default). To enable the use of synchronous communications, you must specify a password file which contains a user-ID of FSVIEW. This enables the Fileshare Server to be closed down remotely using FSVIEW or FSMGR. This is necessary because in this communications mode, the Fileshare Server only checks for keyboard input very occasionally.
  • FS082-S The Netbios communications protocol is not responding. Ensure the requester software is loaded and functional.
    You have tried to start the Fileshare Server using the Netbios protocol (CCINETB) but the required network software is not loaded or is not operational. The Fileshare Server is trying to use the NETBIOS software but is receiving invalid data.
  • FS083-S Incompatible CCIIPX.NLM version.
    The Fileshare NLM Server has detected that the version of cciipx.nlm being used is not a compatible version. You are probably trying to use an old version of the CCIIPX NLM with this version of the Fileshare NLM.
  • FS084-I Fileshare Server is starting.
    This message indicates that the Fileshare Server is in the process of initializing. The configuration, database reference and password files (if specified) are being processed and the communications software is being loaded and initialized.
  • FS085-I Fileshare Server is active.
    This message indicates that the Fileshare Server has completed its initialization processing and is now ready to accept incoming requests from Fileshare Clients. At this stage all of the configuration, database reference and password files have been processed and the communications software has been successfully initialized and is operational.
  • FS086-I Fileshare Server is closing down.
    This message indicates that the Fileshare Server has started the process of closing down and will shortly terminate. This can be invoked by the following:
  • FS087-I Fileshare Server has closed down.
    This message indicates that the Fileshare Server has completed all of its termination processing. All communications have stopped, all files closed, all transactions rolled back and any rollforward recovery log file shut. The Fileshare Server can now be restarted when necessary.
  • FS089-I Database Reference File Maintenance Utility.
    The Database Reference File Maintenance Utility has been invoked using the parameters specified on the command line or in the Fileshare Server configuration file. The Database Reference File Maintenance Utility will try to process the remaining parameters specified as options to this utility.
  • FS090-I Database Reference File installation completed successfully.
    The Database Reference File Maintenance Utility has been invoked successfully and the required change made to the database reference file has been made.
  • FS091-I Rollforward Recovery Utility
    The Rollforward Recovery Utility has been invoked using the parameters specified on the command line or in the Fileshare Server configuration file.
  • FS092-I Rollforward Recovery has completed.
    The recovery process is now complete: the files contain the updates recorded in the log file when the Fileshare Server was in use.
  • FS094-I Password File Maintenance Utility.
    The Password File Maintenance Utility has been invoked using the parameters specified on the command line or in the Fileshare Server configuration file.
  • FS096-I Password File installation has completed.
    The Password File Maintenance Utility has successfully updated the password file using the options specified when the Password File Maintenance Utility was invoked.
  • FS097-I Are you sure that you wish to close down the Fileshare Server ? (Y/N)
    You have used the Esc key sequence to close down the Fileshare Server. This message is an additional prompt to avoid closing down the Fileshare Server in error.
  • FS099-W File I/O status was not as expected. Returned status: status Expected status: status Action code: text File: filename.
    This error occurs when a file is being recovered using the Rollforward Recovery Utility. When the log file is written during the normal operation of the Fileshare Server, a record is made in the log file of the status of each I/O operation performed. At the time of recovery, the status returned during the recovery process is compared with that stored in the recovery log file.
Parent topic: Fileshare Server Messages
Related information
Messages from FS001-S to FS050-W
Messages from FS101-I to FS149-I
Messages from FS151-I to FS200-W
Messages from FS201-S to FS252-S


FS051-W Failure to allocate a larger buffer, the I-O request failed.

Resolution:

Free some memory on the machine where the Fileshare Server is running so that it is able to increase the size of its decompression buffers.

Alternatively, reconfigure the Fileshare System so that compression on the communications buffers is not used.

Parent topic: Messages from FS051-W to FS099-W


FS052-S Failure to allocate required memory. The Fileshare Server is closing down.

Resolution:

Free some memory on the machine where the Fileshare Server is running so that more memory is available to the Fileshare Server.

Parent topic: Messages from FS051-W to FS099-W


FS055-S The parameter "text " specifies a configuration file that does not exist.

Resolution:

Ensure that the path and filename are correct and that the Fileshare Server has read access to the file. Also ensure that no other process currently has the file open as the Fileshare Server requires exclusive access to the configuration file.

Parent topic: Messages from FS051-W to FS099-W


FS056-S The parameter "text " specifies a data compression value that is not within the range 0-255.

The specification of compression of records only takes effect when the file is created. Specifying data compression on a file that already exists and contains uncompressed records has no effect.

Resolution:

Specify a data compression value of 0 through 255

See the section Database Reference File Maintenance in the chapter Database Integrity for more information on the /k parameter and valid options.

Parent topic: Messages from FS051-W to FS099-W
Related information
Database Reference File Maintenance


FS057-S The parameter "text " specifies a key compression value that is not within the range 0-7.

The key compression option must specify a value within the range 0 through 7.

Specifying key compression only has an effect at the time that the file is created. Specifying key compression on a file that already exists, but does not have key compression, has no effect.

Resolution:

Specify a key compression value of 0 through 7.

See the section Database Reference File Maintenance in the chapter Database Integrity for more information on the /k parameter and valid options.

Parent topic: Messages from FS051-W to FS099-W
Related information
Database Reference File Maintenance


FS058-S Failure to allocate memory for the decompression of the log file.

Resolution:

Increase the amount of available memory by reducing the number of processes and/or applications running on the same machine where you are running the Rollforward Recovery. Then try to run the Rollforward Recovery Utility again.

Parent topic: Messages from FS051-W to FS099-W


FS059-S Failure to allocate the memory required for processing the database reference file.

Resolution:

Try to make more memory available to the Fileshare Server by reducing the number of processes or applications that are running on the same machine. If this is not possible, reduce the amount of information that is contained in the database reference file.

Parent topic: Messages from FS051-W to FS099-W


FS062-S Failure creating the password file filename.

Resolution:

Ensure that the path and filename are valid and that the specified file is not already open by another process. The Fileshare Server requires read and write permission to the password file and tries to create the file with exclusive access.

Parent topic: Messages from FS051-W to FS099-W


FS063-S Failure opening the password file filename.

Resolution:

Ensure that the path and filename are valid and that the specified file is not already open by another process. The Fileshare Server requires read and write permission to the password file and tries to open the file with exclusive access.

Parent topic: Messages from FS051-W to FS099-W


FS064-S Failure reading the password file filename.

Resolution:

Retry the operation. If the message persists, the password file may be corrupt and should be discarded. A new password file should then be created using the Password File Maintenance Utility.

Parent topic: Messages from FS051-W to FS099-W


FS065-S The password file is not of a recognized format.

This message indicates that the Fileshare Server has not recognized this record in the file as being that identifying a password file. Alternatively the password file has become corrupt.

Resolution:

Check that the path and filename of the password file specified are correct.

If they are correct then the current password file should be discarded and a new one created using the Password File Maintenance Utility.

Parent topic: Messages from FS051-W to FS099-W


FS066-S The specified user name already exists in the password file.

Resolution:

To update a user entry that already exists in the password file, first erase the entry and then add the new entry to the file. See the section Password File Maintenance in the chapter Security for more details.

Parent topic: Messages from FS051-W to FS099-W
Related information
Password File Maintenance


FS068-I The password file is now empty and has been deleted.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W


FS069-S The specified entry could not be found in the password file.

Resolution:

Ensure that the user name and password are correct (that is, exactly those which were specified for the entry to be erased when the entry was first added to the password file). If the user-ID or password are no longer known, you must create a new password file using the Password File Maintenance Utility.

Parent topic: Messages from FS051-W to FS099-W


FS070-S Failure writing to the password file.

Resolution:

Restore the password file from a backup and try to add the new entry again. If no backup is available, discard the current password file and create a new one using the Password File Maintenance Utility.

Ensure that there is enough disk space available on the drive where the password file resides.

Parent topic: Messages from FS051-W to FS099-W


FS071-W Unable to load the module FHXSCOMP to decompress the data area.

Alternatively there may be an insufficient number of file handles available to enable the operating system or run-time system to load the module.

The request received from the Fileshare Client has been discarded.

Resolution:

Ensure that the system module FHXSCOMP is available on your system. Also ensure that there is enough memory available for the module to be loaded and file handles are available to enable the run-time or operating system to load the file.

Parent topic: Messages from FS051-W to FS099-W


FS072-S The parameter "text " contains a wild card which is not allowed with this parameter.

Wild cards are only permitted on database entries defining an alternate program.

See the /ap option in the section Database Reference File Maintenance in the chapter Database Integrity for more details.

Resolution:

Do not specify a wild card symbol for this parameter.

A full path or filename should be given.

Parent topic: Messages from FS051-W to FS099-W
Related information
Database Reference File Maintenance


FS073-S Failure to allocate memory to process the password file.

Resolution:

Try to make more memory available to the Fileshare Server by reducing the number of processes or applications that are running on the same machine. Alternatively, reduce the amount of information that is contained in the password file.

Parent topic: Messages from FS051-W to FS099-W


FS074-S The Fileshare Server (NLM) failed to log on to NetWare with the login id specified.

You see this message when using the /nu option to force the Fileshare Server to log onto NetWare with the specified user-ID. However, the Fileshare NLM Server encountered an error when trying to connect with the user-ID specified. This implies that there is no user account with the user-ID set up on the NetWare server or that you entered an incorrect password when prompted to do so.

Resolution:

Check that the user-ID is correct and that a user account for that ID is defined on the NetWare operating system. Also check that the correct password for this user-ID was entered when prompted.

Parent topic: Messages from FS051-W to FS099-W


FS075-W Unable to load the module FSSECLOG - LOGON has been denied.

  • FSSECLOG is not available
  • There is insufficient memory available to load FSSECLOG
  • There may be an insufficient number of file handles available to enable the operating system or run-timesystem to load FSSECLOG

FSSECLOG is required to validate logon requests to the Fileshare Server by Fileshare Clients. Because one possible cause of this error is that the FSSECLOG module has been removed on purpose, the Fileshare Server does not permit the logon to proceed in this situation.

The Fileshare Client application program has received a 9/037 error status.

Resolution:

Ensure that the module FSSECLOG is available to the Fileshare Server (this can be the FSSECLOG module supplied with the Fileshare system or a user-written one). If the module is available, try making more memory available by reducing the number of other processes or applications running on the machine and ensure that there are enough free file handles available to enable the module to be loaded.

See the chapter Security for more information about the FSSECLOG module.

Parent topic: Messages from FS051-W to FS099-W
Related information
Security


FS076-W Unable to load the module FSSECOPN - OPEN has been denied.

  • FSSECOPN is not available
  • There is insufficient memory available to load FSSECOPN
  • There may be an insufficient number of file handles available to enable the operating system or run-timesystem to load FSSECOPN

FSSECOPN is required to validate open requests to the Fileshare Server by Fileshare Clients. Because one possible cause of this error is that the FSSECOPN module has been removed on purpose, the Fileshare Server does not permit the open to proceed in this situation.

The Fileshare Client application program has received a 9/037 error status.

Resolution:

Ensure that the module FSSECOPN is available to the Fileshare Server (this can be the FSSECOPN module supplied with the Fileshare system or a user-written one). If the module is available, try making more memory available by reducing the number of other processes or applications running on the machine and ensure that there are enough free file handles available to enable the module to be loaded.

See the chapter Security for more information about the FSSECOPN module.

Parent topic: Messages from FS051-W to FS099-W
Related information
Security


FS077-S A Fileshare Server of the same name has already been defined - the Fileshare Server is closing down.

Alternatively, this message can indicate that a Fileshare Server that was using this name terminated abnormally and did not de-register its name from the network.

Resolution:

Ensure that the Fileshare Server name is unique for this server. This is the name that the Fileshare Server is configured to register on the network. If a Fileshare Server that was using this name terminated abnormally, it may be necessary to re-initialize the network software on the machine where that Fileshare Server was running to ensure that its name is no longer registered (what action is required in this situation depends on the communications protocol that is being used).

Parent topic: Messages from FS051-W to FS099-W


FS079-S A supervisor password entry must exist for the use of background mode.

UNIX:

This message is applicable to Fileshare Servers on UNIX only.

It is possible to configure the Fileshare Server to run as a daemon process in the background on UNIX where no information is accepted from the keyboard nor displayed on the screen. When configuring the Fileshare Server to run in this mode, a password file must be used which should contain an FSVIEW (supervisor) user-ID and password. This enables the Fileshare Server to be closed down remotely using FSMgr, FSView or FSCLOSE.

This message indicates that you have tried to run the Fileshare Server in background mode but the password file that you specified does not contain an FSVIEW (supervisor) user-ID or password.

Resolution:

Add a user-ID of FSVIEW and password to the password file specified using the Password File Maintenance Utility.

See the section Password File Maintenance in the chapter Security for more information.

Parent topic: Messages from FS051-W to FS099-W
Related information
Password File Maintenance


FS080-S No password file has been specified for the use of the synchronous communications mode.

Resolution:

When starting the Fileshare Server, use the /pf option in the Fileshare Server configuration file to specify the name of a password file containing a user-ID of FSVIEW. See the sections Password System and Password File Maintenance in the chapter Security for more information.

Parent topic: Messages from FS051-W to FS099-W
Related information
Password System
Password File Maintenance


FS081-S A supervisor password must be specified in the password file for the synchronous communications mode.

This message indicates that a password file has been specified, however, there is no (supervisor) user-ID of FSVIEW in the password file.

Resolution:

Add a user-ID of FSVIEW and a password to the password file using the Password File Maintenance Utility and try the operation again. See the section Password File Maintenance in the chapter Security for more information.

Parent topic: Messages from FS051-W to FS099-W
Related information
Password File Maintenance


FS082-S The Netbios communications protocol is not responding. Ensure the requester software is loaded and functional.

Resolution:

Ensure that the NETBIOS software has been loaded, is functioning and is configured correctly on the machine where you are trying to start the Fileshare Server. Try to start the Fileshare Server again. Alternatively, use another communications protocol.

See the message FS014 for further information.

Parent topic: Messages from FS051-W to FS099-W
Related information
FS014


FS083-S Incompatible CCIIPX.NLM version.

Resolution:

Ensure that the version of cciipx.nlm supplied with the Fileshare Server NLM is the one on the system and that this version is loaded in preference to any earlier version (meaning that this version is on the search path before any older version of the CCIIPX NLM)

Parent topic: Messages from FS051-W to FS099-W


FS084-I Fileshare Server is starting.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W


FS085-I Fileshare Server is active.

Fileshare Client applications can now be started and communicate with this Fileshare Server.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W


FS086-I Fileshare Server is closing down.

  • The Fileshare Server encountered an error when starting up, for example an error was found in a configuration, database reference or password file. Alternatively the communications support could not be started.
  • The user has requested to shut down the Fileshare Server (either by the Esc key sequence or a remote request from FSView or FSMgr)
  • The Fileshare Server has encountered an unrecoverable error during its operation. For example, the remaining disk space where the rollforward recovery log file resides is below the acceptable limits for logging to continue.
  • The Fileshare Server process was terminated by an event external to the Fileshare Server

The Fileshare Server is closing all outstanding connections with Fileshare Clients, rolling back any outstanding transactions, closing all open files and shutting down the communication support.

Depending on the communications protocol that is in use, the Fileshare Client applications may appear to suspend if they are still trying to send requests to this Fileshare Server.

Resolution:

No action is required

Parent topic: Messages from FS051-W to FS099-W


FS087-I Fileshare Server has closed down.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W


FS089-I Database Reference File Maintenance Utility.

If the Database Reference File Maintenance Utility should not have been invoked, check the command line to ensure that neither the /d option nor any other valid Database Reference File Maintenance option has been specified. See the section Database Reference File Maintenance in the chapter Database Integrity for more details.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W
Related information
Database Reference File Maintenance


FS090-I Database Reference File installation completed successfully.

The database reference file specified now contains the change required.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W


FS091-I Rollforward Recovery Utility

If the Rollforward Recovery Utility should not have been invoked, check the command line to ensure that neither the /r option nor any other valid Rollforward Recovery Utility option has been specified. See the section Rollforward Recovery Utility in the chapter Database Integrity for more details.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W
Related information
Rollforward Recovery Utility


FS092-I Rollforward Recovery has completed.

If the updates have been applied successfully, you should back up the recovered files and use a new log file when you restart the Fileshare Server. This ensures that the new recovery log file is in step with the current data files.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W


FS094-I Password File Maintenance Utility.

If the Password File Maintenance Utility should not have been invoked, check the command line to ensure that the /pf option has been used correctly and that no other option specific to the Password File Maintenance Utility has been used. See the section Password File Maintenance in the chapter Security for more details.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W
Related information
Password File Maintenance


FS096-I Password File installation has completed.

Resolution:

No action is required.

Parent topic: Messages from FS051-W to FS099-W


FS097-I Are you sure that you wish to close down the Fileshare Server ? (Y/N)

The Fileshare Server does not accept input from Fileshare Clients whilst waiting for the response to this prompt. Consequently, you should respond quickly to this prompt.

Resolution:

Responding Y to this prompt causes the Fileshare Server to start its termination processing. If there are any files open or users logged onto this Fileshare Server, an additional prompt and confirmation are displayed. When the Fileshare Server shuts down, it rolls back all outstanding transactions, closes all open files, logs off all users and closes down the communication support modules.

If you give any reponse other than Y, the Fileshare Server continues operating as normal.

Parent topic: Messages from FS051-W to FS099-W


FS099-W File I/O status was not as expected. Returned status: status Expected status: status Action code: text File: filename.

This message indicates that the status returned during the recovery process was not the same as that when the operation was performed during the normal Fileshare Server processing when the log file was written.

The Returned status is the status that the Rollforward Recovery Utility encountered when trying to apply the updates from the recovery log file to the data files.

The Expected Status is the status that was returned when this operation was originally performed by the Fileshare Server (and when the log file was being written).

The Action code is the operation code that is being performed.

The name of the file is included in the message.

This error indicates one of the following:

  • The files to which the recovery log file is being applied are not the ones that were in use at the time that the Fileshare Server was started and the log file was created
  • The recovery log file or the files being rolled forward are corrupt
  • A situation has arisen which did not occur when the rollforward recovery file was created during normal Fileshare Server operation

Resolution:

Note the expected and returned error codes and take appropriate action. Also ensure that the correct version of the data files are in place and try to re-run the rollforward recovery.

Parent topic: Messages from FS051-W to FS099-W


Messages from FS101-I to FS149-I

  • FS101-I text -- parameter has been accepted.
    The indicated parameter (and value if required) has been accepted by the Fileshare Server
  • FS103-I The log filename has been added to the database reference file.
    The Database Reference File Maintenance Utility has been invoked to add a recovery log filename to the database reference file and the operation has completed successfully. The database reference file now contains the name of the recovery log file specified.
  • FS104-I The log file cannot be found, creating a new recovery log file.
    The Fileshare Server on starting up has processed the database reference file and determined the name of the rollforward recovery log file to use. The recovery log file does not exist and so the Fileshare Server has created a new one.
  • FS105-W The disk free space for the log file is below acceptable limits.
    The Fileshare Server has detected that the amount of disk space remaining on the drive where the recovery log file is being written is below a certain level.
  • FS106-I filename - added to database reference file.
    This message indicates that the Database Reference File Maintenance Utility has successfully added the filename indicated to the database reference file.
  • FS107-I filename - removed from the database reference file.
    This message indicates that the Database Reference File Maintenance Utility has successfully removed the filename indicated from the database reference file.
  • FS108-I Processing the files specified in the database reference file.
    This message indicates that the Fileshare Server has opened the database reference file and is now scanning through it, processing each filename listed. The type of processing that it performs depends on the utility being used:
  • FS109-W The file filename does not exist.
    You see this message when the filenames listed in the database reference file are being processed and indicates that the file indicated cannot be located physically on disk.
  • FS110-I filename - OK.
    The Fileshare system has successfully processed the entry indicated in the database reference file and the file has been physically located on disk.
  • FS111-W Files are still open. Continue to close down the Fileshare Server (Y/N) ?
    You have selected to close down the Fileshare Server using the Esc key sequence. This message indicates that Fileshare Clients are still connected to this Fileshare Server with files open, or at least one Fileshare Client application program has terminated abnormally leaving one or more files open. You are asked to confirm that you do want to shut down the Fileshare Server even though there are files open.
  • FS114-W Waiting for the old log file to be removed.
    The drive where the rollforward recovery log file is being written has become full and the Fileshare Server is no longer able to continue writing to the rollforward recovery log file. The Fileshare Server is waiting for the old log file to be backed up and then deleted so that it can continue writing to the directory where the log file resides.
  • FS118-I The database sequence number matches the sequence number in the log file, no recovery is needed.
    For files formats with file headers (all index files and variable length record relative and sequential files), the Fileshare Server stores a sequence number in the header. This sequence number is also placed in the recovery log file. The sequence numbers can be checked by the Fileshare Server in certain situations to ensure that the correct files are in use.
  • FS122-I Communications too busy on CCI SEND - retrying.
    The Fileshare Server tried to send a reply back to the Fileshare Client performing an I/O request. CCI returned a Too Busy error (error 10) to the Fileshare Server.
  • FS123-I Communications too busy on CCI RECEIVE - retrying.
    The Fileshare Server tried to receive information from the network but CCI returned a Too Busy error (error 10) to the Fileshare Server
  • FS124-I Checking the validity of the log file, please wait.
    You see this message when the Rollforward Recovery Utility has been invoked and it has not found a valid record as the last record in the recovery log file. The Rollforward Recovery Utility scans through the log file to find the last sequence number that was in use to validate the integrity of the recovery log file.
  • FS125-I Recovery possible to last valid recovery log file record.
    You see this message when the Rollforward Recovery Utility has been invoked. This message indicates that the recovery log file has been validated up to the point of the last complete record in the recovery log file. It is therefore possible to apply the updates stored in the recovery log file up to this point.
  • FS126-I Performing recovery, please wait.
    The Rollforward Recovery Utility has been invoked and has initialized successfully, processed the database reference file, checked the sequence numbers in the file listed in the database reference file and validated the recovery log file.
  • FS127-S Invalid name mapping command.
    You see this message when the Fileshare Server or Rollforward Recovery Utility is processing the command line or entries in the database reference file. An /fs (file string replacement) option has been specified without a corresponding /af option specifying the new string value. The /fs option must be used in conjunction with the /af option.
  • FS128-W Fileshare Server closedown invoked by Stop Run processing.
    This message indicates that the Fileshare Server has entered its termination routine not under the control of an administrator (that is, the Esc key sequence or FSView or FSMgr are not being used to shut down the Fileshare Server).
  • FS129-I The Fileshare Server is still active.
    The response to the prompt as to whether the Fileshare Server should be closed down (see messages FS097 and FS111) indicated that the Fileshare Server should not be shut down.
  • FS130-I Reading database reference file, please wait.
    The Fileshare Server, Database File Maintenance Utility or the Rollforward Recovery Utility is reading the information stored in the database reference file. The utility will try to open the database reference file and process the information held in it.
  • FS131-W Invalid communications mode - parameter ignored.
    You see this message when the Fileshare Server is processing a /cm (communications) option. The value specified for this parameter is not valid and the parameter has been ignored. See the chapters Communications and Configuration for details of valid communications modes.
  • FS132-I The Fileshare Server is running with the following communication protocol(s):
    This message gives a list of the communication protocols that the Fileshare Server is using, after it has performed all of its initialization processing.
  • FS133-I Processing the password file, please wait.
    You see this message displayed by the Fileshare Server when it is starting or by the Password File Maintenance Utility when the password file is being updated.
  • FS134-I The password file cannot be found - creating a new password file.
    The Password File Maintenance Utility displays this message when it cannot locate the password file specified with the /pf option.
  • FS135-I Fileshare Server security is active.
    Fileshare Server security is active and all Fileshare Client applications that try to access this Fileshare Server should supply a valid user-ID and password that are in the password file. If you do not provide a valid user-ID or password, access will be denied and a 9/037 error returned to the application.
  • FS136-I Fileshare Server security is not active.
    A password file has been specified, however the only user-ID specified in the file is the FSVIEW (supervisor) id. Because this is the only ID, Fileshare Server security is not active and Fileshare Client applications that try to access the Fileshare Server do not have to supply a valid user-ID or password.
  • FS138-W The log file has been backed up and a new one has been created.
    You see this message when the Fileshare Server is starting up and a recovery log file already exists. The Fileshare Server has determined that it is unable to append to the recovery log file because the last record in the log file indicates that it was not shut in a controlled manner.
  • FS139-I A matching date and time entry has been found in the log file.
    The Rollforward Recovery Utility displays this message when the /dt option has been used to recover updates to a certain point in time. The Rollforward Recovery Utility has performed the recovery using the recovery log file and has applied the updates up to the date and time specified. This message implies that there were additional records stored in the recovery log file which were not processed as they were written after the time specified.
  • FS140-I No matching date and time entry has been found in the log file.
    You see this message displayed by the Rollforward Recovery Utility when the /dt option has been used to recover updates to a certain point in time. The Rollforward Recovery Utility has performed the recovery using the recovery log file and reached the end of the log file before a record could be found that was written at the date and time specified. This implies that the date and time specified when performing the recovery is later than the date and time that the last record was written to the recovery log file. All the updates stored in the recovery log file have been applied to the data files.
  • FS142-W The Operating System does not permit the log file to be flushed to disk.
    You see this message when the Fileshare Server is using a recovery log file to store updates made to files. At certain points during its operation the Fileshare Server makes a call to the operating system to force it to flush the contents of the recovery log file to disk. This ensures that any data that has been written to the recovery log file is physically stored on disk and can be read in again after a system failure. The Fileshare Server performs this flush operation after every COMMIT operation is performed and at regular intervals (the default being after every 100 records have been written to the recovery log file, which can be changed using a /lc entry in the database reference file).
  • FS143-W The Operating System does not allow free disk space information to be obtained.
    When writing a recovery log file, it is important that there is enough disk space available. Consequently, the Fileshare Server makes periodic checks to see whether sufficient disk space remains.
  • FS144-W More than one communications protocol has been specified - synchronous communications mode not active.
    You have tried to start the Fileshare Server using the synchronous communications mode (as opposed to the asynchronous communications mode which is the default) using the /sc option.
  • FS145-W Fileshare Client disconnected, cannot contact user: text.
    The CCI has returned an error to the Fileshare Server indicating that a Fileshare Client has been disconnected. This message indicates that there may be a problem with the network or that the Fileshare Client application program is no longer functioning.
  • FS146-W Unexpected action code, action-code - discarded.
    You see this message when performing a rollforward recovery. The Rollforward Recovery Utility has read a record from the recovery log file which contains information not relating to any file currently being recovered. The information in the record cannot be processed and the Rollforward Recovery Utility has moved onto the next record in the recovery log file.
  • FS147-I A duplicate network message was received and discarded.
    This message only occurs when you are using the CCIIPX protocol and indicates that you are using an old version of the CCIIPX modules. The buffer sent between the Fileshare Client and Fileshare Server for each I/O request contains additional information which enables the Fileshare Server to check on the validity of the request. This message indicates that the Fileshare Server has received (in error) a duplicate of the previous buffer received from the communications system. This duplicate buffer has been discarded as it is not a valid I/O request.
  • FS148-I CCI return-code (function func) = code.
    You see this message when the Fileshare Server receives an unexpected error status from a CCI module. It is normally displayed in conjunction with a Fileshare Server message indicating the circumstances in which the error occurred.
  • FS149-I CCI SEND not complete, status will be checked later.
    A request sent back to a client application from the Fileshare Server has not completed within the expected time period. This message indicates that the Fileshare Server will continue processing requests from other client applications normally and will check the status of this request at a later time.
Parent topic: Fileshare Server Messages
Related information
Messages from FS001-S to FS050-W
Messages from FS051-W to FS099-W
Messages from FS151-I to FS200-W
Messages from FS201-S to FS252-S


FS101-I text -- parameter has been accepted.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS103-I The log filename has been added to the database reference file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS104-I The log file cannot be found, creating a new recovery log file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS105-W The disk free space for the log file is below acceptable limits.

The amount of disk space remaining is calculated as a percentage of the total size of the disk where the log file is being written. The default is for this warning to be displayed when less than 5 percent of the total disk space remains free. This percentage can be changed using the /p option when entering the log filename into the database reference file using the Database Reference File Maintenance Utility.

Note:

If disk space is not cleared, the drive where the recovery log file is located will become so full as to make rollforward recovery logging impossible.

Resolution:

Clear disk space on the drive where the recovery log file is being written so that the Fileshare Server can continue logging the updates being performed.

Alternatively, if the amount of free disk space is becoming very low, the Fileshare Server should be shut down and the recovery log file backed up and deleted before starting the Fileshare Server again.

Parent topic: Messages from FS101-I to FS149-I


FS106-I filename - added to database reference file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS107-I filename - removed from the database reference file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS108-I Processing the files specified in the database reference file.

  • The Database Reference File Maintenance Utility searches through the list of files to check the integrity of each one and also determine the current sequence numbers that are in use (if any)
  • The Fileshare Server scans the names in the database reference file in order to determine the processing to be done on each file
  • The Rollforward Recovery Utility searches through the list of files to check the integrity of each file and the sequence number in the header of each one

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS109-W The file filename does not exist.

Resolution:

If the file should exist, ensure that the filename and the path specified are correct and that the Fileshare Server is able to open the file with read-write access. Also ensure that the file is not open by another process as the Fileshare system requires exclusive access to the file.

If the file should not exist (for example, it is expected that it will be created by an application program), then this warning can be ignored.

Parent topic: Messages from FS101-I to FS149-I


FS110-I filename - OK.

Resolution:

No action is required as this message is informational.

Parent topic: Messages from FS101-I to FS149-I


FS111-W Files are still open. Continue to close down the Fileshare Server (Y/N) ?

Resolution:

At the prompt enter Y or N depending on whether the Fileshare Server is to be closed down or not.

Parent topic: Messages from FS101-I to FS149-I


FS114-W Waiting for the old log file to be removed.

Resolution:

The current log file should be backed up. The log file should then be moved so that the Fileshare Server can continue writing to the directory. If a rollforward recovery is necessary, the log files should be provided in the order that they were created to the Rollforward Recovery Utility. The Rollforward Recovery Utility will prompt for the continuation log files as they are required, if they cannot be located automatically.

Parent topic: Messages from FS101-I to FS149-I


FS118-I The database sequence number matches the sequence number in the log file, no recovery is needed.

You see this message when the Rollforward Recovery Utility has been invoked to perform a rollforward recovery. The Rollforward Recovery Utility has read the sequence numbers from the header of the files and also the last one that was written to the recovery log file. The sequence number in the headers and in the log file are the same indicating that the last updates written to the recovery log file have been applied to the files. It is therefore not necessary to perform a rollforward recovery as there are no updates in the recovery log file that have not already been applied to the files.

It is not necessary to perform the rollforward recovery.

See the sections Rollforward Recovery Logging and Rollforward Recovery Utility in the chapter Database Integrity for more details.

Resolution:

No action is required

Parent topic: Messages from FS101-I to FS149-I
Related information
Rollforward Recovery Logging
Rollforward Recovery Utility


FS122-I Communications too busy on CCI SEND - retrying.

The Fileshare Server will retry the operation until the CCI protocol has been able to complete the operation.

This message could indicate that the network or network software is reaching a limit or is very busy.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS123-I Communications too busy on CCI RECEIVE - retrying.

The Fileshare Server will retry the request until valid data is returned from CCI

This message could indicate that the network or network software is reaching a limit or is very busy

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS124-I Checking the validity of the log file, please wait.

The fact that the log file does not contain a valid last record indicates that the recovery log file was not closed in a controlled manner and that the Fileshare Server which was writing to the recovery log file terminated abnormally.

See the sections Rollforward Recovery Logging and Rollforward Recovery Utility in the chapter Database Integrity for more information.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I
Related information
Rollforward Recovery Logging
Rollforward Recovery Utility


FS125-I Recovery possible to last valid recovery log file record.

The Rollforward Recovery Utility will apply the updates up to the point of the last valid record stored in the recovery log file.

See the sections Rollforward Recovery Logging and Rollforward Recovery Utility in the chapter Database Integrity for more information.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I
Related information
Rollforward Recovery Logging
Rollforward Recovery Utility


FS126-I Performing recovery, please wait.

The Rollforward Recovery Utility will now start the recovery process. The time required to perform the recovery depends on the number of updates that are logged in the recovery log file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS127-S Invalid name mapping command.

See the section Filename Mapping in the chapter Advanced Operation and the section Database Reference File Maintenance in the chapter Database Integrity for more information on the /fs option.

Resolution:

If the option has been specified on the command line, include the /af option to specify the name of the replacement string value and retry the operation.

If the option is specified in a database reference file, this error indicates that the database reference file has become corrupt or has been changed without using the Database Reference File Maintenance Utility.

In this situation, it may be possible to remove the invalid entry using a normal text editor. If this is unsuccessful, discard the current database reference file and create a new one using the Database Reference File Maintenance Utility.

Parent topic: Messages from FS101-I to FS149-I
Related information
Filename Mapping
Database Reference File Maintenance


FS128-W Fileshare Server closedown invoked by Stop Run processing.

This message should not be displayed under normal circumstances. Possible causes for this error are:

  • Closing the Fileshare Session on Windows. Such methods of closing the Fileshare Server should not be used as it can lead to files being corrupted and the recovery log file not being written to disk correctly.
  • The Fileshare Server has encountered an internal processing error which has caused the closedown code in the run-time system to be invoked. In this situation you should contact our technical support department to try and ascertain the cause of this error.

The Fileshare Server terminates by closing all files, rolling back any outstanding transactions, clearing all communication links with Fileshare Clients and closing the recovery log file (if in use).

Resolution:

You should try to ascertain why the Fileshare Server closed in this manner.

Parent topic: Messages from FS101-I to FS149-I


FS129-I The Fileshare Server is still active.

This message indicates that the Fileshare Server is continuing to function as normal.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I
Related information
FS097
FS111


FS130-I Reading database reference file, please wait.

The amount of time required to process the database reference file depends on the amount of information contained in the file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS131-W Invalid communications mode - parameter ignored.

Resolution:

Ensure that the value specified for the communications parameter is valid.

If you do not wish to specify a communications protocol you should not use the /cm option. The Fileshare Server uses the default communications protocol for the operating system on which it is running.

Parent topic: Messages from FS101-I to FS149-I
Related information
Communications


FS132-I The Fileshare Server is running with the following communication protocol(s):

The Fileshare Client application programs can use any of the protocols listed to contact this Fileshare Server.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS133-I Processing the password file, please wait.

The password file has been successfully located and opened and is now being processed.

The time required for this operation depends on the amount of information that is stored in the password file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS134-I The password file cannot be found - creating a new password file.

The Password File Maintenance Utility will therefore try to create a new password file of the name specified.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS135-I Fileshare Server security is active.

See the chapter Security for more details about the Fileshare Server security features and how to use them.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I
Related information
Security


FS136-I Fileshare Server security is not active.

Logons are validated by the Fileshare Server by calling the FSSECLOG module.

See the chapter Security for more details about the Fileshare Server security features and how to use them.

See the section Password File Maintenance in the chapter Security for more information about supervisor passwords.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I
Related information
Security
Password File Maintenance


FS138-W The log file has been backed up and a new one has been created.

This implies that the Fileshare Server which was previously writing to this log file terminated abnormally.

Because the Fileshare Server is unable to append to the existing log file, it has been renamed and a new recovery log file has been created. This new recovery log file will be used.

Note:

This message implies that the correct sequence of regularly backing up data files and deleting recovery log files is not being performed as the Fileshare Server is being started when a recovery log file already exists.

See the section Rollforward Recovery Logging in the chapter Database Integrity for more details.

Resolution:

No action is required

Parent topic: Messages from FS101-I to FS149-I
Related information
Rollforward Recovery Logging


FS139-I A matching date and time entry has been found in the log file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS140-I No matching date and time entry has been found in the log file.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I


FS142-W The Operating System does not permit the log file to be flushed to disk.

This message indicates that an error was returned from the operating system when it tried to flush the recovery log file to disk. This implies that the operating system does not enable application programs to force I/O buffers to be flushed to disk. Consequently, the Fileshare Server is unable to force the operating system to write the contents of the recovery log file to disk and in the event of a system failure, it is possible that not all of the contents of the recovery log file will be available when the recovery process is performed.

Resolution:

See the section Database Reference File Maintenance in the chapter Database Integrity and Rollforward Recovery for more details.

Parent topic: Messages from FS101-I to FS149-I
Related information
Database Reference File Maintenance


FS143-W The Operating System does not allow free disk space information to be obtained.

This message indicates that the call to the operating system to determine how much disk space is available has returned an error. This implies that the operating system does not enable applications to determine how much disk space is available.

Resolution:

It is the system administrator's responsibility to ensure that sufficient disk space is available, as the Fileshare Server is unable to determine the amount of free space available on the drive. If the Fileshare Server is unable to write a recovery log file because there is insufficient disk space, the Fileshare Server automatically closes down.

Parent topic: Messages from FS101-I to FS149-I


FS144-W More than one communications protocol has been specified - synchronous communications mode not active.

With this mode of communication it is only possible to start the Fileshare Server with one communications protocol.

This message indicates that the Fileshare Server is configured to use more than one communications protocol and so the synchronous communications option has been ignored.

The Fileshare Server has started, but it is not using the synchronous communications mode.

Resolution:

If the synchronous communications mode is required, make sure that the Fileshare Server is configured to use only one communications protocol.

Parent topic: Messages from FS101-I to FS149-I


FS145-W Fileshare Client disconnected, cannot contact user: text.

You see the user number and user name, if one was supplied at the time that this user logged onto the Fileshare Server.

The Fileshare Server has closed all files that this user had open and rolled back any outstanding transactions pending for this user.

The Fileshare Client application, if still active, will be returned a 9/124 error on its next I/O operation.

Resolution:

Check that the Fileshare Client application is still running. Also check for any adverse network conditions that could have forced the connection to have been dropped.

Parent topic: Messages from FS101-I to FS149-I


FS146-W Unexpected action code, action-code - discarded.

This message can indicate that the recovery log file has become corrupted in some way or that the recovery file contains invalid information.

Resolution:

As the rollforward recovery log file contains an invalid record, it is possible that not all of the record updates have been recovered from the file. After the recovery has completed the data in the files should be checked. If the problem recurs contact our technical support department.

Parent topic: Messages from FS101-I to FS149-I


FS147-I A duplicate network message was received and discarded.

Resolution:

Ensure that the latest CCIIPX modules are installed on the Fileshare Client and Fileshare Server machines.

Parent topic: Messages from FS101-I to FS149-I


FS148-I CCI return-code (function func) = code.

The message consists of a function code which indicates which CCI verb was being used at the time of the error and the return-code received from the CCI module.

The Fileshare Server calls CCI to determine details of the error that has occurred. This information is also displayed on the screen.

Resolution:

No action is required. However, the above information should indicate the cause of an error or unexpected occurrence during the Fileshare Server operation. This information should be used with any additional information contained in other messages to determine the cause of any errors.

When contacting our technical support department the above information is important and must be included with any problem report.

Parent topic: Messages from FS101-I to FS149-I


FS149-I CCI SEND not complete, status will be checked later.

Message FS228 is displayed when it is determined that the request eventually either completed or failed.

If you see this message frequently, it may be due to large record sizes taking longer to process than expected on slower network connections.

Resolution:

No action is required.

Parent topic: Messages from FS101-I to FS149-I
Related information
FS228


Messages from FS151-I to FS200-W

  • FS151-I CCI message size received = text. Indicated send message size = text
    You see this message in conjunction with message FS014.
  • FS153-I The Fileshare Server name has been reregistered on the network.
    The Fileshare Server tried to register its name on the network so that Fileshare Clients can contact it. An error status was returned indicating that the Fileshare Server name was already registered on the network by a Fileshare Server which terminated abnormally. As this name is not being used by an active Fileshare Server, the name has been reregistered on the network by the Fileshare Server being started.
  • FS154-I Please enter the FSVIEW supervisor password to enable the use of CCI Trace.
    The Fileshare Server is being started and is configured to use the CCI Trace option. This option can only be used by a supervisor because it can cause a large amount of disk space to be used for storing the CCI Trace file. When starting the Fileshare Server a password file should be specified that contains a user-ID of FSVIEW.
  • FS155-I Password accepted - CCI Trace is enabled. Do you want CCI Trace active immediately? (Y/N)
    You see this message displayed after the supervisor has entered the supervisor password to enable the use of CCI Trace. The Fileshare Server has confirmed that the password entered is correct and it is now possible to use CCI Trace.
  • FS156-W Incorrect password - CCI Trace is disabled.
    You see this message after the FSVIEW supervisor has entered the supervisor password to enable the use of CCI Trace.
  • FS158-I CCI Trace activated.
    This message indicates that the Fileshare Server has enabled the CCI Trace option and all requests made to CCI are being logged in the CCI Trace file.
  • FS159-I CCI Trace switched off.
    This message indicates that the Fileshare Server has turned off the CCI Trace option and all requests made to CCI are no longer being logged in the CCI Trace file. You see this message when the CCI Trace is either:
  • FS160-I Fileshare trace activated.
    You see this message displayed by the Fileshare Server when the trace option has been activated using the F2 key. All requests received by the Fileshare Server will be shown, with the operation code being requested, the name of the user performing the request and some additional information depending on the operation being performed. The result of the operation (including the file status) that is returned to the Fileshare Client is also shown.
  • FS161-I Fileshare trace switched off.
    You see this message displayed by the Fileshare Server when the trace option has been toggled off using the F2 key. The Fileshare Server no longer displays requests received or information about the data being returned to the Fileshare Clients. The Fileshare Server also is no longer writing to the trace file fsscreen.lst if the trace file option was specified when the Fileshare Server was started.
  • FS163-I Input useropcode [filename-1] [ filename-2].
    You see this message when the Fileshare Server trace option is activated and a request has been received by the Fileshare Server. The information displayed is as follows:
  • FS170-I Input- Logon.
    You see this message when the Fileshare Server trace option is activated and a logon request has been received by the Fileshare Server. The Fileshare Server will process the logon request and the result of the request will also be displayed. A logon request is always the first operation performed by a new Fileshare Client connecting to this Fileshare Server.
  • FS171-I Input- Logoff user.
    You see this message when the Fileshare Server trace option is activated and a log off request has been received by the Fileshare Server. If the Fileshare Client supplied a user name when it logged onto this Fileshare Server, the user name is displayed here if Fileshare Security is active. If no user name was supplied, then the user number is displayed.
  • FS172-I Input- Find File userfilename.
    You see this message when the trace option is activated and a Find File request has been received by the Fileshare Server from a Fileshare Client when a program tries to open a file. The Fileshare Server that should process the file has not been explicitly defined and more than one default Fileshare Server is configured.
  • FS173-I Output- userstatus.
    You see this message when the Fileshare Server trace option is activated and a request has been processed by the Fileshare Server and the result sent back to the Fileshare Client
  • FS176-W There is no backup directory specified in the database reference file.
    You tried to erase a backup directory entry from the database reference file but the database reference file does not contain a backup directory entry
  • FS177-S The backup directory specified cannot be found in the database reference file.
    You tried unsuccessfully to erase a backup directory-name from the database reference file. This is because the backup directory-name specified is not the same as the backup directory-name in the database reference file.
  • FS178-I The backup directory has been added to the database reference file.
    The Database Reference File Maintenance Utility has been invoked to add a backup directory-name to the database reference file and the operation has completed successfully. The database reference file now contains the name of the backup directory specified.
  • FS179-S A backup directory is already specified in the database reference file.
    You tried to add the name of the backup directory to the database reference file. However such an entry already exists in the database reference file which can only contain one recovery log file backup directory-name.
  • FS180-W The log filename specified has an extension. The name of the log file has been changed to "filename".
    The Database Reference File Maintenance Utility has been invoked to add the name of the recovery log file to the database reference file. The name of the log file specified contained an extension and this has been removed. The extension is removed to enable the Fileshare Server to automatically backup the recovery log file when necessary. The name of the log file added to the database reference file is shown.
  • FS182-W Output- Access Denied
    You see this message when the Fileshare Server trace option is activated and a logon request was received by the Fileshare Server from the Fileshare Client. This logon request has been denied, either because:
  • FS188-W Fileshare Server database reference file installation completed with errors.
    The Database Reference File Maintenance Utility has been used to update the contents of the database reference file. However, an error was found when parsing the command line passed to the utility or when processing the information stored in the database reference file.
  • FS189-W The backup directory does not exist.
    The Database Reference File Maintenance Utility has been invoked to add the name of a backup directory to the database reference file.
  • FS190-W The backup directory specifies the name of an existing file.
    The Database Reference File Maintenance Utility has been invoked to add the name of a backup directory to the database reference file.
  • FS191-W An error occurred accessing the backup directory.
    The Database Reference File Maintenance Utility has been invoked to add the name of a backup directory to the database reference file.
  • FS192-S More than one log file exists in the log file directory.
    You see this message when the Fileshare Server is starting up. The Fileshare Server has searched the directory where the recovery log file is to be written and has determined that more than one recovery log file exists in the directory. The Fileshare Server is unable to determine which of these recovery log files is a valid one and hence which one it can append data to.
  • FS193-S Unable to open the log file.
    The Fileshare Server has determined that a recovery log file exists in the directory where the recovery log file is specified but an error was returned when the Fileshare Server tried to open it.
  • FS194-I The log file "filename-1" has been backed up successfully to "filename-2".
    This message indicates that the Fileshare Server has successfully backed up the recovery log file. The backup operation was performed either as a request from FSVIEW or FSMGR or because the current recovery log file cannot be appended to and has been automatically backed up when the Fileshare Server has started. filename-1 is the name of the log file that has been backed up. filename-2 is the name of the file that the log file has been backed up to.
  • FS195-I The Fileshare Server is using the log file "filename".
    The Fileshare Server has successfully opened (and created if necessary) the recovery log file indicated and is writing recovery records to this log file.
  • FS196-W Unable to create the log file "filename".
    The Fileshare Server tried to create the recovery log file indicated, but was unable to do so.
  • FS197-S Unable to create the log file "filename".
    The Fileshare Server tried to create the recovery log file indicated, but was unable to do so.
  • FS198-W The attempt to backup the log file failed because the backup file "filename" already exists.
    The Fileshare Server was unable to backup the recovery log file to the directory and name specified because a file of that name already exists.
  • FS199-S The attempt to backup the log file failed because the backup file "filename" already exists.
    The Fileshare Server was unable to backup the recovery log file to the directory and name specified because a file of that name already exists.
  • FS200-W The attempt to backup the log file to "filename" failed.
    The Fileshare Server tried to copy the recovery log file to the directory and name specified but encountered an error when doing so. Possible causes are that the directory is full or that a disk I/O error occurred during the copying process.
Parent topic: Fileshare Server Messages
Related information
Messages from FS001-S to FS050-W
Messages from FS051-W to FS099-W
Messages from FS101-I to FS149-I
Messages from FS201-S to FS252-S


FS151-I CCI message size received = text. Indicated send message size = text

The information sent from the Fileshare Client to the Fileshare Server includes a check on the amount of information that is being sent. This error states that the amount of data received by the Fileshare Server is not the same as the amount sent by the Fileshare Client.

This message shows the amount of data that has been received by the Fileshare Server and also the amount of data that was sent by the Fileshare Client.

The Fileshare Server has ignored the data sent from the Fileshare Client.

Resolution:

If using the NETBIOS protocol, ensure that it is installed correctly, configured and operational.

It is highly likely that the Fileshare Client appears to have stopped because the Fileshare Server has not sent any reply back. Depending on the CCI protocol being used, a time-out occurs in approximately two minutes and a 9/124 status is returned to the application program.

Parent topic: Messages from FS151-I to FS200-W
Related information
FS014-W


FS153-I The Fileshare Server name has been reregistered on the network.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS154-I Please enter the FSVIEW supervisor password to enable the use of CCI Trace.

See the section Password File Maintenance in the chapter Security for more information.

See also the messages FS155 and FS156.

Resolution:

At this prompt enter the supervisor password that corresponds to the entry in the password file for the user-ID of FSVIEW

Parent topic: Messages from FS151-I to FS200-W
Related information
Password File Maintenance
FS155
FS156


FS155-I Password accepted - CCI Trace is enabled. Do you want CCI Trace active immediately? (Y/N)

This prompt is to determine if the Fileshare Server is to trace communication requests immediately and include all of the CCI initialization requests made by the Fileshare Server.

Resolution:

Responding Y enables the Fileshare Server to start using CCI Trace immediately and causes all CCI initialization requests to be traced to the CCI Trace file. The CCI Trace remains operational until toggled off using the F3 key.

Entering any other response apart from Y does not enable CCI trace immediately. However, CCI trace can be toggled on at a later time using the F3 key.

See also the messages FS154 and FS156.

Parent topic: Messages from FS151-I to FS200-W
Related information
FS154
FS156


FS156-W Incorrect password - CCI Trace is disabled.

The Fileshare Server has determined that the password entered is incorrect and has consequently disabled the use of the CCI Trace feature.

Resolution:

If CCI Trace is required then the Fileshare Server should be brought down using the Esc key sequence. Ensure that when starting the Fileshare Server the /pf option is used to specify a password file that contains a password for the user-ID FSVIEW. When prompted to enter the supervisor password the password for the FSVIEW user-ID should be entered.

If CCI Trace is not required then no action is required as the Fileshare Server has started and the CCI Trace feature is not enabled. However, to prevent this message in future, the Fileshare Server should be reconfigured not to use CCI Trace.

Parent topic: Messages from FS151-I to FS200-W


FS158-I CCI Trace activated.

You see this message when either CCI Trace is made active on start-up, or is toggled on using the F3 key while the Fileshare Server is operational.

Note:

The CCI Trace file can become very large. If no disk space remains to enable the CCI Trace file to be written, no errors are reported and the tracing of CCI requests is suspended.

Resolution:

No action is required

Parent topic: Messages from FS151-I to FS200-W


FS159-I CCI Trace switched off.

  • Not made active immediately on the Fileshare Server starting up (see the message FS155)

    or

  • Toggled off using the F3 key while the Fileshare Server is operational

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W
Related information
FS155


FS160-I Fileshare trace activated.

If the trace to a file option was specified when the Fileshare Server was started then the information displayed on the screen is also written to a file called fsscreen.lst.

The trace option can be toggled off using the F2 key.

See also message FS161.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W
Related information
FS161


FS161-I Fileshare trace switched off.

The trace option can be toggled on using the F2 key.

See also message FS160.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W
Related information
FS160


FS163-I Input useropcode [filename-1] [ filename-2].

user | If the Fileshare Client supplied a user name when it logged onto this Fileshare Server then the user name is displayed here if Fileshare Security is active. If no user name was supplied, the user number is displayed. The user number is generated when the Fileshare Client logs onto this Fileshare Server. The first Fileshare Client has user-ID 1, the second user-ID 2, etc.
opcode | This is an indication of the type of action requested by the Fileshare Client. Most normal operations appear as an action-code. If a byte stream operation is being performed, the name of the operation is displayed. For COMMIT operations, an indication is given if the COMMIT is part of a prepare, confirm or abort stage of the transaction processing (if the transaction spans more than one Fileshare Server).
filename-1 | If the operation being performed is specific to a file then the name of the file is displayed here
filename-2 | If the operation being performed is specific to a file and requests to the file are being mapped to a different file using the alternate filename mapping option, the actual name of the file being processed is displayed here

The information displayed will also be written to a file called fsscreen.lst if the trace file option was specified when the Fileshare Server was started.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS170-I Input- Logon.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS171-I Input- Logoff user.

The user number is generated when the Fileshare Client logs onto this Fileshare Server. The first Fileshare Client has user-ID 1, the second user-ID 2.

A logoff request is the last operation performed by a Fileshare Client when the Fileshare Client application program terminates.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS172-I Input- Find File userfilename.

The Fileshare Client is in the process of polling each default Fileshare Server to determine if that Fileshare Server should process requests for this file.

The information displayed is as follows:

user | If the Fileshare Client supplied a user name when it logged onto this Fileshare Server, the user name is displayed here if Fileshare Server security is active. If no user name was supplied, then the user number is displayed. The user number is generated when the Fileshare Client logs on to this Fileshare Server. The first Fileshare Client has user-ID 1, the second user-ID 2.
filename | The name of the file that the Fileshare Client is trying to open

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS173-I Output- userstatus.

The information displayed is as follows:

user | If the Fileshare Client supplied a user name when it logged onto this Fileshare Server then the user name is displayed here. If no user name was supplied, the user number is displayed. The user number is generated when the Fileshare Client logs onto this Fileshare Server. The first Fileshare Client has user-ID 1, the second user-ID 2.
status | The error status generated from the result of the requested operation. For normal file I/O operations this is the same format as standard file I/O statuses. Note that this status may not be the status that is returned to the application program. The Fileshare Client uses the status displayed here to do any status conversion necessary (for example, to an RM COBOL status) before returning the status to the application program.

For byte-stream I/O calls and other functions, the code returned to the Fileshare Client is displayed.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS176-W There is no backup directory specified in the database reference file.

Resolution:

No action is necessary (as the erase operation is not required because there is no backup directory name specified in the database reference file).

Parent topic: Messages from FS151-I to FS200-W


FS177-S The backup directory specified cannot be found in the database reference file.

Resolution:

Specify the correct backup directory-name when trying to erase the entry from the database reference file. If the name specified in the database reference file is not known then the current database reference file should be discarded and a new one created using the Database Reference File Maintenance Utility.

Parent topic: Messages from FS151-I to FS200-W


FS178-I The backup directory has been added to the database reference file.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS179-S A backup directory is already specified in the database reference file.

Resolution:

Remove the current backup directory-name from the database reference file using the Database Reference File Maintenance Utility (/e erase option) and then add the name of the new backup directory using the same utility.

Parent topic: Messages from FS151-I to FS200-W


FS180-W The log filename specified has an extension. The name of the log file has been changed to "filename".

Resolution:

No action is required (as the Fileshare Server has removed the extension and added the altered name to the database reference file). To avoid this message in the future, do not use a filename with an extension when adding a recovery log filename to the database reference file.

Parent topic: Messages from FS151-I to FS200-W


FS182-W Output- Access Denied

  • Password security is active and an incorrect password or user-ID was supplied.

    or

  • Password security is not active and the logon validation by the module FSSECLOG failed.

Resolution:

If the password file security option is:

  • Active, ensure that the application program has supplied a valid user-ID and password to the Fileshare Client. Also ensure that the user-ID and password are in the password file that was specified when the Fileshare Server was started.
  • Inactive, the logon has been denied by the FSSECLOG module. This module supplied with the Fileshare Server enables any Fileshare Client to log on to the Fileshare Server. This therefore suggests that the logon has been denied by a user-supplied FSSECLOG module and the appropriate action should be taken.

See the chapter Security for more information.

Parent topic: Messages from FS151-I to FS200-W
Related information
Security


FS188-W Fileshare Server database reference file installation completed with errors.

The database reference file has been left unaltered as the operation was unsuccessful.

Resolution:

Ensure that the command line specified for the Database Reference File Maintenance Utility is correct. Other messages displayed by the Database Reference File Maintenance Utility indicate which error has occurred.

For information on valid parameters, see the section Database Reference File Maintenance in the chapter Database Integrity .

Parent topic: Messages from FS151-I to FS200-W
Related information
Database Reference File Maintenance


FS189-W The backup directory does not exist.

This message indicates that the directory specified does not exist.

The backup directory-name has been added to the database reference file.

Resolution:

Check that the directory-name and path specified are correct. If they are not correct, the entry should be removed from the database reference file (using the /e (erase) option and the Database Reference File Maintenance Utility) and the correct entry added to the database reference file using the same utility.

If the path and directory-name are correct, ensure that the directory is created or made available to the Fileshare Server before starting the Fileshare Server, so that the automatic backup can take place. If the directory does not exist, the Fileshare Server fails when trying to back up the recovery log file or the data files automatically when required to do so.

Parent topic: Messages from FS151-I to FS200-W


FS190-W The backup directory specifies the name of an existing file.

This message indicates that the directory specified is the name of a file and not the name of a directory.

The backup directory-name has been added to the database reference file.

Resolution:

Check that the directory-name and path specified are correct. If they are not correct, the entry should be removed from the database reference file (using the /e (erase) option and the Database Reference File Maintenance Utility) and the correct entry added to the database reference file using the same utility.

If the path and directory-name are correct then before starting the Fileshare Server, ensure that a directory of the name specified is created or made available to the Fileshare Server so that the automatic backup can take place. The file of this name should be removed.

If the directory does not exist, the Fileshare Server fails when trying to back up the data files or the recovery log file automatically when required to do so.

Parent topic: Messages from FS151-I to FS200-W


FS191-W An error occurred accessing the backup directory.

This message indicates that the Database Reference File Maintenance Utility received an unexpected error when verifying that the directory exists.

See also messages FS189-W and FS190-W.

The backup directory-name has been added to the database reference file.

Resolution:

If the path and directory-name are correct, ensure that a directory of the name specified is created or made available to the Fileshare Server before starting the Fileshare Server, so that the automatic backup can take place.

If the directory does not exist or cannot be accessed, the Fileshare Server fails when trying to back up the data files or the recovery log file automatically when required to do so.

Parent topic: Messages from FS151-I to FS200-W
Related information
FS189-W
FS190-W


FS192-S More than one log file exists in the log file directory.

Recovery log files have an extension which start with L. This message indicates that the correct procedures for backing up data files and deleting recovery log files are not being followed.

The Fileshare Server will not start up until this problem is resolved.

Resolution:

Ensure that the correct recovery log file is in the directory where the log file is to be written. Alternatively ensure that the directory does not contain any recovery log file so that the Fileshare Server creates a new one when it starts up.

Make sure that the correct procedures for using rollforward recovery logging are used. See the sections Rollforward Recovery Logging and Rollforward Recovery Utility in the chapter Database Integrity.

Parent topic: Messages from FS151-I to FS200-W
Related information
Rollforward Recovery Logging
Rollforward Recovery Utility


FS193-S Unable to open the log file.

This error indicates that the Fileshare Server does not have the correct permissions to access the file or that the recovery log file is in use by another process. The Fileshare Server requires read and write access to the recovery log file and will try to open the file with exclusive access.

This message can occur:

  • When the Fileshare Server is starting up, in which case the Fileshare Server will not start and the problem should be corrected before the Fileshare Server is started again
  • When the Fileshare Server is in the process of backing up the recovery log file. The backup of the log file failed and the Fileshare Server has tried to use the original recovery log file. However, the opening of the recovery log file failed. In this situation, the logging of updates is suspended.

Resolution:

Ensure that the Fileshare Server has read and write access permissions to the recovery log file and that the file is not in use by another process.

Parent topic: Messages from FS151-I to FS200-W


FS194-I The log file "filename-1" has been backed up successfully to "filename-2".

If a recovery log file backup directory has been specified, then the backed-up recovery log file is in the backup directory.

If the log file was backed up when the Fileshare Server started, this indicates that the old recovery log file was not closed in a controlled manner. Not all of the updates in the old log file can be applied to the data files if a rollforward recovery becomes necessary. You are advised to close down the Fileshare Server and perform a rollforward recovery with the old recovery log file to restore the data files to a consistent state. The recovery log file should then be discarded and a new one will be created when the Fileshare Server is restarted.

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS195-I The Fileshare Server is using the log file "filename".

Resolution:

No action is required.

Parent topic: Messages from FS151-I to FS200-W


FS196-W Unable to create the log file "filename".

The Fileshare Server was unable to create the new recovery log file after backing up the one that was in use. As the Fileshare Server is already operational, it does not close down. The Fileshare Server tries to re-open the old recovery log file and tries to continue writing recovery records to it. This message indicates that overall, the backing up of the recovery log file failed. The Fileshare Server is still operational.

Resolution:

Ensure that the log filename contains a valid directory and filename. The Fileshare Server requires read-write access to the log file and permissions to create the file if necessary. Ensure that, if the file of this name already exists, it is not being used by another process.

Parent topic: Messages from FS151-I to FS200-W


FS197-S Unable to create the log file "filename".

The Fileshare Server was unable to create the recovery log file when it was starting up and so will not start. The problem should be rectified before trying to start the Fileshare Server again.

Resolution:

Ensure that the log filename contains a valid directory and filename. The Fileshare Server requires read-write access to the log file and permissions to create the file if necessary. Ensure that, if the file of this name already exists, it is not being used by another process.

Parent topic: Messages from FS151-I to FS200-W


FS198-W The attempt to backup the log file failed because the backup file "filename" already exists.

The Fileshare Server was unable to backup the log file that is currently in use. As the Fileshare Server is already operational, it cannot close down. The Fileshare Server tries to re-open the old recovery log file and tries to continue writing recovery records to it. This message indicates that overall, the backing up of the recovery log file failed. The Fileshare Server is still operational.

Resolution:

Remove the filename indicated so that the recovery log file can be automatically backed up.

This message can indicate that the correct sequence of backing up data files and removing recovery log files is not being followed.

See the section Rollforward Recovery Logging in the chapter Database Integrity for more details.

Parent topic: Messages from FS151-I to FS200-W
Related information
Rollforward Recovery Logging


FS199-S The attempt to backup the log file failed because the backup file "filename" already exists.

The Fileshare Server was unable to back up the log file to which it cannot append. The Fileshare Server is unable to append to the current recovery log file and is also unable to back it up and will therefore not start. The problem should be rectified before trying to start the Fileshare Server again.

Resolution:

Remove the filename indicated so that the recovery log file can be automatically backed up.

This message can indicate that you are not following the correct sequence of backing up data files and removing recovery log files.

See the section Rollforward Recovery Logging in the chapter Database Integrity for more details.

Parent topic: Messages from FS151-I to FS200-W
Related information
Rollforward Recovery Logging


FS200-W The attempt to backup the log file to "filename" failed.

The Fileshare Server was unable to back up the log file that is currently in use. As the Fileshare Server is already operational, it cannot close down. The Fileshare Server will try to re-open the old recovery log file and continue to write recovery records to that. This message indicates that overall, the backing up of the recovery log file failed. The Fileshare Server is still operational.

Resolution:

Ensure that the filename and directory of the backup file are correct. Also ensure that there is enough disk space in the backup directory for the recovery log file to be copied.

If you are trying to start the Fileshare Server, this message can indicate that you are not following the correct sequence of backing up data files and removing recovery log files. See the section Rollforward Recovery Logging in the chapter Database Integrity for more details.

Parent topic: Messages from FS151-I to FS200-W
Related information
Rollforward Recovery Logging


Messages from FS201-S to FS252-S

  • FS201-S The attempt to backup the log file to "filename" failed.
    The Fileshare Server failed to copy the recovery log file to the directory and name specified. Possible causes are that the directory is full or that a disk I/O error occurred during the copying process.
  • FS202-I The Fileshare Server will continue logging to the log file "filename".
    The Fileshare Server failed to backup the recovery log file as part of an FSView or FSMgr operation and is trying to continue logging to the old recovery log file specified.
  • FS203-I The Fileshare Server is appending to the log file "filename".
    The Fileshare Server has found a valid recovery log file to which it is able to append data.
  • FS204-W The Fileshare Server is unable to log to the log file "filename". Rollforward recovery logging is disabled.
    The Fileshare Server has failed to back up the recovery log file as part of an FSView or FSMgr operation. Consequently, the Fileshare Server does not have a valid recovery log file into which it can write records.
  • FS205-W Unable to remove the old recovery log file "filename".
    The Fileshare Server has successfully backed-up the recovery log file as part of an FSView or FSMgr operation. However, deleting the old recovery log file returned an unexpected error. The Fileshare Server tries to create the new recovery log file.
  • FS206-S There is more than one starter log file. The Recovery Utility is unable to determine which one to use.
    You see this message when the Rollforward Recovery Utility has determined that there is more than one starter recovery log file. When the Fileshare Server starts, it creates a starter recovery log file and a new log file.
  • FS207-I There is no starter log file in the log file directory.
    The Rollforward Recovery Utility has been invoked and has scanned all of the recovery log files in the current directory. It has not found a starter log file, so the recovery cannot start using a log file in the recovery log file directory.
  • FS208-S There is no starter log file in the backup directory.
    The Rollforward Recovery Utility has been invoked and has scanned all of the recovery log files in the backup directory. No starter log file was found and so the recovery cannot commence.
  • FS209-I A starter log file has been located in the backup directory.
    The Rollforward Recovery Utility has not found a starter log file in the recovery log file folder, but one was located in the backup folder. The Rollforward Recovery Utility can start the rollforward recovery.
  • FS210-S There is more than one starter log file in the backup directory.
    The Rollforward Recovery Utility has scanned through all of the recovery log files that are in the backup directory and has determined that there is more than one starter recovery log file.
  • FS211-S An error occurred checking the header on the log file "filename".
    The Rollforward Recovery Utility found the log file indicated but was unable to open it. This message can also indicate that the file was opened successfully but the Rollforward Recovery Utility could not read the first record in the file.
  • FS212-I The Rollforward Recovery Utility is processing the log file "filename".
    The Rollforward Recovery Utility has successfully opened the starter or continuation recovery log file indicated and is processing the update information contained in it
  • FS213-W Unable to locate the continuation log file "filename" in the log file directory.
    The Rollforward Recovery Utility has processed the first recovery log file.
  • FS214-I Searching for a backed up log file in the log file directory.
    The Rollforward Recovery Utility cannot find the required recovery log file in the current log file directory. It is now searching for a backed-up copy of the required recovery log file in the log file directory.
  • FS215-I Searching for a backed up log file in the backup directory.
    The Rollforward Recovery Utility cannot find the required recovery log file in the current log file directory. It is now searching for a backed-up copy of the required recovery log file in the backup directory
  • FS216-I No backed up starter log file can be found in the log file directory.
    The Rollforward Recovery Utility has searched unsuccessfully for a backed-up starter recovery log file in the log file current directory
  • FS217-I No backed up starter log file can be found in the backup directory.
    The Rollforward Recovery Utility has searched unsuccessfully for a backed-up starter recovery log file in the backup directory
  • FS218-I No backed up continuation log file can be found in the log file directory.
    The Rollforward Recovery Utility has searched unsuccessfully for a backed-up continuation recovery log file in the current log file directory
  • FS219-I No backed up continuation log file can be found in the backup directory.
    The Rollforward Recovery Utility has searched unsuccessfully for a backed-up continuation recovery log file in the backup folder
  • FS220-I A backed up starter log file has been found in the log file directory.
    The Rollforward Recovery Utility has found a backed-up starter log file in the current log file recovery directory.
  • FS221-I A backed up starter log file has been found in the backup directory.
    The Rollforward Recovery Utility has found a backed-up starter log file in the backup directory.
  • FS222-I A backed up continuation log file has been found in the log file directory.
    The Rollforward Recovery Utility has found a backed-up continuation log file in the current recovery log file directory.
  • FS223-I A backed up continuation log file has been found in the backup directory.
    The Rollforward Recovery Utility has found a backed-up continuation log file in the backup directory.
  • FS224-S The log file directory contains more than one backed up starter log file.
    The current log file directory contains more than one backed-up starter log file and so the Rollforward Recovery Utility is unable to determine which one is the correct one to use.
  • FS225-S The backup directory contains more than one backed up starter log file.
    The Rollforward Recovery Utility has searched the backup directory for a backed-up starter log file. The backup directory contains more than one backed-up starter log file and so cannot determine which one is the correct one to use.
  • FS227-W Failure to set Fileshare Server's access rights.
    You only see this message displayed by the Fileshare NLM.
  • FS228-I CCI SEND status checked.
    A request sent back from the Fileshare Server to a client application, which previously had not completed within the expected time period, has now either failed or completed successfully.
  • FS229-I Unrecognized CCI session ID - could not disconnect user.
    The Fileshare Server tried to disconnect a Fileshare Client. However, the CCI session ID is invalid which means that the Fileshare Server cannot find details of this Fileshare Client.
  • FS230-I User : user-IDuser-name
    You see this message when the Fileshare Server has received an error from a CCI module following a communications request. The error message indicates a problem has occurred in contacting a specific Fileshare Client.
  • FS231-S The parameter "nnn" is not numeric.
    You see this message when the Fileshare Server is parsing the information supplied on the command line or in the Fileshare Server configuration file. The option specified requires a value which is numeric, however the value specified is not numeric and so that parameter cannot be processed.
  • FS232-I Date : date.
    This information is written to a Fileshare Server trace file (if one is in use) when the Fileshare Server starts up. It is also written to the Fileshare Server trace file when the date of the previous message written to the trace file is different to the current date and a new message is being written to the trace file.
  • FS233-W Unable to set the maximum amount of dynamic memory to the limit specified.
    This message is only displayed by the Fileshare NLM.
  • FS234-W The parameter "text " specifies a memory limit below the minimum of 6 Mbytes allowed.
    This message is only displayed by the Fileshare NLM.
  • FS235-W Failure to allocate memory for incomplete CCI SEND processing.
    The Fileshare Server has tried to allocate some memory in order to process CCI requests to multiple Fileshare Client sessions simultaneously, but there is insufficient free memory available. Consequently, the Fileshare Server may not be able to process communications requests correctly.
  • FS236-I The log file name has been removed from the database reference file.
    This message indicates that the Database Reference File Maintenance Utility has successfully removed the log file name from the database reference file
  • FS237-S The next log file to use filename already exists, unable to back up current log file.
    The Fileshare Server was unable to create the recovery log file because a file of the same name already exists
  • FS237-W The next log file to use filename already exists, unable to back up current log file.
    The Fileshare Server has tried to back up the current log file but was unable to create a new recovery log file because a file of that name already exists. The Fileshare Server will try to re-open the old log file and continue to write records to it.
  • FS238-I Terminating communications with this user.
    You see this message, together with FS015-W, when the network connection with an unknown Fileshare Client terminates
  • FS239-I Output - user Record locked. Retry operation.
    You see this message when tracing is enabled and an I/O operation returns a status of record locked. The user application making the request is compiled with the RETRYLOCK directive which specifies that the request is automatically retried when a status of record locked is returned. The Fileshare Server sends this message to the Fileshare Client requesting that it retries the operation.
  • FS240-I Output - user File locked. Retry operation.
    You see this message when tracing is enabled and an I/O operation returns a status of file locked. The user application making the request has the Callable File Handler RETRYOPEN option set which specifies that the open request is automatically retried when a status of file locked is returned. The Fileshare Server sends this message to the Fileshare Client requesting that it retries the operation.
  • FS241-I Output - user Insufficient log file disk space. Retry operation.
    You see this message when tracing is enabled and the amount of free disk space available to the Fileshare Server to log updates in the log file is below 200 Kbytes. See the messages FS030-S and FS114-W for further information.
  • FS243-S Failure backing up the file filename1 to filename2.
    During an automatic backup of the data files, an error has occurred while copying the file specified by filename1 to the destination specified by filename2
  • FS244-S Failure restoring the backed up file filename1 to filename2.
    An error has occurred while copying the file specified by filename1 to the destination specified by filename2 during an automatic restoration of the data files before running the Recovery Utility
  • FS245-S Failure deleting the log file filename.
    A failure occurred when Fileshare tried to delete the redundant log file, filename.
  • FS246-I Backing up database files to directory backup directory. Please wait.
    The data files listed in the database reference file are being copied to the directory specified by the /backup option
  • FS247-I Restoring database files from directory backup directory. Please wait.
    The data files listed in the database reference file are being copied from the directory specified by the /backup option to their correct locations in preparation for a Fileshare Recovery
  • FS248-I Commencing automatic Fileshare Recovery.
    This message indicates that the Fileshare Recovery Utility has been automatically invoked because the Fileshare Server has detected that the previous server session did not close down successfully
  • FS249-I Restarting Fileshare Server.
    This message indicates that the automatic Fileshare Recovery has completed successfully and that the Fileshare Server is restarting
  • FS250-I Deleting all unwanted log files.
    This message indicates that Fileshare is deleting redundant log files before re-starting the Fileshare Server when a new log file is created
  • FS251-S Logging must be activated for all files when specifying a backup directory.
    You have specified that update logging is to be switched off for one of the files named in the database reference file but have also specified a backup directory-name. You cannot do this because Fileshare automatically backs up (and restores where necessary) all the files listed in the database reference file, in order to keep them synchronized with the log file, when a backup directory is specified. If logging is not active for all files, Fileshare cannot guarantee that it can restore and recover the correct versions of these files.
  • FS252-S Failure deleting the file filename.
    An error occurred while deleting the file filename during an automatic backup or restoration of the data files
Parent topic: Fileshare Server Messages
Related information
Messages from FS001-S to FS050-W
Messages from FS051-W to FS099-W
Messages from FS101-I to FS149-I
Messages from FS151-I to FS200-W


FS201-S The attempt to backup the log file to "filename" failed.

The Fileshare Server is unable to append to the current recovery log file and is also unable to back it up and so will not start. You should rectify the problem before trying to re-start the Fileshare Server.

Resolution:

Ensure that the filename and directory of the backup file are correct. Also ensure that there is enough disk space in the backup directory for the recovery log file to be copied.

If you are trying to start the Fileshare Server, this message can indicate that you are not following the correct sequence of backing up data files and removing recovery log files. See the section Rollforward Recovery Logging in the chapter Database Integrity for more details.

Parent topic: Messages from FS201-S to FS252-S
Related information
Rollforward Recovery Logging


FS202-I The Fileshare Server will continue logging to the log file "filename".

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS203-I The Fileshare Server is appending to the log file "filename".

This message indicates that you are not following the recommended sequence of backing up data and removing recovery log files. A recovery log file already existed when the Fileshare Server started.

See the section Rollforward Recovery Logging in the chapter Database Integrity for more details.

Resolution:

No action is required

Parent topic: Messages from FS201-S to FS252-S
Related information
Rollforward Recovery Logging


FS204-W The Fileshare Server is unable to log to the log file "filename". Rollforward recovery logging is disabled.

Rollforward recovery logging has been suspended.

Resolution:

Terminate the Fileshare Client applications and shut down the Fileshare Server. Then back up the data files, remove the recovery log file and restart the Fileshare Server to create a new recovery log file.

Parent topic: Messages from FS201-S to FS252-S


FS205-W Unable to remove the old recovery log file "filename".

Resolution:

Ensure that the Fileshare Server has the correct permissions to enable it to delete the old recovery log file. Remove the old recovery log file manually if the backup operation has succeeded. This releases more disk space for recovery logging to take place.

Parent topic: Messages from FS201-S to FS252-S


FS206-S There is more than one starter log file. The Recovery Utility is unable to determine which one to use.

Thus, if the Fileshare Server:

  • Starts and there is no recovery log file available, it creates one
  • Automatically backs up the recovery log file, it backs up the starter recovery log file and creates a continuation recovery log file
  • Performs another back up, it backs up the continuation recovery log file and creates another continuation recovery log file

A rollforward recovery can only proceed when there is only one starter recovery log file to use.

Resolution:

Ensure that the correct recovery log files are in place and then try to re-run the rollforward recovery process.

This message indicates that you are not following the correct sequence of backing up data files and removing recovery log files. See the section Rollforward Recovery Logging in the chapter Database Integrity for more details.

Parent topic: Messages from FS201-S to FS252-S
Related information
Rollforward Recovery Logging


FS207-I There is no starter log file in the log file directory.

The Fileshare Server now searches for a starter recovery log file that has been backed up to the recovery log file backup directory.

Resolution:

If no starter recovery log file is found in the recovery log file backup directory, it is not possible for the rollforward recovery to be performed. Place the correct starter recovery log file in the recovery log file directory and try to re-run the rollforward recovery.

Parent topic: Messages from FS201-S to FS252-S


FS208-S There is no starter log file in the backup directory.

Resolution:

Place the correct starter recovery log file in the recovery log file directory and invoke the Rollforward Recovery Utility again to perform rollforward recovery.

Parent topic: Messages from FS201-S to FS252-S


FS209-I A starter log file has been located in the backup directory.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS210-S There is more than one starter log file in the backup directory.

A rollforward recovery can only start when there is only one starter recovery log file to use.

See the section Rollforward Recovery Logging in the chapter Database Integrity for more information.

Resolution:

Ensure that the correct recovery log files are in place and then re-try the rollforward recovery process.

This message indicates that you are not following the recommended sequence of backing up data files and removing recovery log files.

Parent topic: Messages from FS201-S to FS252-S
Related information
Rollforward Recovery Logging


FS211-S An error occurred checking the header on the log file "filename".

Resolution:

Ensure that the Rollforward Recovery Utility has read and write access to the file indicated. Also ensure that the utility is able to open the file exclusively and that it is not currently in use by another process.

Parent topic: Messages from FS201-S to FS252-S


FS212-I The Rollforward Recovery Utility is processing the log file "filename".

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS213-W Unable to locate the continuation log file "filename" in the log file directory.

The marker at the end of the recovery log file indicates that there is an additional recovery log file to be processed. This message indicates that the Rollforward Recovery Utility cannot find the next recovery log file in the same directory as the previous recovery log file.

The Rollforward Recovery Utility tries to find the next recovery log file in the backup directory if one has been specified.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS214-I Searching for a backed up log file in the log file directory.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS215-I Searching for a backed up log file in the backup directory.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS216-I No backed up starter log file can be found in the log file directory.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS217-I No backed up starter log file can be found in the backup directory.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS218-I No backed up continuation log file can be found in the log file directory.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS219-I No backed up continuation log file can be found in the backup directory.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS220-I A backed up starter log file has been found in the log file directory.

The Rollforward Recovery Utility will open and try to process the recovery log file that it has located.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS221-I A backed up starter log file has been found in the backup directory.

The Rollforward Recovery Utility will open and try to process the recovery log file which it has located

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS222-I A backed up continuation log file has been found in the log file directory.

The Rollforward Recovery Utility will open and try to process the recovery log file which it has located.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS223-I A backed up continuation log file has been found in the backup directory.

The Rollforward Recovery Utility will open and try to process the recovery log file which it has located.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS224-S The log file directory contains more than one backed up starter log file.

It is not possible to start the rollforward recovery process.

This message indicates that you have not followed the recommended sequence of backing up data files and removing unneeded recovery log files. See the section Rollforward Recovery Logging in the chapter Database Integrity for more information.

Resolution:

Ensure that only the correct backed-up starter recovery log file is in the log file directory. Then re-start the rollforward recovery process.

Parent topic: Messages from FS201-S to FS252-S
Related information
Rollforward Recovery Logging


FS225-S The backup directory contains more than one backed up starter log file.

It is not possible to start the rollforward recovery process.

This message indicates that you are not following the correct sequence of backing up data files and removing unneeded recovery log file. See the section Rollforward Recovery Logging in the chapter Database Integrity for more information.

Resolution:

Ensure that only the correct backed-up starter recovery log file is in the backup directory. Then re-start the rollforward recovery process.

Parent topic: Messages from FS201-S to FS252-S
Related information
Rollforward Recovery Logging


FS227-W Failure to set Fileshare Server's access rights.

The Fileshare NLM encountered an error when trying to set the Fileshare Server's access rights on the NetWare operating system.

This operation is performed after an I/O operation has been carried out for a Fileshare Client. Because this operation has failed, the Fileshare Server has assumed the access rights of that Fileshare Client.

This message indicates that the Fileshare Server's connection to the NetWare operating system is no longer valid. The Fileshare Server will try to connect with supervisor access rights to the NetWare operating system.

Resolution:

If this error persists you should contact our technical support department.

Parent topic: Messages from FS201-S to FS252-S


FS228-I CCI SEND status checked.

See also the message FS149.

A second message following this one indicates the outcome of the request in question. If this suggests frequent communications errors, there may be errors on the network or client applications may be terminating abnormally. The request completed normally if no message follows.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S
Related information
FS149


FS229-I Unrecognized CCI session ID - could not disconnect user.

A possible cause of this error is that CCI indicated that a Fileshare Client application program terminated abnormally, but the Fileshare Server is unable to locate details about the Fileshare Client which has terminated.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS230-I User : user-IDuser-name

This message provides information regarding the user-ID and the user-name (if available) of the Fileshare Client that the Fileshare Server tried to contact.

Resolution:

No action is required.

Use details contained in other messages displayed by the Fileshare Server to determine the cause of the error.

Parent topic: Messages from FS201-S to FS252-S


FS231-S The parameter "nnn" is not numeric.

Resolution:

Correct the Fileshare Server command line option or the Fileshare Server configuration file entry so that the value for the parameter indicated is numeric. Then try to re-start the Fileshare Server with the new command line or configuration file.

Parent topic: Messages from FS201-S to FS252-S


FS232-I Date : date.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS233-W Unable to set the maximum amount of dynamic memory to the limit specified.

This message indicates that the Fileshare NLM is configured to use a maximum amount of dynamically-allocated memory (using the /mm option).

The Fileshare Server was unable to set the limit of the amount of dynamically-allocated memory and therefore tries to allocate memory as required, with no upper limit.

Resolution:

The message indicates an internal Fileshare NLM failure. Please contact our technical support department.

Parent topic: Messages from FS201-S to FS252-S


FS234-W The parameter "text " specifies a memory limit below the minimum of 6 Mbytes allowed.

This message indicates that the Fileshare NLM is configured to use a maximum amount of dynamically-allocated memory (using the /mm option).

However, the amount of memory that it is configured to use is below the minimum of 6 Mbytes in which the Fileshare NLM can successfully operate. The Fileshare NLM has set the amount of dynamically-allocated memory it can use up to six megabytes.

Resolution:

Specify a different value for the /mm option so that the amount of dynamically-allocated memory that it can use is at least six megabytes

Parent topic: Messages from FS201-S to FS252-S


FS235-W Failure to allocate memory for incomplete CCI SEND processing.

Making more memory available to the Fileshare Server session after this message has been displayed will not rectify the problem with this particular request, although it might enable the Fileshare Server to allocate memory if it needs to in the future. However, the Fileshare Server process is near the limit of memory available to it which could adversely affect its operation.

See also the message FS149.

Resolution:

Make more memory available by closing other active applications on the machine where the Fileshare Server is running in order to avoid Fileshare Server memory problems in general.

Parent topic: Messages from FS201-S to FS252-S
Related information
FS149


FS236-I The log file name has been removed from the database reference file.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS237-S The next log file to use filename already exists, unable to back up current log file.

Resolution:

The Fileshare Server has not started. Ensure that no file already exists with the same name as that which the Fileshare Server is trying to use for the next recovery log file. Then re-start the Fileshare Server.

Parent topic: Messages from FS201-S to FS252-S


FS237-W The next log file to use filename already exists, unable to back up current log file.

Resolution:

The Fileshare Server continues to run but the back up of the recovery log file has failed. Ensure that no file already exists with the same name as that which the Fileshare Server is trying to use for the next recovery log file.

Parent topic: Messages from FS201-S to FS252-S


FS238-I Terminating communications with this user.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S
Related information
FS015-W


FS239-I Output - user Record locked. Retry operation.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS240-I Output - user File locked. Retry operation.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS241-I Output - user Insufficient log file disk space. Retry operation.

Resolution:

Because the Fileshare Server can no longer guarantee that it can store updates in the log file, it has suspended operations and is waiting for the log file to be removed in order to create more disk space. While operations are suspended any requests from Fileshare Clients are rejected. Refer to messages FS030-S and FS114-W

Parent topic: Messages from FS201-S to FS252-S
Related information
FS030-S
FS114-W


FS243-S Failure backing up the file filename1 to filename2.

Resolution:

Ensure that no other process is currently accessing either filename1 or filename2 and that the Fileshare Server has sufficient access permissions to carry out this operation.

Parent topic: Messages from FS201-S to FS252-S


FS244-S Failure restoring the backed up file filename1 to filename2.

Resolution:

Ensure that no other process is currently accessing either filename1 or filename2 and that the Fileshare Server has sufficient access permissions to carry out this operation. Then re-start the Recovery Utility. If this was invoked automatically during the Fileshare Server start-up, you also need to re-start the server manually once the recovery has completed successfully.

Parent topic: Messages from FS201-S to FS252-S


FS245-S Failure deleting the log file filename.

Resolution:

Ensure that no other process is accessing the file and that the Fileshare Server has sufficient permissions to delete the log file. Fileshare cannot start up and log updates to the correct log file until the redundant log file is deleted. Once the problem is rectified you need to restart the Fileshare Server.

Parent topic: Messages from FS201-S to FS252-S


FS246-I Backing up database files to directory backup directory. Please wait.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS247-I Restoring database files from directory backup directory. Please wait.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS248-I Commencing automatic Fileshare Recovery.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS249-I Restarting Fileshare Server.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS250-I Deleting all unwanted log files.

Resolution:

No action is required.

Parent topic: Messages from FS201-S to FS252-S


FS251-S Logging must be activated for all files when specifying a backup directory.

Resolution:

If you are adding the name of a data file to the database reference file, you must add it without specifying the /o l option.

If you are adding a backup directory-name using the /backup option, you should first remove any database reference file entries for files which have logging switched off

Parent topic: Messages from FS201-S to FS252-S


FS252-S Failure deleting the file filename.

Resolution:

Ensure that no other process is accessing the file and that the Fileshare Server has sufficient permissions to delete it. You will then need to re-start the Fileshare Server or the Fileshare Recovery Utility (depending on which you were trying when the error occured).

Parent topic: Messages from FS201-S to FS252-S


Copyright and Legal Information

  • Copyright and Trademarks
  • Secure Communications (SSL) Legal Information
  • Cyrus SASL License
  • NET SNMP Copyright
  • OpenLDAP Public License


Copyright and Trademarks

Copyright © Micro Focus IP Development Limited 1984-2011. All rights reserved. The software and information contained herein are proprietary to, and comprise valuable trade secrets of, Micro Focus IP Development Limited, which intends to preserve as trade secrets such software and information. This software is an unpublished copyright of Micro Focus and may not be used, copied, transmitted, or stored in any manner. This software and information or any other copies thereof may not be provided or otherwise made available to any other person.

Micro Focus IP Development Limited has made every effort to ensure that this book is correct and accurate, but reserves the right to make changes without notice at its sole discretion at any time. The software described in this document is supplied under a license and may be used or copied only in accordance with the terms of such license, and in particular any warranty of fitness of Micro Focus software products for any particular purpose is expressly excluded and in no event will Micro Focus be liable for any consequential loss.

Micro Focus, the Micro Focus Logo, Micro Focus Server, Micro Focus Studio, Net Express, Net Express Academic Edition, Net Express Personal Edition, Server Enterprise Edition, Server Express, Mainframe Express, Animator, Application Server, AppMaster Builder, APS, Data Express, Enterprise Server, Enterprise View, EnterpriseLink, Object COBOL Developer Suite, Revolve, Revolve Enterprise Edition, SOA Express, Visual COBOL, Unlocking the Value of Legacy, and XDB are trademarks or registered trademarks of Micro Focus IP Development Limited in the United Kingdom, the United States and other countries.

IBM®, z/OS®, CICS® and RACF® are registered trademarks, and IMS™ is a trademark, of International Business Machines Corporation.

All other trademarks are the property of their respective owners.

Reference to third party companies, products and web sites is for information purposes only and constitutes neither an endorsement nor a recommendation. Micro Focus provides this information only as a convenience to users. Micro Focus makes no representation whatsoever regarding the content of any other web site or the use of any such third party products. Micro Focus shall not be liable in respect of your use or access to such third party products/web sites.

No part of this publication, with the exception of the software product user documentation contained on a CD-ROM, may be copied, photocopied, reproduced, transmitted, transcribed, or reduced to any electronic medium or machine-readable form without prior written consent of Micro Focus IP Development Limited. Contact your Micro Focus representative if you require access to the modified Apache Software Foundation source files.

Licensees may duplicate the software product user documentation contained on a CD-ROM, but only to the extent necessary to support the users authorized access to the software under the license agreement. Any reproduction of the documentation, regardless of whether the documentation is reproduced in whole or in part, must be accompanied by this copyright statement in its entirety, without modification.

U.S. GOVERNMENT RESTRICTED RIGHTS. It is acknowledged that the Software and the Documentation were developed at private expense, that no part is in the public domain, and that the Software and Documentation are Commercial Computer Software provided with RESTRICTED RIGHTS under Federal Acquisition Regulations and agency supplements to them. Use, duplication or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFAR 252.227-7013 et. seq. or subparagraphs (c)(1) and (2) of the Commercial Computer Software Restricted Rights at FAR 52.227-19, as applicable. Contractor is Micro Focus IP Development Limited, One Irvington Center, 700 King Farm Boulevard, Suite 400, Rockville, Maryland 20850. Rights are reserved under copyright laws of the United States with respect to unpublished portions of the Software.

Parent topic: Copyright and Legal Information


Cyrus SASL License

/* CMU libsasl
 * Tim Martin
 * Rob Earhart
 * Rob Siemborski
 */
/*
 * Copyright (c) 1998-2003 Carnegie Mellon University.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The name "Carnegie Mellon University" must not be used to
 *    endorse or promote products derived from this software without
 *    prior written permission. For permission or any other legal
 *    details, please contact
 *      Office of Technology Transfer
 *      Carnegie Mellon University
 *      5000 Forbes Avenue
 *      Pittsburgh, PA  15213-3890
 *      (412) 268-4387, fax: (412) 268-7395
 *      tech-transfer@andrew.cmu.edu
 *
 * 4. Redistributions of any form whatsoever must retain the following
 *    acknowledgment:
 *    "This product includes software developed by Computing Services
 *     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
 *
 * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
 * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
 * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
 * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
Parent topic: Copyright and Legal Information


NET SNMP Copyright

---- Part 1: CMU/UCD copyright notice: (BSD like) -----

       Copyright 1989, 1991, 1992 by Carnegie Mellon University

          Derivative Work - 1996, 1998-2000
Copyright 1996, 1998-2000 The Regents of the University of California

             All Rights Reserved

Permission to use, copy, modify and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appears in all copies and
that both that copyright notice and this permission notice appear in
supporting documentation, and that the name of CMU and The Regents of
the University of California not be used in advertising or publicity
pertaining to distribution of the software without specific written
permission.

CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL CMU OR
THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL,
INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

---- Part 2: Networks Associates Technology, Inc copyright notice (BSD) -----

Copyright (c) 2001-2003, Networks Associates Technology, Inc
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

*  Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.

*  Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

*  Neither the name of the Networks Associates Technology, Inc nor the
   names of its contributors may be used to endorse or promote
   products derived from this software without specific prior written
   permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

---- Part 3: Cambridge Broadband Ltd. copyright notice (BSD) -----

Portions of this code are copyright (c) 2001-2003, Cambridge Broadband Ltd.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

*  Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.

*  Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

*  The name of Cambridge Broadband Ltd. may not be used to endorse or
   promote products derived from this software without specific prior
   written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

---- Part 4: Sun Microsystems, Inc. copyright notice (BSD) -----

Copyright © 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
California 95054, U.S.A. All rights reserved.

Use is subject to license terms below.

This distribution may include materials developed by third parties.

Sun, Sun Microsystems, the Sun logo and Solaris are trademarks or registered
trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

*  Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

*  Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

*  Neither the name of the Sun Microsystems, Inc. nor the
    names of its contributors may be used to endorse or promote
    products derived from this software without specific prior written
    permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

---- Part 5: Sparta, Inc copyright notice (BSD) -----

Copyright (c) 2003-2005, Sparta, Inc
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

*  Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.

*  Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

*  Neither the name of Sparta, Inc nor the names of its contributors may
   be used to endorse or promote products derived from this software
   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

---- Part 6: Cisco/BUPTNIC copyright notice (BSD) -----

Copyright (c) 2004, Cisco, Inc and Information Network
Center of Beijing University of Posts and Telecommunications.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

*  Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.

*  Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

*  Neither the name of Cisco, Inc, Beijing University of Posts and
   Telecommunications, nor the names of their contributors may
   be used to endorse or promote products derived from this software
   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

---- Part 7: Fabasoft R&D Software GmbH & Co KG copyright notice (BSD) -----

Copyright (c) Fabasoft R&D Software GmbH & Co KG, 2003
oss@fabasoft.com
Author: Bernhard Penz bernhard.penz@fabasoft.com

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

*  Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.

*  Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

*  The name of Fabasoft R&amp;D Software GmbH & Co KG or any of its subsidiaries,
   brand or product names may not be used to endorse or promote products
   derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Parent topic: Copyright and Legal Information


OpenLDAP Public License

The OpenLDAP Public License
  Version 2.8, 17 August 2003

Redistribution and use of this software and associated documentation
("Software"), with or without modification, are permitted provided
that the following conditions are met:

1. Redistributions in source form must retain copyright statements
   and notices,

2. Redistributions in binary form must reproduce applicable copyright
   statements and notices, this list of conditions, and the following
   disclaimer in the documentation and/or other materials provided
   with the distribution, and

3. Redistributions must contain a verbatim copy of this document.

The OpenLDAP Foundation may revise this license from time to time.
Each revision is distinguished by a version number.  You may use
this Software under terms of this license revision or under the
terms of any subsequent revision of the license.

THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

The names of the authors and copyright holders must not be used in
advertising or otherwise to promote the sale, use or other dealing
in this Software without specific, written prior permission.  Title
to copyright in this Software shall at all times remain with copyright
holders.

OpenLDAP is a registered trademark of the OpenLDAP Foundation.

Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
California, USA.  All Rights Reserved.  Permission to copy and
distribute verbatim copies of this document is granted.
Parent topic: Copyright and Legal Information


Notations and Conventions

  • Enter refers to the carriage return or Enter key. Where commands to be typed are shown, the Enter key is not explicitly shown; it is treated as implicit that Enter must be pressed at the end of the line.
  • Hexadecimal numbers are enclosed in quotation marks and preceded by a lower-case "x" or "h"; for example, x"9D", h"03FF". The "x" is used when the hexadecimal number represents a character string; the "h" when it represents a numerical value.
  • PIC X is used rather than PIC 99 with the COMP-X and COMP-5 data types. Unlike PIC 99, PIC X shows the length of the data item and so demonstrates more clearly the use of COMP-X, which is to define a binary item of the specified number of bytes.
  • Keytops and menu choices are emboldened within the text.
  • In some environments, you might notice that what appears on your screen differs in minor ways (for example, version numbers) from that illustrated in this Help. This does not affect the operation of your software.
  • The keys described in this book are not available in all environments. When there is a reference to use of a key such as a status or function key, this refers to the logical press and release of this key, rather than physical keystroke. If your environment does not support the key given, please refer to your accompanying Read Me for the equivalent key.
  • The term "window" refers to a delineated area on the screen, normally smaller than the full screen. The term "Windows" refers to Microsoft Windows 3.1 or later.

The notation used to describe the format of command lines is as follows:

  • Words printed in italics are generic terms representing names to be devised by you.
  • Words printed in nonitalic characters are the actual words you must enter. You must type them in upper or lower case as shown.
  • Material enclosed in square brackets [ ] is optional.
  • When material is enclosed in braces { }, you must choose from the options within them. If there is only one option in the braces, the braces indicate repetition.
  • The ellipsis (. . .) follows { } or [ ] and means you can repeat the material in the { } or [ ]. The number of repetitions allowed is unlimited unless otherwise stated. If the ellipsis is used with [ ] the material can be omitted altogether.
  • If a command line does not fit across the page, it is continued on the next line; the continuation line is indented.
  • Command line options can be specified as /option or -option.


Problems Caused by Process Limits

UNIX systems limit how much of various system resources each process on the system can use. This prevents badly-behaved processes from using all the system resources and tying up the machine so that no other processes can run. In some cases you might need to configure the operating environment for Enterprise Server so that it can use more than the default amount of resources.

Which resources are limited, the default limits for them, and the maximum limits supported by the operating system depend on the version of UNIX and how it is configured on each system. See your operating system documentation for more details. Typically, UNIX systems can limit the memory, the amount of CPU time, and the number of open files (including network sockets) used by each process, and the size of files it creates.

An Enterprise Server instance might run short on resources if it is required to handle a large client load. The Enterprise Server component which is most likely to encounter resource limits is the Micro Focus Communications Process, mfcs32. There is one mfcs32 process for each started communications process in the started enterprise server.


SORT000 - SORT099

  • SORT009U job-number job-name SORT TERMINATED - ERROR ACCESSING MFJSORTM.DAT
    The message file cannot be found or it cannot be opened.
  • SORT012U job-number job-name SYSIN DATASET 'DATASET' EMPTY
    MFJSORT has found the specified SYSIN data set to be empty. Processing is terminated.
  • SORT013U job-number job-name I/O ERROR ON DATASET 'DATASET'
    An I/O error has occurred on the specified data set.
  • SORT014U job-number job-name STATUS = FILE STATUS
    The specified file status values indicate the cause of the I/O error reported in message SORT013U.
  • SORT015U job-number job-name COMMAND STATEMENT ERROR(S) DETECTED
    Errors have been detected during SYSIN command statement processing.
  • SORT016I job-number job-name SORTTEMP DATASET ALLOCATED TO 'FILE'
    The temporary sort work file has been allocated to the specified file. The temporary file name is obtained from the operating system and appended with a $WK file name extension.
  • SORT019I job-number job-name KEY LENGTH TRUNCATED TO 4096 BYTES
    The concatenated key length exceeds 4096 bytes. Processing continues, however the sort/merge operation uses only the first 4096 bytes of the key field(s) specified.
  • SORT020U job-number job-name SORT(EXTSM) FAILED – SORT ENGINE STATUS = EXTSM STATUS
    The size of the files which can be sorted or merged by MFJSORT(EXTSM) is determined by the record length, number of sort fields, sort field lengths, the amount of memory available, and the amount of disk space available for virtual paging.
  • SORT033I job-number job-namenumber RECORDS MERGED
    This message indicates the number of records actually written to the SORTOUT output data set by the MERGE function.
  • SORT034I job-number job-namenumber RECORDS COPIED
    This message indicates the number of records actually written to the SORTOUT output data set by the COPY function.
  • SORT035U job-number job-name SORTIN DSORG OR RECFM MISSING
    The record format for the SORTIN data set is missing.
  • SORT036U job-number job-name SORTIN RECORD LENGTH MISSING OR INVALID
    The record length for the SORTIN data set is missing.
  • SORT037U job-number job-name SYSIN RECFM 'FORMAT'' INVALID
    The record format for the SYSIN data set is invalid.
  • SORT038U job-number job-name SORTIN RECFM 'FORMAT' INVALID
    The record format for the SORTIN data set is invalid.
  • SORT039U job-number job-name SORTOUT RECFM 'FORMAT' INVALID
    The record format for the SORTOUT data set is invalid.
  • SORT040U job-number job-name SORT TERMINATED BY E15 'PROGRAM'
    The user E15 exit has requested termination of the sort/merge operation.
  • SORT041U job-number job-name SORT TERMINATED BY E35 'PROGRAM'
    The user E35 exit has requested termination of the sort/merge operation.
  • SORT042U job-number job-name MEMORY ALLOCATION FAILURE
    The system has run out of memory during the sort process.
  • SORT043U job-number job-name TOO MANY OUTFIL FILES SPECIFIED
    The limit of 16 OUTFIL files has been exceeded.
  • SORT044U job-number job-name TOO MANY 'USE' FILES SPECIFIED
    The limit of 16 USE files has been exceeded (non-emulation mode).
  • SORT045U job-number job-name TOO MANY 'GIVE' FILES SPECIFIED
    The limit of 16 GIVE files has been exceeded (non-emulation mode).
  • SORT090U job-number job-name SORT TERMINATED - MISSING SYSOUT
    The DD statement for the SYSOUT data set cannot be located.
  • SORT091U job-number job-name SORT TERMINATED - MISSING SYSIN
    The DD statement for the SYSIN data set cannot be located.
  • SORT092U job-number job-name SORT TERMINATED - MISSING SORTOUT
    The DD statement for the SORTOUT data set cannot be located.
  • SORT093U job-number job-name SORT TERMINATED - MISSING SORTIN OR SORTIN01
    The DD statement for a SORTIN or SORTIN01 data set cannot be located.
  • SORT094U job-number job-name SORT TERMINATED - MISSING SORTOFnn
    The DD statement for a SORTOF data set referenced by the OUTFIL control statement cannot be located.
  • SORT095U job-number job-name SORT TERMINATED – BAD DATA IN 'CHANGE' FIELD
    Input data did not match any of the CHANGE find-constants and the NOMATCH option was not specified.
  • SORT096U job-number job-name SORT TERMINATED – MISSING FNAMES DATASET 'DATASET'
    The DD statement for the FNAMES data set cannot be located.
Parent topic: SORT - MFJSORT Error Messages


JCLCM0400 - JCLCM0499

  • JCLCM0401U job-number job-name MISSING JOB STATEMENT
    JCL error. A JOB statement is required in the jobstream.
  • JCLCM0402E job-number job-name MISSING EXECUTE STATEMENT
    JCL error. At least one EXEC statement is required in the jobstream.
  • JCLCM0403E job-number job-name TOO MANY PROCEDURES REFERENCED
    JCL error. The job submitted has exceeded the maximum number of cataloged procedures that this system can load.
  • JCLCM0404E job-number job-name MISSING PEND STATEMENT
    JCL error. A PEND statement is required to end the instream procedure begun by a previous PROC statement.
  • JCLCM0405E job-number job-name RECURSIVE, ILLEGAL NESTING, OR LIMIT EXCEEDED
    JCL error. A procedure has attempted to execute another procedure. Nested procedures are not permitted.
  • JCLCM0406E job-number job-name PROCEDURE NOT FOUND
    JCL error. The procedure name specified cannot be located.
  • JCLCM0407E job-number job-name INVALID LABEL
    JCL error. The label on a JCL statement is invalid - for example, it exceeds eight characters.
  • JCLCM0408I UNKNOWN OUTPUT STMT OPERAND IGNORED
    You have used an unknown keyword.
  • JCLCM0409E job-number job-name INVALID OPERATOR
    JCL error. The JCL operator (EXEC, DD, etc.) contained on the statement is unknown.
  • JCLCM0410E job-number job-name INVALID CONTINUATION
    JCL error. The JCL statement contains an invalid continuation or the expected continuation was not received.
  • JCLCM0411E job-number job-name OPERAND TOO LONG
    JCL error. The JCL operand exceeds the length allowed for the JCL parameter.
  • JCLCM0412E job-number job-name NON-NUMERIC DATA DETECTED
    JCL error. Non-numeric data has been found in an operand that is required to be numeric.
  • JCLCM0413E job-number job-name DUPLICATE JOB
    JCL error. More than one JOB statement has been detected.
  • JCLCM0414E job-number job-name INVALID OR UNKNOWN OR UNEXPECTED OPERAND
    JCL error. The operand received is not recognized.
  • JCLCM0415E job-number job-name INVALID ADDRSPC OPERAND
    JCL error. The ADDRSPC operand is improperly coded.
  • JCLCM0416I job-number job-name INVALID JOBCLASS OPERAND IGNORED
    JCL error. The JOBCLASS operand is improperly coded and has been ignored.
  • JCLCM0417I job-number job-name INVALID MSGCLASS OPERAND IGNORED
    JCL error. The MSGCLASS operand on the JOB statement is improperly coded and has been ignored.
  • JCLCM0418E job-number job-name INVALID MSGLEVEL OPERAND
    JCL error. The MSGLEVEL operand is improperly coded.
  • JCLCM0419E job-number job-name INVALID PERFORM OPERAND
    JCL error. The PERFORM operand is improperly coded.
  • JCLCM0420E job-number job-name INVALID PRTY OPERAND
    JCL error. The PRTY operand is improperly coded.
  • JCLCM0421E job-number job-name INVALID RD OPERAND
    JCL error. The RD operand is improperly coded.
  • JCLCM0422I job-number job-name INVALID REGION OPERAND IGNORED
    JCL error. The REGION operand on the JOB or EXEC statement is improperly coded and has been ignored.
  • JCLCM0423E job-number job-name INVALID STEP NAME
    JCL error. The job step name is invalid.
  • JCLCM0424E job-number job-name INVALID PROCSTEP NAME
    JCL error. The procedure step name is invalid.
  • JCLCM0425E job-number job-name INVALID TIME OPERAND
    JCL error. The TIME operand is improperly coded.
  • JCLCM0426E job-number job-name INVALID TYPRUN OPERAND
    JCL error. The TYPRUN operand is improperly coded.
  • JCLCM0427E job-number job-name CONDITION STATEMENT IMPROPERLY FORMED
    JCL error. The COND operand is improperly coded.
  • JCLCM0428E job-number job-name INVALID CONDITION CODE
    JCL error. The condition code is improperly coded.
  • JCLCM0429E job-number job-name INVALID CONDITION OPERATOR
    JCL error. The condition operator is improperly coded.
  • JCLCM0430E job-number job-name INVALID PROGRAM NAME
    The program name is improperly coded.
  • JCLCM0431E job-number job-name INVALID DYNAMNBR OPERAND
    JCL error. The DYNAMNBR operand is improperly coded.
  • JCLCM0432E job-number job-name INVALID BURST OPERAND
    JCL error. The BURST operand is improperly coded.
  • JCLCM0433E job-number job-name INVALID CHKPT OPERAND
    JCL error. The CHKPT operand is improperly coded.
  • JCLCM0434E job-number job-name INVALID RECFM OPERAND
    JCL error. The RECFM operand is improperly coded.
  • JCLCM0435E job-number job-name INVALID LRECL OPERAND
    JCL error. The LRECL operand is improperly coded.
  • JCLCM0436E job-number job-name INVALID DISP OPERAND
    JCL error. The DISP operand is improperly coded.
  • JCLCM0437E job-number job-name UNEXPECTED STATEMENT
    JCL error. The JCL statement received was not expected.
  • JCLCM0438E job-number job-name PROCSTEP NOT FOUND
    JCL error. The procedure step name referenced cannot be located.
  • JCLCM0439E job-number job-name INVALID LABEL REFERENCE
    JCL error. The label reference on a JCL statement is invalid.
  • JCLCM0440E job-number job-name SYMBOL NOT FOUND
    JCL error. The symbolic parameter cannot be found on the PROC or EXEC statement.
  • JCLCM0441E job-number job-name UNKNOWN PROCSTEP NAME
    JCL error. The procedure step name referenced has not been defined by a previous EXEC statement.
  • JCLCM0442E job-number job-name INVALID OVERRIDE
    JCL error. The override is invalid.
  • JCLCM0443E job-number job-name INVALID POSITIONAL OPERAND
    JCL error. The positional operand was not expected.
  • JCLCM0444E job-number job-name INVALID DATASET NAME
    JCL error. The data set name is invalid.
  • JCLCM0445E job-number job-name INVALID REFER BACK
    JCL error. The refer back is invalid.
  • JCLCM0446E job-number job-name DCBMODEL NAME NOT FOUND
    JCL error. The model name specified in the DCB parameter cannot be found in the catalog.
  • JCLCM0447E job-number job-name INVALID DDNAME
    JCL error. The DD name is invalid.
  • JCLCM0448E job-number job-name INVALID DDNAME REFERENCE
    JCL error. The DD name deferral is invalid.
  • JCLCM0449E job-number job-name MISMATCHED PARENTHESES
    JCL error. An expected parenthesis was not received.
  • JCLCM0450E job-number job-name REFERENCED DD DOES NOT REFER TO A PDS MEMBER
    A reference such as PGM=*.step.pste.ddname refers to a DD name that does not reference a PDS member.
  • JCLCM0453E job-number job-name UNKNOWN RESTART STEP NAME
    JCL error. The step name specified in the RESTART operand of the JOB statement cannot be resolved.
  • JCLCM0454E job-number job-name INVALID ABEND CODE
    JCL error. The abend code in an IF statement or in the COND operand of the JOB or EXEC statement is specified incorrectly.
  • JCLCM0455E job-number job-name INVALID BLKSIZE OPERAND
    JCL error. The BLKSIZE operand is improperly coded.
  • JCLCM0456I job-number job-name BLKSIZE NOT A MULTIPLE OF LRECL
    JCL error. BLKSIZE must be a multiple of LRECL when both are coded and when RECFM=fixed is specified or implied.
  • JCLCM0457E job-number job-name INVALID EXPDT VALUE
    JCL error. The value specified for EXPDT is improperly coded or is not within the acceptable range.
  • JCLCM0458W job-number job-name INVALID FREE VALUE – DEFAULT OF (END) SUBSTITUTED
    JCL error. The value specified for FREE is improperly coded or is not within the acceptable range.
  • JCLCM0459E job-number job-name INVALID UCS VALUE
    JCL error. The value specified for UCS is improperly coded or is not within the acceptable range.
  • JCLCM0460E job-number job-name INVALID RECORG VALUE
    JCL error. The value specified for RECORG must be KS, ES, or RR.
  • JCLCM0461E job-number job-name INVALID DLM VALUE
    JCL error. The value specified for DLM is improperly coded.
  • JCLCM0462E job-number job-name INVALID AVGREC VALUE
    JCL error. The value specified for AVGREC is improperly coded or is not within the acceptable range.
  • JCLCM0463E job-number job-name TOO MANY LIBRARIES SPECIFIED
    JCL error. More than 15 libraries were specified on the JCLLIB statement.
  • JCLCM0464E job-number job-name INCLUDE NOT FOUND
    JCL error. The data set specified in the INCLUDE statement was not found.
  • JCLCM0465E job-number job-name DUPLICATE INSTREAM PROCEDURE
    JCL error. The instream procedure name is a duplicate of one already used.
  • JCLCM0466U job-number job-name INVALID JOBNAME
    JCL error. The job name specified is invalid.
  • JCLCM0467E job-number job-name CONFLICTING OR INCOMPATIBLE OPERANDS
    JCL error. Conflicting operands have been included on the JCL statement.
  • JCLCM0468E job-number job-name INVALID DSORG VALUE
    JCL error. The value specified for DSORG is improperly coded.
  • JCLCM0469I job-number job-name NONUNIQUE REFERENCE RESOLVED TO FIRST OCCURRENCE
    JCL error. This message indicates that there are multiple job steps with the same name as the referenced stepname.
  • JCLCM0470I job-number job-name NONUNIQUE REFERENCE RESOLVED TO CURRENT OCCURRENCE
    JCL error. This message indicates that there are multiple job steps with the same name as the referenced stepname.
  • JCLCM0471E job-number job-name OPERAND TABLE LIMIT EXCEEDED
    JCL error. The limit on the number of operands supported has been exceeded.
  • JCLCM0472E job-number job-name SYMBOL TABLE LIMIT EXCEEDED
    JCL error. The limit on the number of symbols supported has been exceeded.
  • JCLCM0473E job-number job-name INVALID NULL OPERAND VALUE
    JCL error. A keyword operand with no value was specified, but a value is required.
  • JCLCM0474E job-number job-name INVALID SYSOUT CLASS OPERAND
    JCL error. The SYSOUT class operand on the DD statement is improperly coded.
  • JCLCM0475I DD CHANGED TO DUMMY (DDNAME= MISSING)
    You have referenced a file for which there is no DDNAME statement.
  • JCLCM0476E job-number job-name Symbol "name" was not used
    The specified symbol is not used anywhere in the procedure. One explanation is that the symbol is misspelled.
  • JCLCM0477S More than 255 EXEC statements
  • JCLCM0499S job-number job-name FILE I/O ERROR OR FILE IS EMPTY
    There was an I/O error trying to read the referenced cataloged procedure or JCL included file, or the file is empty.
Parent topic: JCLCM Error Messages


JCLAM0180 - JCLAM0230

  • JCLAM0180S Unexpected return code return-code from jseb-func-enq-ds
    Indicates an internal error detected by jseb-func-enq-ds.
  • JCLAM0181S Unexpected return code % from jseb-func-deq-ds
    Indicates an internal error detected by jseb-func-deq-ds.
  • JCLAM0182U Unexpected return code % from jseb-func-info-job
    Indicates an internal error detected by jseb-func-info-job.
  • JCLAM0183S Character set mismatch. Copied without conversion
    You are trying to copy an ASCII dataset to an EBCDIC one, or vice versa.
  • JCLAM0184I OS Copy used to perform this REPRO
    Informational only.
  • JCLAM0185S OS Copy operation for this REPRO failed with RC=return-code
  • JCLAM0186I Incompatible data set attributes. OSCOPY ignored.
    A full copy operation was done, instead of using the copy facility provided by the operating system as you requested.
  • JCLAM0221S Insufficient authority to define new dataset %
    Lack of permissions to perform this action.
  • JCLAM0222S Insufficient authority to read dataset %
    Lack of permissions to perform this action.
  • JCLAM0223S Insufficient authority to update dataset %
    Lack of permissions to perform this action.
  • JCLAM0224E Insufficient authority to delete dataset %
    Lack of permissions to perform this action.
  • JCLAM0225E Insufficient authority to alter/change dataset %
    Lack of permissions to perform this action.
  • JCLAM0226U Insufficient authority for SYSPRINT dataset %
    Lack of permissions to perform this action.
  • JCLAM0227U Insufficient authority for SYSIN dataset %
    Lack of permissions to perform this action.
  • JCLAM0228I Record n out of key sequence.
    The record has a key that is less than or equal to the key of the previous record.
  • JCLAM0229E Record n out of key sequence.
    The record has a key that is less than or equal to the key of the previous record.
  • JCLAM0230S Insufficient authority to use PCDSN dataset %
    Lack of permissions to perform this action.
Parent topic: JCLAM Error Messages


Default Data Type Mappings

DB2 Data Type | Encoding | Data Storage | SQL Server Data Type
BIGINT | All | None | BIGINT
BINARY | All | None | BINARY
BLOB | All | None | VARBINARY(MAX)
CHAR | All | For bit data | BINARY
CHAR | ASCII and EBCDIC | None | CHAR
CHAR | UNICODE | None | NCHAR
CLOB | ASCII | None | NVARCHAR(MAX)
CLOB | ASCII | For bit data | NVARCHAR(MAX)
CLOB | EBCDIC | For bit data | NVARCHAR(MAX)
CLOB | UNICODE | None | NVARCHAR(MAX)
CLOB | UNICODE | For bit data | NVARCHAR(MAX)
CLOB | EBCDIC | None | NVARCHAR(MAX)
DATALINK | All | None | VARCHAR(2083)
DATE | All | None | DATE
DBCLOB | All | None | NVARCHAR(MAX)
DECFLOAT | All | None | FLOAT(53)
DECIMAL | All | None | DECIMAL
DOUBLE | All | None | DOUBLE PRECISION
FLOAT | All | None | FLOAT
GRAPHIC | All | None | NCHAR
INT | All | None | INT
INTEGER | All | None | INTEGER
LONG VARCHAR | All | For bit data | VARCHAR(MAX)
LONG VARCHAR | All | None | VARCHAR(MAX)
LONG VARGRAPHIC | All | None | NVARCHAR(MAX)
LONGVARBIN | All | None | VARBINARY(MAX)
NUMERIC | All | None | NUMERIC
REAL | All | None | REAL
ROWID | All | None | BINARY(40)
SMALLINT | All | None | SMALLINT
TIME | All | None | TIME(0)
TIMESTMP | All | None | DATETIME2(6)
VARBIN | All | None | VARBINARY
VARCHAR | All | For bit data | BINARY
VARCHAR | All | None | VARCHAR
VARGRAPHIC | All | None | NVARCHAR
XML | All | None | XML
Related reference
DIALECT


JCLAM0140 - JCLAM 0159

  • JCLAM0140I job-number job-name LASTCC set to number
    The condition code LASTCC has been set to the specified value.
  • JCLAM0141I job-number job-name MAXCC set to number
    The condition code MAXCC has been set to the specified value.
  • JCLAM0142S job-number job-name AVERAGE RECORD LENGTH INVALID
    The average record length must be greater than 0 bytes but not greater than 32760 bytes.
  • JCLAM0143S job-number job-name MAXIMUM RECORD LENGTH INVALID
    The maximum record length must be greater than 0 bytes but not greater than 32760 bytes.
  • JCLAM0144S job-number job-name KEY LENGTH INVALID
    The primary key length must be greater than 0 but not greater than 64.
  • JCLAM0145S job-number job-name KEY OFFSET INVALID
    The key offset plus the key length exceeds the defined record length.
  • JCLAM0146E job-number job-nameNUMBER DUPLICATE KEYS
    The specified number of duplicate keyed records have NOT been replaced by the REPRO command.
  • JCLAM0147W job-number job-name 00000000 DATASETS LISTED
    No datasets have been listed by the LISTCAT command.
  • JCLAM0148E job-number job-name NO MATCHING ENTRIES [ENTRYNAME]
    There are no entries in the catalog which match the pattern entry name specified for the delete request.
  • JCLAM0149S INVALID QUOTED LITERAL
    The literal contains an uneven number of quotation marks.
  • JCLAM0150S ERROR. FILE IS EMPTY
    You are trying to copy from an empty file.
  • JCLAM0151S job-number job-name Invalid dataclass name "name"
    The specified data class name is not legal or is longer than 8 characters.
  • JCLAM0152S job-number job-name Dataclass "name" does not exist
    This specified data class has not been defined to this system.
  • JCLAM0153S job-number job-name UNEXPECTED MVSSMS FUNC_GU RETCODE [number]
    Unexpected return code received from the MVSSMS (the data class manager).
  • JCLAM0154S job-number job-name THEN MUST FOLLOW AN IF COMMAND
    The IF command must be followed by the THEN keyword.
  • JCLAM0155I job-number job-name Remainder of command stream ignored
    The remainder of the command stream has been ignored.
  • JCLAM0156I job-number job-name CANCEL COMMAND EXECUTED
    The CANCEL command has been executed.
  • JCLAM0157S job-number job-name Space (CYL or TRK or REC) missing
    Space, using one of the specified keywords, must be specified for a new data set.
  • JCLAM0158S job-number job-name RECORG for input and output data set incompatible
    Either the output file is RRDS and is not empty, or the input file is not RRDS.
  • JCLAM0159S job-number job-name Primary quantity invalid
    The primary quantity is not a number.
Parent topic: JCLAM Error Messages


JCLAM0227U Insufficient authority for SYSIN dataset %

Resolution:

Contact your system administrator.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0231 -

  • JCLAM0231E Unable to acquire exclusive lock on dataset "dataset-name"
    The action requires an exclusive lock on the named dataset but was unable to obtain it.
Parent topic: JCLAM Error Messages


JCLUT0010E

Message

INPUT DD(%1$s) on DSD CARD not found

Where %1$s is Dataset name.

Message Information

The INPUT dataset specified on the DSD card could not be found.

Resolution

Check for a missing DD card defining the dataset or a mismatch of dataset names.

Parent topic: JCLUT Error Messages


SORT100 - SORT199

  • SORT100E job-number job-name MISSING OPERATOR
    The SYSIN command statement does not contain a valid operator.
  • SORT101E job-number job-name MALFORMED OPERATOR
    The SYSIN command statement operator (at the specified column) is invalid. A space must separate the operator from any operands.
  • SORT102E job-number job-name EXPECTED OPERAND MISSING
    A required operand is not present on the command statement.
  • SORT103E job-number job-name INVALID OPERATOR 'OPERATOR'
    The command statement operator (at the specified column) is invalid.
  • SORT104E job-number job-name INVALID OPERAND KEYWORD 'OPERAND'
    The command statement operand (at the specified column) is invalid.
  • SORT105E job-number job-name EXPECTED CONTINUATION NOT PRESENT
    The command statement contains a continuation character in column 72, but the continuation text has not been found.
  • SORT106E job-number job-name FIELD FORMATS IMPROPERLY SPECIFIED
    The field format is incorrectly coded as a field-specific operand (for example, FIELDS=1,5,CH,A) and also as a global operand (for example, FORMAT=CH).
  • SORT107E job-number job-name FIELD FORMAT 'FORMAT' INVALID
    The specified field format (at the specified column) is invalid. Valid field formats are AQ, BI, CH, FI, ZD, and PD.
  • SORT108E job-number job-name SEQUENCE 'SEQUENCE' INVALID
    The sequence operand (at the specified column) must be A or D for ascending or descending sequences respectively.
  • SORT109E job-number job-name TOO MANY FIELDS SPECIFIED
    Control fields are limited to 16.
  • SORT110E job-number job-name NON-NUMERIC DATA DETECTED
    Numeric data is expected at the specified column.
  • SORT111E job-number job-name 'OPERATOR' OPERATOR ALREADY PROCESSED
    The specified operator (at the specified column) has already been processed.
  • SORT112E job-number job-name 'EXIT'' EXIT NOT SUPPORTED
    The specified exit (at the specified column) is not supported. Only the E15 and E35 exits are supported by MFJSORT.
  • SORT114E job-number job-name EXPECTED '(' NOT FOUND
    A left parenthesis is expected at the specified column but has not been found.
  • SORT115E job-number job-name BOOLEAN OPERATOR 'OPERATOR' INVALID
    The specified Boolean operator (at the specified column) is invalid. Valid Boolean operators are EQ, NE, LT, LE, GT, and GE.
  • SORT118E job-number job-name SORT / MERGE CONFLICT
    Both SORT and MERGE commands have been found; only one can be specified. The second command is at the specified column.
  • SORT119E job-number job-name INCLUDE / OMIT CONFLICT
    Both INCLUDE and OMIT commands have been found; only one can be specified. The second command is at the specified column.
  • SORT120E job-number job-name SORT STATEMENT MISSING FIELDS OPERAND
    The SORT command statement does not contain a FIELDS operand.
  • SORT121E job-number job-name MERGE STATEMENT MISSING FIELDS OPERAND
    The MERGE command statement does not contain a FIELDS operand.
  • SORT122E job-number job-name INCLUDE STATEMENT MISSING COND OPERAND
    The INCLUDE command statement does not contain a COND operand.
  • SORT123E job-number job-name OMIT STATEMENT MISSING COND OPERAND
    The OMIT command statement does not contain a COND operand.
  • SORT124E job-number job-name FIELD POSITION 'NUMBER' INVALID
    The specified field position is invalid. Field positions can start at 1 but must not exceed the length of the SORTIN record, allowing for the length of the control field.
  • SORT125E job-number job-name FIELD LENGTH 'NUMBER' INVALID
    The field length specified is too long. Control fields are limited to 1024 bytes in length. Byte(.bit) notation is not supported.
  • SORT126E job-number job-name RECORD LENGTH 'NUMBER'' INVALID
    The specified record length is invalid. Record lengths may not exceed 32768 bytes.
  • SORT127E job-number job-name MISSING SORT/MERGE/COPY COMMAND STATEMENT
    A SORT, MERGE, or COPY command statement is required.
  • SORT128E job-number job-title EXPECTED ')' NOT FOUND
    A closing parenthesis ')' was expected and not found.
  • SORT129E job-number job-name EXPECTED '=' NOT FOUND
    '=' was expected and not found.
  • SORT130E job-number job-name EXPECTED 'F' OR 'V' NOT FOUND
    Either F or V must be specified to indicate recording mode (non-emulation mode).
  • SORT131E job-number job-name EXPECTED 'IX', 'RL', 'SQ', OR 'LS' NOT FOUND
    Organization must be specified as either IX, RL, SQ or LS (non-emulation mode).
  • SORT132E job-number job-name PRIME KEY MUST BE SPECIFIED FIRST
    When specifying keys for a USE OR GIVE indexed file (non-emulation mode), the prime key must be specified first.
  • SORT133E job-number job-name EXPECTED 'P', 'AD', 'A', OR 'C' NOT FOUND
    Key type for a USE OR GIVE indexed file must be specified as one of P (primary), AD (alternate permitting duplicates) A (alternate not permitting duplicates) or C (component).
  • SORT134E job-number job-name KEYWORD/VALUE 'VALUE' INVALID FOR DFSORT EMULATION
    The specified keyword is not valid for DFSORT emulation.
  • SORT135E job-number job-name KEYWORD/VALUE 'VALUE' INVALID FOR SYNCSORT EMULATION
    The specified keyword is not valid for SYNCSORT emulation.
  • SORT136E job-number job-name NO GIVE FILE SPECIFIED FOR OUTFIL GROUP
    No GIVE file has been specified for the current OUTFIL group (non-emulation mode).
  • SORT137E job-number job-name NO USE FILE SPECIFIED
    No USE file has been specified for the SORT (non-emulation mode).
  • SORT138E job-number job-name TARGET LITERAL 'LITERAL' TOO LONG IN CHANGE
    The set-constant in a CHANGE statement must not be longer than the specified length of the output field to be inserted (v).
  • SORT139E job-number job-name SUBSTRING COMPARISON MUST BE WITH CHARACTER LITERAL
    The right-hand side of a substring comparison must be a character literal.
  • SORT140E job-number job-name INVALID BINARY DIGIT DETECTED
    An invalid digit has been found in a binary literal. Valid digits are 0 and 1.
  • SORT141E job-number job-name CANNOT SPECIFY SAVE WITH EITHER INCLUDE OR OMIT
    Only one of INCLUDE, OMIT or SAVE may be specified for any OUTFIL group.
  • SORT142E job-number job-name REPEATED FILES= OR FNAMES=
    Only one of FILES= or FNAMES= may be specified for any OUTFIL group.
  • SORT191I job-number job-name OPERATOR 'OPERATOR' IGNORED
    The specified operator (at the specified column) is not supported and has been ignored. Processing continues without error.
  • SORT192I job-number job-name OPERAND 'OPERAND' IGNORED
    The specified operand (at the specified column) is not supported and has been ignored. Processing continues without error.
  • SORT193E job-number job-name INVALID HEX DIGIT DETECTED
    An hexadecimal digit (0 - 9 or A - F) is expected at the specified column but has not been found.
  • SORT194I job-number job-name NO ALTSEQ COMMAND SPECIFIED FOR 'AQ' SORT FIELD FORMATS; 'CH' ASSUMED
    A SORT control field requests an alternate collating sequence but no ALTSEQ command statement is specified. The standard collating sequence has been used instead. Processing continues without error.
  • SORT195I job-number job-name SORTWORK DIRECTORY 'DIRECTORY' IS INVALID; USING CURRENT DIRECTORY
    The MFJWORK or TEMP environment variable does not contain a valid device or directory path. The current directory has been used for temporary files instead. Processing continues without error.
  • SORT196E job-number job-name SUM / COPY CONFLICT
    The SUM command (at the specified column) cannot be used when the FIELDS=COPY statement is in effect.
  • SORT197E job-number job-name INREC / MERGE CONFLICT
    The INREC command (at the specified column) cannot be used with MERGE operations.
  • SORT198E job-number job-name NON-NUMERIC DATA DETECTED IN 'ZD' SUM FIELD
    Non-numeric data has been found in a field specified as zoned decimal.
  • SORT199E job-number job-name TOO MANY OUTFIL STMTS OR TOO MANY FIELDS ON OUTFIL STMT(S)
    More than 16 SORTOFnn files are specified by the OUTFIL command(s).
Parent topic: SORT - MFJSORT Error Messages


JCLCM0900 - JCLCM0999

  • JCLCM0900E job-number job-name User Exit shut down due to a failure
    A failure in the user exit has forced the JCL engine to shut down the user exit.
  • JCLCM0901I job-number job-name Event-job-ready action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0902I job-number job-name Event-job-flushed action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0903I job-number job-name Event-job-started action is: explanation
    The user exit has requested this action to be taken for this event.
  • JCLCM0904I job-number job-name Event-job-JCL-error action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0905I job-number job-name Event-job-ended action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0906I job-number job-name Event-TSO-started action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0907I job-number job-name Event-TSO-ended action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0908I job-number job-name Event-step-ready action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0909I job-number job-name Event-step-started action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0910I job-number job-name Event-step-ended action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0911I job-number job-name Event-step-bypassed action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0912I job-number job-name Event-CALL-ready action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0913I job-number job-name Event-CALL-started action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0914I job-number job-name Event-CALL-ended action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0915I job-number job-name Event-RUN-ready action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0916I job-number job-name Event-RUN-started action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0917I job-number job-name Event-RUN-ended action is: explanation
    The user exist has requested this action to be taken for this event.
  • JCLCM0918I job-number job-name Event-before-PGM-call action is: explanation
    The user exit has requested this action to be taken for this event.
  • JCLCM0919I job-number job-name Event-after-PGM-call action is: explanation
    The user exist has requested this action to be taken for this event.
Parent topic: JCLCM Error Messages


JCLAM0225E Insufficient authority to alter/change dataset %

Resolution:

Contact your system administrator.

Parent topic: JCLAM0180 - JCLAM0230


Default SQL Name Mappings

DB2 Function/Special Register | SQL Server Equivalent | Is Function | Is Special Register
VARIANCE | VAR | Yes |
IFNULL | COALESCE | Yes |
VALUE | COALESCE | Yes |
ASCII_CHR | CHAR | Yes |
LCASE | LOWER | Yes |
REPEAT | REPLICATE | Yes |
SUBSTR | SUBSTRING |  |
UCASE | UPPER | Yes |
LN | LOG | Yes |
CURRENT CLIENT_APPLNAME | APP_NAME() |  | Yes
CURRENT CLIENT_USERID | SYSTEM_USER |  | Yes
CURRENT CLIENT_WRKSTNNAME | HOST_NAME() |  | Yes
CURRENT DATE | CONVERT(date,SYSDATETIME()) |  | Yes
CURRENT TIME | CONVERT(time(0), SYSDATETIME()) |  | Yes
CURRENT TIMESTAMP | CONVERT(datetime2(6), SYSDATETIME()) |  | Yes
CURRENT_DATE | CONVERT(date,SYSDATETIME()) |  |
CURRENT_TIME | CONVERT(time(0), SYSDATETIME()) |  |
CURRENT_TIMESTAMP | CONVERT(datetime2(6), SYSDATETIME()) |  |
CURRENT LC_CTYPE | CONVERT(char(50), SERVERPROPERTY('collation')) |  | Yes
CURRENT_LC_CTYPE | CONVERT(char(50), SERVERPROPERTY('collation')) |  |
CURRENT LOCALE LC_CTYPE | CONVERT(char(50), SERVERPROPERTY('collation')) |  | Yes
CURRENT SCHEMA | CONVERT(varchar(128), SCHEMA_NAME()) |  | Yes
CURRENT_SCHEMA | CONVERT(varchar(128), SCHEMA_NAME()) |  |
CURRENT SERVER | CONVERT(char(16), SERVERPROPERTY('servername')) |  | Yes
CURRENT SQLID | USER |  | Yes
SESSION_USER | USER |  |
TRAN | "TRAN" |  |
APPLICATION | "APPLICATION" |  |
ORDER | "ORDER" |  |
DIGITS | dbo.digits | Yes |
LENGTH | DATALENGTH | Yes |
LPAD | dbo.LPAD | Yes |
RPAD | dbo.RPAD | Yes |
Related tasks
To customize SQL name mappings
Related reference
Customizing Functions and Special Registers
DIALECT


JCLCM0000 - JCLCM0199

  • JCLCM0000I job-number job-name JCL PROCESSOR TERMINATED
    The JCL processor has terminated. This does not imply an error. It could occur, for example, if a debugging session is cancelled while a jobstream is being processed.
  • JCLCM0001U job-number job-name I/O ERROR ON SYSTEM CATALOG FILE
    Configuration error.
  • JCLCM0094I Non-JCL record in the input stream has caused this SYSIN DD statement to be generated.
    This message, while it never appears in any JCL listings, is referred to in the generated SYSIN DD statement. It means that in your JCL source stream, you have one or more non-JCL records before the final // if any.
  • JCLCM0147U job-number job-name NO DATASET NAME SPECIFIED
    The function requested requires a data set name to be specified.
  • JCLCM0158U job-number job-name MVS data set "name" not found
    The specified MVS data set is not in the catalog.
  • JCLCM0159U job-number job-name FILE OPEN ERROR FILENAME
    There was an open error on the main source file submitted to the JCL scanner for processing.
  • JCLCM0160U job-number job-name FILE I/O ERROR FILENAME
    There was an I/O error on the main source file submitted to the JCL scanner for processing.
  • JCLCM0161U job-number job-name DATASET TYPE INVALID DATASETNAME
    The specified data set is of a type that cannot be used for the requested function.
  • JCLCM0162U job-number job-name FILE IS EMPTY FILENAME
    The specified file is empty. The function you have attempted cannot be performed on an empty data set or file.
  • JCLCM0163U job-number job-name MVSJOBNO ERROR ASSIGNING JOBNUM
    An internal error has been detected while attempting to assign a job number. The return-code from MVSJOBNO.DLL is non-zero.
  • JCLCM0164A job-number job-name All job numbers in the range lower-job-number:upper-job-number are in use.
    The system has used up all available job numbers and cannot process this job.
  • JCLCM0165S Open for joblog "filename" failed. Also see JCLCM0166
  • JCLCM0166S File status code for last file I/O failure was value
  • JCLCM0169I JCL copied
  • JCLCM0170I job-number job-name JCL SCANNED - NO ERRORS
    The job submitted contains no syntax errors.
  • JCLCM0171E job-number job-name JCL SCANNED - JCL ERROR
    The job submitted contains syntax errors which are detailed in other messages.
  • JCLCM0172E job-number job-name JOB FAILED - JCL ERROR
    The job submitted contains a JCL syntax error.
  • JCLCM0173I job-number job-name MFJUSCAN SCANNER EXIT - NO ERRORS
    The JCL scanner user exit module MFJUSCAN was called and ended with a zero return code.
  • JCLCM0174E job-number job-name MFJUSCAN SCANNER EXIT - JCL ERROR
    The JCL scanner user exit module MFJUSCAN was called and ended with a non-zero return code.
  • JCLCM0175S job-number job-name MFJUSCAN SCANNER EXIT - I/O ERROR ON FILENAME
    An I/O error has occurred while attempting to process the user error file returned to the JCL scanner.
  • JCLCM0180I job-number job-name Job ready for execution.
    The job named is ready for execution.
  • JCLCM0181S job-number job-name JOB ABENDED - ERRORCODE
    The job has ended abnormally with the specified return code.
  • JCLCM0182I job-number job-name JOB ENDED - RC(RETURNCODE)
    The job has ended normally with the specified return code.
  • JCLCM0185U job-number job-name Job flushed upon User Exit request.
    The user exit has requested that the job be flushed.
  • JCLCM0187I job-number job-name JOB SUBMITTED JOBNAME
    The specified job contains a valid job name, a job number has been assigned, and syntax checking of the JCL has started.
  • JCLCM0188I job-number job-name JOB STARTED.
    Execution of the submitted job has started.
  • JCLCM0189I job-number job-name STEP BYPASSED STEPNAME.PROCSTEPNAME
    Execution of the specified job step has been bypassed due to a prior abend or because of return codes.
  • JCLCM0190I job-number job-name STEP STARTED STEPNAME.PROCSTEPNAME
    Execution of the specified job step has started.
  • JCLCM0191I job-number job-name STEP ENDED STEP1 - COND CODE CONDITION-CODE
    Execution of the job step has completed normally with the specified return code.
  • JCLCM0192S job-number job-name STEP ABENDED STEP01 - COND CODE ABEND-CODE
    Execution of the job step has completed abnormally with the specified user abend, system abend, or run time error.
  • JCLCM0193U job-number job-name PROGRAM NOT FOUND - PROGRAMNAME
    The specified program cannot be located.
  • JCLCM0194S job-number job-name DCB MODEL NOT FOUND - DDNAME
    The specified DD statement references a DCB model data set which cannot be located.
  • JCLCM0195S job-number job-name DATASET IS NOT A GDG - DDNAME
    The specified DD statement refers to a GDG data set with a bias (+1) or (-1), but no GDG model by the same name exists in the catalog.
  • JCLCM0196S Resource allocation failed for dd-name<[concat dd seq no]>. Reason=nnn
    This is usually preceded by another JCLCM message providing additional information.
  • JCLCM0197S job-number job-name DISP=MOD, DSN INCOMPATIBLE - DDNAME
    The specified DD statement specifies DISP=MOD, which is incompatible with the organization of the data set name specified.
  • JCLCM0198I VSE CONFIG FILE - outcome : config-file
    Tells you the outcome of your attempt to load an optional VSE JCL configuration file (specified by the VSE_STARTUP_CFG environment variable).
  • JCLCM0199I job-number job-name Program program-name is cobol-dialectchar-setbyte-orderamode-type
    The program program-name, which is being executed, has the stated characteristics.
Parent topic: JCLCM Error Messages


JCLAM0231E Unable to acquire exclusive lock on dataset "dataset-name"

The action requires an exclusive lock on the named dataset but was unable to obtain it.

Resolution:

Ensure the dataset is not locked by another step, job or process.

Parent topic: JCLAM0231 -


JCLAM0120 - JCLAM0139

  • JCLAM0120S job-number job-name UNKNOWN COMMAND [COMMAND]
    The specified command is not known to MFJAMS.
  • JCLAM0121E job-number job-name GDG IS NOT EMPTY [GDGNAME]
    A DELETE command has been attempted for a generation data group which still contains cataloged entries.
  • JCLAM0122I job-number job-name HOST ENTRY RETAINED [ENTRYNAME]
    The specified entryname, which resides on the host, has been retained (not deleted).
  • JCLAM0123S job-number job-name GDG LIMIT MISSING OR ZERO
    An attempt to define a new GDG must specify the number of entries to maintain before automatic deletion.
  • JCLAM0124I job-number job-name GDG LIMIT CHANGED TO 31
    You have requested more than the maximum number of GDG entries allowed.
  • JCLAM0125S job-number job-name RELATENAME NOT CATALOGED [ENTRYNAME]
    The dataset specified by RELATENAME must exist before an alternate index can be defined.
  • JCLAM0126S job-number job-name FILE MISSING OR INVALID TYPE [FILENAME]
    The specified workstation file cannot be located.
  • JCLAM0127I job-number job-name ALTERNATE INDEX DEFINED [ENTRYNAME]
    The alternate index has been defined. The appropriate workstation file has been updated to reflect the new index keys.
  • JCLAM0128I job-number job-nameNUMBER RECORDS INDEXED
    The keys for the specified number of records have been added for the newly-defined alternate index.
  • JCLAM0129S job-number job-name INVALID PRIMARY KEY OR RECORDSIZE
    The key position plus the key length exceeds the defined record length.
  • JCLAM0130S job-number job-name DD MISSING [DDNAME]
    A DD statement for the specified DD name is not defined in your JCL.
  • JCLAM0131S job-number job-name INSUFFICIENT DCB [DATASETNAME]
    The specified dataset does not have complete data control block characteristics.
  • JCLAM0132S job-number job-name I/O ERROR [DATASETNAME]
  • JCLAM0133S job-number job-name I/O STATUS [FILE STATUS]
  • JCLAM0134I job-number job-namenumber Records processed
    The specified number of records have been processed.
  • JCLAM0135I job-number job-namenumber Datasets listed
    The specified number of data sets have been listed by the LISTCAT command.
  • JCLAM0136W job-number job-name PARM IGNORED FOR SEQ DATASETS [PARAMETER]
    The specified parameter is invalid for sequential datasets.
  • JCLAM0137I job-number job-name DATASET VERIFIED [DATASETNAME]
    The specified dataset has been verified. The dataset was opened and closed successfully.
  • JCLAM0138I job-number job-name DATASET VERIFIED(LOCKED) [DATASETNAME]
    The specified dataset has been verified even though the dataset is currently locked by another process.
  • JCLAM0139S job-number job-name DATASET MUST BE VSAM [DATASETNAME]
    The dataset name specified in the VERIFY command is not a VSAM dataset. Only VSAM datasets can be verified.
Parent topic: JCLAM Error Messages


Database Access under Enterprise Server

The execution of container-managed services running against any XA-compliant database is supported.

A switch module that gives access to the database's XA switch structure is supplied for the following databases:

Enterprise Server supports the execution of applications running against any XA-compliant database. Micro Focus provides a switch module which provides Enterprise Server with access to the database's XA switch structure for the following databases:

Oracle
Applications precompiled using Pro*COBOL, or Cobsql, using Oracle Pro*COBOL Version 10gR1 or later.
DB2 LUW
Applications precompiled using the IBM command-line precompiler or compiled using the Micro Focus DB2 Compiler directive with:
  • DB2 LUW V9.1 or later
  • DB2 Connect V9.1 or later

The availability of the switch modules differs between platforms, as follows:

Feature/Platform | DB2 32-bit | Oracle 32-bit | DB2 64-bit | Oracle 64-bit
IBM System p running AIX | x | x | x | x
Itanium running HP-UX | x | x | x | x
x86-64 running Red Hat Linux | x | x |  | x
Itanium running Red Hat Linux |  |  |  |
IBM System z running Red Hat Linux | x |  | x |
SPARC running Solaris | x | x |  | x
x86-64 running SuSE Linux | x | x |  | x
IBM System z running SuSE Linux | x |  | x | x
Related information
Resource Managers
Resource Managers


JCLAM0223S Insufficient authority to update dataset %

Resolution:

Contact your system administrator.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0230S Insufficient authority to use PCDSN dataset %

Resolution:

Contact your system administrator.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0226U Insufficient authority for SYSPRINT dataset %

Resolution:

Contact your system administrator.

Parent topic: JCLAM0180 - JCLAM0230


JCLCM0200 - JCLCM0299

  • JCLCM0200S job-number job-name DISP=NEW, DATASET EXISTS - DDNAME
    The specified DD statement specifies DISP=NEW but the data set name specified already exists in the catalog.
  • JCLCM0201S job-number job-name DATASET IS NOT A PDS - DDNAME
    The specified DD statement refers to a PDS member but no PDS model by the same name exists in the catalog.
  • JCLCM0202S job-number job-name DISP=OLD/SHR, DATASET NOT FOUND - DDNAME
    The specified DD statement specifies DISP=OLD or DISP=SHR but the data set name specified does not exist in the catalog.
  • JCLCM0203S ACI option has overridden step abend S422
    You have requested the Automatic Catalog Input option, and therefore an S422 abend has been ignored.
  • JCLCM0205I job-number job-namePROGRAM FUNC=func/functext RC=rcode/rcodetext
    The specified program has detected an unexpected return code from the MVS Job Step Resource Manager (MJRM). Details of the function and return code are provided in the message.
  • JCLCM0206I job-number job-name ALLOCATION DEFERRED UNTIL OPEN - DDNAME
    In the specified DD statement, the first (or only) data set specified does not exist and the step being executed is an IMS batch step.
  • JCLCM0207I job-number job-name DUPLICATE DD STATEMENT IGNORED - DDNAME
    The specified DD statement is a duplicate of a DD statement defined earlier in the job step.
  • JCLCM0208I job-number job-name Host OS may require SPACE for DD "DD-name"
    The host operating system (MVS, OS/390, z/OS) might require that you specify the SPACE parameter unless the data set is allocated to a device such a tape device.
  • JCLCM0209S job-number job-name DISP=NEW, UNCATALOGED DUPLICATE EXISTS - DDNAME
    The specified DD statement specifies DISP=NEW but the data set name specified already exists in the catalog (in an uncataloged state).
  • JCLCM0210U job-number job-name I/O ERROR ON SPOOL FILE
    An I/O error has occurred while accessing the spool file containing JOB output.
  • JCLCM0211S job-number job-name Dataclass "name" does not exist
    This specified data class has not been defined to this system.
  • JCLCM0212S job-number job-name REFDD dataclass "name" does not exist
    This specified data class has not been defined to this system.
  • JCLCM0213S job-number job-name Main pgm name did not issue GOBACK or STOP RUN
    The specified main COBOL program fell through to the end of the program without executing a GOBACK or a STOP RUN statement.
  • JCLCM0214S Required resources could not be obtained
    All the required datasets for this job are unavailable. Probably some other job or user is using them.
  • JCLCM0216S Insufficient storage available to process the job
    Either you have defined more data sets than the system can handle, or there is an internal error.
  • JCLCM0217S Internal system error "internal code"
    Internal error.
  • JCLCM0218S System error "internal code"
    System error.
Parent topic: JCLCM Error Messages


JCLAM0000 - JCLAM0119

  • JCLAM0000I job-number job-name Interactive AMS Terminated
    The MFJAMS utility has terminated.
  • JCLAM0001I job-number job-name Number of hex digits should be even
    There must be an even number of digits in a hexadecimal string. A leading x"0" has been assumed.
  • JCLAM0002S job-number job-name Invalid hex. Digits must be 0 thru 9 or A thru F.
    An invalid hexadecimal character has been encountered. The character is not a digit (0 through 9) or a letter A through F.
  • JCLAM0003U job-number job-name MISSING SYSIN DD
    The jobstream does not contain the required SYSIN DD statement.
  • JCLAM0004U job-number job-name MISSING SYSPRINT DD
    The jobstream does not contain the required SYSPRINT DD statement.
  • JCLAM0101S job-number job-name OPERAND TOO LONG [OPERAND]
    The specified operand is too long.
  • JCLAM0102S job-number job-name NUMERIC OPERAND REQUIRED [DATA]
    Numeric data was expected but the specified non-numeric data was received.
  • JCLAM0103S job-number job-name UNKNOWN PARAMETER [PARAMETER]
    The parameter is ignored, the return code is set to 12, and processing continues.
  • JCLAM0104S job-number job-name EXPECTED CONTINUATION NOT RECEIVED
    Continuation from the previous command statement was expected but not received.
  • JCLAM0105S job-number job-name INVALID ENTRYNAME FORMAT [ENTRYNAME]
    The specified entry name does not conform to the rules for MVS dataset naming.
  • JCLAM0106S job-number job-name REQUIRED OPERAND MISSING [OPERAND]
    The specified operand was expected but not received.
  • JCLAM0107S job-number job-name INVALID COMMAND (PARENS) [COMMAND]
    Command statement syntax error.
  • JCLAM0108S job-number job-name INCOMPLETE COMMAND [COMMAND]
    Command statement syntax error.
  • JCLAM0109S job-number job-name NO ENTRYNAME SPECIFIED
    The command requires an entry name.
  • JCLAM0110E job-number job-name ENTRYNAME ALREADY EXISTS [ENTRYNAME]
    A DEFINE command has been specified for a dataset which already exists.
  • JCLAM0111I job-number job-name ENTRYNAME RENAMED TO [ENTRYNAME]
    The entryname has been renamed to the specified name.
  • JCLAM0112S job-number job-name UNABLE TO CATALOG [ENTRYNAME]
    MFJAMS is unable to catalog the specified entry name.
  • JCLAM0113I job-number job-name ENTRYNAME DEFINED [ENTRYNAME]
    The specified entry name has been defined and cataloged. The appropriate workstation files have been created.
  • JCLAM0114I job-number job-name ENTRYNAME DELETED [ENTRYNAME]
    The specified entry name has been deleted and removed from the catalog. The appropriate workstation files have been deleted.
  • JCLAM0115E 00000000000000job-numberjob-name ENTRYNAME NOT CATALOGED [ENTRYNAME]
    The specified entry name does not exist.
  • JCLAM0116S UNEXPECTED RETURN CODE FROM MVSCATIO [return-code]
    An internal error has been detected by MVSCATIO.
  • JCLAM0117S job-number job-name TOO MANY ENTRYNAMES SPECIFIED
    The DELETE command is limited to 99 entry names.
  • JCLAM0118S job-number job-name PARAMETER NOT SUPPORTED [PARAMETER]
    The parameter is not supported by MFJAMS or is invalid for the type of dataset being defined.
  • JCLAM0119S job-number job-name MODELNAME NOT CATALOGED [ENTRYNAME]
    The specified entry name used as a model name does not exist.
Parent topic: JCLAM Error Messages


JCLUT0006E

Message

SYSUT1 = SYSUT2 nothing to do

Message Information

SYSUT1 and SYSUT2 reference the same file

Parent topic: JCLUT Error Messages


SORT200 - SORT399

  • SORT205I: job-number job-name INPUT file 'ddname'
    Informational message showing the name of the input file for the SORT operation just performed.
  • SORT206I: job-number job-name OUTPUT file 'ddname'
    Informational message showing the name of the output file for the SORT operation just performed.
  • SORT207I: job-number job-name OUTFIL file 'ddname '
    Informational message showing the name of the output file for the SORT operation just performed.
  • SORT301E: job-number job-name Position/Length bit specification ' byte.bit' must be >= 0 and <= 7.
    The bit portion of the byte.bit position or length specification must be between 0 and 7.
  • SORT399I: job-number job-name End of Micro Focus MFJSORT Utility.
    Informational message indicating the end of the SORT process.
Parent topic: SORT - MFJSORT Error Messages


JCLCM0500 - JCLCM0599

  • JCLCM0500E SPACE parameter "value" is invalid or misplaced
  • JCLCM0501E UNIT parameter "value" is invalid or misplaced
  • JCLCM0502E VOLUME parameter "value" is invalid or misplaced
  • JCLCM0503E Invalid USER parameter
  • JCLCM0504E TYPEXEC parameter "value" is invalid
  • JCLCM0505E DSNTYPE parameter "value" is invalid
  • JCLCM0506E account parameter or its length in error
  • JCLCM0507E programmer parameter or its length in error
  • JCLCM0508E Invalid ACCODE parameter
  • JCLCM0509E Invalid CCSID parameter
  • JCLCM0510E Invalid BYTES parameter
  • JCLCM0511E Invalid CARDS parameter
  • JCLCM0512E Invalid GROUP parameter
  • JCLCM0513E Invalid LINES parameter
  • JCLCM0514E Invalid NOTIFY parameter
  • JCLCM0515E Invalid PAGES parameter
  • JCLCM0516E Invalid PASSWORD parameter
  • JCLCM0517E PARM parameter or its length in error
  • JCLCM0518E Invalid RESTART parameter
  • JCLCM0519E Invalid SECLABEL parameter
  • JCLCM0520E Invalid UPLOAD parameter
  • JCLCM0521E Invalid DOWNLOAD parameter
  • JCLCM0522E Invalid MEMBER parameter
  • JCLCM0523E Invalid PCDSN parameter
  • JCLCM0524E COPIES parameter "value" has invalid value or syntax
  • JCLCM0525E Excess COPIES specification "value" rejected
  • JCLCM0526E FCB parameter "value" has invalid value
  • JCLCM0527E FLASH parameter "value" has invalid value
  • JCLCM0528E HOLD parameter "value" has invalid value
  • JCLCM0529E PRTSP parameter "value" has invalid value
  • JCLCM0530E SPIN parameter "value" has invalid value
  • JCLCM0531E TRTCH parameter "value" is invalid
  • JCLCM0532E "value" parameter is invalid
  • JCLCM0533E "value" parameter has invalid value
  • JCLCM0599I Excess VOLUME specification "value" ignored
Parent topic: JCLCM Error Messages


JCLUT0108S

Message

MFDG internal error (%1$s)

Where %1$s is subcode

Message Information

An error occurred in the MFDG program. The error code indicates the position. These errors are related to temporary file access or memory assignment.

Subcodes:

  • 002 - Open output DATAFL
  • 003 - Write DATAFL
  • 004 - Create temp file
  • 005 - Temp file count > max allowed
  • 006 - Allocate FD-REC
  • 007 - Allocate CREATE-REC
  • 008 - Allocate REPEAT-REC
  • 009 - Open input DATAFL
  • 010 - Allocate CREATE-NAME
  • 011 - Allocate DSD

Resolution

Check that disk space and swap space is available for temporary files and memory allocation. If the problem persists contact Micro Focus SupportLine.

Parent topic: JCLUT Error Messages


JCLUT0107S

Message

Incompatible DCB properties

Message Information

The concatenated data in SYSUT1 have different LRECL values.

Resolution

The data with the largest LRECL value must appear first on the list of concatenated data in SYSUT1.

Parent topic: JCLUT Error Messages


JCLUT0008E

Message

Missing or empty INPUT DD(%1$s).

Where %1$s is Dataset Name.

Message Information

The INPUT file could not be found in the catalog or is empty.

Resolution

The INPUT file must exist, be cataloged and contain at least one record.

Parent topic: JCLUT Error Messages


JCLUT0009E

Message

INPUT DD(%1$s) on CREATE or FD CARD is not on DSD CARD.

Where %1$s is Dataset name

Message Information

The INPUT dataset specified is not mentioned in the DSD INPUT parameter.

Resolution

Include the dataset name in the INPUT parameters of the DSD statement.

Parent topic: JCLUT Error Messages


JCLAM0221S Insufficient authority to define new dataset %

Resolution:

Contact your system administrator.

Parent topic: JCLAM0180 - JCLAM0230


DSNTIAR and DSNTIAC

Syntax

CALL 'DSNTIAR' USING comm-area
                     error-message
                     error-rec-length

or, for CICS applications:

CALL 'DSNTIAC' USING comm-area
                     error-message
                     error-rec-length

Parameters

comm-area | The program's Commarea, usually SQLCA. At run time, the SQLCODE field in the SQLCA structure should contain the code from which DSNTIAR/DSNTIAC generates the character-string message.
error-message An array of records of size error-rec-length used to store error message output. The two components of the error-message array are:

error-length

Containing an integer greater than or equal to 240, indicating the length of the second element, error-text.

error-text

Containing the text of the message. Generally this message is defined as an array of strings, each having a length of error-rec-length, and occurring n times so that error-length is the larger of 240 and error-rec-length * n.

error-rec-length | An integer between 71 and 241, indicating the logical record length of output messages. If the error-message length exceeds the length defined for error-rec-length, the message is stored in several logical records.

Return Codes

The following table shows the return codes that result from calling the DSNTIAR or DSNTIAC utility.

Code | Description
0 | Successful execution.
4 | More data is available than can fit into the provided message area.
8 | The error record length is not within acceptable limits, i.e., 72 <= error-rec-length <= 240.
12 | The message area was not large enough. Message length was >= 240.
16 | Error in message routine.

Example

01 ERROR-MESSAGE.
     02 ERROR-LENGTH PIC S9(4) COMP VALUE +288.
     02 ERROR-TEXT PIC X(72) OCCURS 4 TIMES.
 77 ERROR-REC-LENGTH PIC S9(9) COMP VALUE +72.
    ...
     CALL 'DSNTIAR' USING SQLCA ERROR-MESSAGE ERROR-REC-LENGTH
Related concepts
Customizing Return Codes


JCLCM0800 - JCLCM0899

  • JCLCM0801I Event-job-concluded. Job ended normally
  • JCLCM0802I Event-job-concluded. Job ended abnormally
  • JCLCM0803I Event-job-concluded. Job failed - JCL error
  • JCLCM0804I Event-job-concluded. Job scanned - No Errors
  • JCLCM0805I Event-job-concluded. Job scanned - JCL error
  • JCLCM0806I Event-job-concluded. Job flushed - No JOB stmt
  • JCLCM0807I Event-job-concluded. Job flushed - Bad JOB stmt
  • JCLCM0808I Event-job-concluded. Job flushed by User Exit req
  • JCLCM0809I Event-job-concluded. Job copied
  • JCLCM0810I Event-job-concluded. Job cancelled
  • JCLCM0811I Event-job-concluded. Job authentication failed
Parent topic: JCLCM Error Messages


JCLAM0224E Insufficient authority to delete dataset %

Resolution:

Contact your system administrator.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0222S Insufficient authority to read dataset %

Resolution:

Contact your system administrator.

Parent topic: JCLAM0180 - JCLAM0230


JCLUT0007E

Message

NAME, LENGTH or QUANTITY omitted.

Message information

Syntax Error. An IEBDG control statement is missing the NAME, LENGTH or QUANTITY value.

Solution

Correct the syntax and resubmit the job.

Parent topic: JCLUT Error Messages


JCLAM0160 - JCLAM0179

  • JCLAM0160S job-number job-name Secondary quantity invalid
    The secondary quantity is not a number.
  • JCLAM0161S job-number job-name "name" Dataset not found
    The named data set does not exist.
  • JCLAM0162S job-number job-name Mutually exclusive keywords specified
    Only one of these keywords is permitted.
  • JCLAM0163S job-number job-name The "*" specification must be surrounded by dots
    The * specification must be preceded and followed by a period.
  • JCLAM0164S Left parenthesis missing after "keyword"
  • JCLAM0165S Unrecognizable keyword "keyword"
    You have used a non-existent keyword, or one that is not supported.
  • JCLAM0166S A required keyword must follow "keyword"
    You have failed to use a keyword where it is required.
  • JCLAM0167S Command "%" is not supported
    The command is not implemented.
  • JCLAM0168S Invalid keyword value "value"
    The value is not of the required type or range.
  • JCLAM0169I The "command-name" command is not required. Command ignored
    This command is not needed in the Micro Focus environment.
  • JCLAM0170I Use host compatible form: "extension-name"
    You have used a Micro Focus JCL extension without a preceding %.
  • JCLAM0171S Password is not permitted here "level"
    LEVEL does not allow a password.
  • JCLAM0172S System Error. Insufficient space in vcat for token
    System error. token is a word or other token from the command, showing how far through processing the command the system had got when it ran out of space.
  • JCLAM0173I Excess VOLUME specification "%" ignored
  • JCLAM0174E keyword % in the DATA component is invalid
    You have used a keyword that does not exist, or is not allowed in this context, or is not supported.
  • JCLAM0175E keyword % in the INDEX component is invalid
    You have used a keyword that does not exist, or is not allowed in this context, or is not supported.
  • JCLAM0176I Data set dataset-name indexed
    Informational only.
  • JCLAM0177S Unexpected return-code return-code from CALLRB
    Indicates an internal error detected by CALLRB
  • JCLAM0178S Unexpected status-code status-code from CALLRB
    Indicates an internal error detected by CALLRB
  • JCLAM0179S Unable to obtain access to "dataset-name"
    System cannot obtain access to the specified dataset.
Parent topic: JCLAM Error Messages


Default SQLCODE Mappings

DB2 SQLCODE Value | SQL Server SQLCODE Value | SQLSTATE Value
-2601 | -803 | 23505
-19519 | -501 | 24501
-19516 | -502 | 24502
-2714 | -601 | 42710
-207 | -204 | 42704
-208 | -204 | 42704
Related concepts
Customizing SQLCode Mappings
Related reference
DIALECT


CTF Viewer

The Consolidated Tracing Facility (CTF) viewer is a tool for viewing binary format trace files that were created using the CTF binfile emitter..

The CTF viewer enables you to:

  • Navigate a trace file using the usual arrow and navigation keys
  • Display annotations for trace events to give them meaningful descriptions
  • Display more details of the selected event in the Properties view
  • Open more than one trace file at a time, with each trace file being opened in a separate editor tab
  • Set CTF preferences to control annotation file locations, and automatic switching to the CTF perspective
  • Use bookmarks for quick navigation
  • Perform text searches

To use the CTF viewer, you need to create trace files in binary format and to set up your environment and CTF configuration file appropriately.

Related information
CTF Trace File Formats
Example CTF Configuration Files


JCLAM0001I job-number job-name Number of hex digits should be even

Resolution:

Add the missing hexadecimal digit in the appropriate position.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0002S job-number job-name Invalid hex. Digits must be 0 thru 9 or A thru F.

Resolution:

Correct the offending character(s).

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0003U job-number job-name MISSING SYSIN DD

Resolution:

Add a SYSIN DD statement to the jobstream to specify the location of your input utility control statements and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0004U job-number job-name MISSING SYSPRINT DD

Resolution:

Add a SYSPRINT DD statement to the jobstream to specify the location where you want messages and other printed output to be written and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0101S job-number job-name OPERAND TOO LONG [OPERAND]

Resolution:

Correct the operand and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0102S job-number job-name NUMERIC OPERAND REQUIRED [DATA]

Resolution:

Correct the data and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0103S job-number job-name UNKNOWN PARAMETER [PARAMETER]

Resolution:

If appropriate, correct the parameter and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0104S job-number job-name EXPECTED CONTINUATION NOT RECEIVED

Resolution:

Check to make sure the previous record does not have an extraneous continuation character.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0105S job-number job-name INVALID ENTRYNAME FORMAT [ENTRYNAME]

Resolution:

Correct the entry name and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0106S job-number job-name REQUIRED OPERAND MISSING [OPERAND]

Resolution:

Include the missing operand and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0107S job-number job-name INVALID COMMAND (PARENS) [COMMAND]

An opening parenthesis "(" was expected but not received.

Resolution:

Correct the command and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0108S job-number job-name INCOMPLETE COMMAND [COMMAND]

A closing parenthesis ")" was expected but not received.

Resolution:

Correct the command and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0109S job-number job-name NO ENTRYNAME SPECIFIED

Resolution:

Correct the command to include an entry name and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0110E job-number job-name ENTRYNAME ALREADY EXISTS [ENTRYNAME]

Resolution:

If appropriate, delete the dataset and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0111I job-number job-name ENTRYNAME RENAMED TO [ENTRYNAME]

Resolution:

No action is required.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0112S job-number job-name UNABLE TO CATALOG [ENTRYNAME]

Another user or process might be using the entry name or workstation file.

Resolution:

Try the operation again when the entry name or workstation file is available for exclusive use.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0113I job-number job-name ENTRYNAME DEFINED [ENTRYNAME]

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0114I job-number job-name ENTRYNAME DELETED [ENTRYNAME]

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0115E 00000000000000job-numberjob-name ENTRYNAME NOT CATALOGED [ENTRYNAME]

Resolution:

Correct the entry name or determine why it does not exist.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0117S job-number job-name TOO MANY ENTRYNAMES SPECIFIED

Resolution:

If you have provided a list of entry names, break the DELETE command into more than one command. If you have specified a generic entry name, specify a more restrictive generic entry name that does not result in more than 99 datasets.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0118S job-number job-name PARAMETER NOT SUPPORTED [PARAMETER]

This error occurs if you try to use unsupported features such as LSDS datasets, or if you try to define keys for an RRDS dataset.

Resolution:

Correct the parameter and try again.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0119S job-number job-name MODELNAME NOT CATALOGED [ENTRYNAME]

The model name must exist in order to borrow characteristics from the model.

Resolution:

Correct the entry name or determine why it does not exist.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0120S job-number job-name UNKNOWN COMMAND [COMMAND]

Processing continues, however future commands might be affected by this error.

Resolution:

If appropriate, correct the command and try again.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0121E job-number job-name GDG IS NOT EMPTY [GDGNAME]

Resolution:

Delete the cataloged GDG entries and try again, or specify the FORCE parameter to instruct MFJAMS to delete all GDG entries in addition to the GDG model.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0122I job-number job-name HOST ENTRY RETAINED [ENTRYNAME]

Resolution:

No action is required.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0123S job-number job-name GDG LIMIT MISSING OR ZERO

Resolution

Specify the number of entries and try again.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0134I job-number job-namenumber Records processed

Resolution

No action is required.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0135I job-number job-namenumber Datasets listed

Resolution:

No action is required.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0136W job-number job-name PARM IGNORED FOR SEQ DATASETS [PARAMETER]

For example, you must not specify a FROMKEY for a sequential dataset.

Resolution

If appropriate, correct the parameter and try again.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0137I job-number job-name DATASET VERIFIED [DATASETNAME]

If the open failed, the index portion of the VSAM dataset has been recreated. The dataset is available for use.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0138I job-number job-name DATASET VERIFIED(LOCKED) [DATASETNAME]

The verify operation assumes that if another process has the dataset locked it is in satisfactory condition and can be successfully opened.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0139S job-number job-name DATASET MUST BE VSAM [DATASETNAME]

Resolution

If appropriate, correct the dataset name and try again.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0140I job-number job-name LASTCC set to number

Resolution:

No action is required.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0141I job-number job-name MAXCC set to number

Resolution:

No action is required.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0142S job-number job-name AVERAGE RECORD LENGTH INVALID

Resolution:

Correct the average record length and try again.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0143S job-number job-name MAXIMUM RECORD LENGTH INVALID

Resolution:

Correct the maximum record length and try again.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0144S job-number job-name KEY LENGTH INVALID

Resolution:

Correct the primary key length and try again.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0145S job-number job-name KEY OFFSET INVALID

Resolution:

Correct the key offset and/or key length and try again.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0146E job-number job-nameNUMBER DUPLICATE KEYS

Resolution:

No action is required.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0147W job-number job-name 00000000 DATASETS LISTED

Resolution:

No action is required.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0148E job-number job-name NO MATCHING ENTRIES [ENTRYNAME]

Resolution:

No action is required.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0151S job-number job-name Invalid dataclass name "name"

Resolution:

Correct the name and retry.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0152S job-number job-name Dataclass "name" does not exist

Resolution:

Correct the name and retry, or define the data class with the specified name.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0153S job-number job-name UNEXPECTED MVSSMS FUNC_GU RETCODE [number]

Resolution:

Contact Micro Focus Support.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0154S job-number job-name THEN MUST FOLLOW AN IF COMMAND

Resolution:

Correct the command and retry.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0155I job-number job-name Remainder of command stream ignored

This is for one of the following reasons:

  • The CANCEL command has been executed
  • MAXCC has been set to 16

Resolution:

No action is required.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0156I job-number job-name CANCEL COMMAND EXECUTED

Resolution:

No action is required.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0157S job-number job-name Space (CYL or TRK or REC) missing

Resolution:

Specify space parameters as appropriate and re-run.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0158S job-number job-name RECORG for input and output data set incompatible

Resolution:

Correct and re-run.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0159S job-number job-name Primary quantity invalid

Resolution:

Correct and re-run.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0160S job-number job-name Secondary quantity invalid

Resolution:

Correct and re-run.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0161S job-number job-name "name" Dataset not found

Resolution:

Correct and re-run.

Parent topic: JCLAM0160 - JCLAM0179


JCLCM0163U job-number job-name MVSJOBNO ERROR ASSIGNING JOBNUM

Resolution:

Contact SupportLine.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0170I job-number job-name JCL SCANNED - NO ERRORS

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0171E job-number job-name JCL SCANNED - JCL ERROR

Resolution:

Use the job log in the spool view to resolve the JCL syntax errors.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0172E job-number job-name JOB FAILED - JCL ERROR

Resolution:

Consult the JCL listing for the more details of the error.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0173I job-number job-name MFJUSCAN SCANNER EXIT - NO ERRORS

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0174E job-number job-name MFJUSCAN SCANNER EXIT - JCL ERROR

Resolution:

Consult the JCL listing for additional information on the JCL errors detected by the user written MFJUSCAN user exit module.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0175S job-number job-name MFJUSCAN SCANNER EXIT - I/O ERROR ON FILENAME

Resolution:

Ensure that the filename being returned by the user written MFJUSCAN user exit module is correct. Verify that the file has been properly formatted and that the file has been closed.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0181S job-number job-name JOB ABENDED - ERRORCODE

Resolution:

Consult the JCL spool file listing for the exact reason for the failure.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0182I job-number job-name JOB ENDED - RC(RETURNCODE)

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0185U job-number job-name Job flushed upon User Exit request.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0187I job-number job-name JOB SUBMITTED JOBNAME

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0188I job-number job-name JOB STARTED.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0189I job-number job-name STEP BYPASSED STEPNAME.PROCSTEPNAME

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0190I job-number job-name STEP STARTED STEPNAME.PROCSTEPNAME

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0191I job-number job-name STEP ENDED STEP1 - COND CODE CONDITION-CODE

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0192S job-number job-name STEP ABENDED STEP01 - COND CODE ABEND-CODE

Resolution:

Correct the cause of the abnormal termination.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0193U job-number job-name PROGRAM NOT FOUND - PROGRAMNAME

Resolution:

Correct the program name and/or correct your STEPLIB specifications to reflect the correct location of the program.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0194S job-number job-name DCB MODEL NOT FOUND - DDNAME

Resolution:

Remove the reference to the DCB model on the DD statement or ensure that it exists as a valid entry in the catalog.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0195S job-number job-name DATASET IS NOT A GDG - DDNAME

Resolution:

Define the GDG model or correct the data set name on the DD statement to ensure that it refers to a valid data set name.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0197S job-number job-name DISP=MOD, DSN INCOMPATIBLE - DDNAME

Resolution:

Correct the JCL error and resubmit the jobstream.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0200S job-number job-name DISP=NEW, DATASET EXISTS - DDNAME

Resolution:

Correct the JCL error and resubmit the jobstream.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0201S job-number job-name DATASET IS NOT A PDS - DDNAME

Resolution:

Define the PDS model or correct the data set name on the DD statement to ensure that it refers to a valid dataset name.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0202S job-number job-name DISP=OLD/SHR, DATASET NOT FOUND - DDNAME

Resolution:

Correct the JCL error and resubmit the jobstream.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0402E job-number job-name MISSING EXECUTE STATEMENT

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0403E job-number job-name TOO MANY PROCEDURES REFERENCED

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0404E job-number job-name MISSING PEND STATEMENT

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0405E job-number job-name RECURSIVE, ILLEGAL NESTING, OR LIMIT EXCEEDED

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0406E job-number job-name PROCEDURE NOT FOUND

Resolution:

Check the procedure name and correct. Check the procedure libraries to be sure the specified procedure actually exists in the libraries accessible to the JCL scanner.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0407E job-number job-name INVALID LABEL

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0409E job-number job-name INVALID OPERATOR

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0410E job-number job-name INVALID CONTINUATION

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0411E job-number job-name OPERAND TOO LONG

For example, program names cannot exceed eight characters.

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0412E job-number job-name NON-NUMERIC DATA DETECTED

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0413E job-number job-name DUPLICATE JOB

Resolution:

Resubmit the JCL with only one job per jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0414E job-number job-name INVALID OR UNKNOWN OR UNEXPECTED OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0415E job-number job-name INVALID ADDRSPC OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0416I job-number job-name INVALID JOBCLASS OPERAND IGNORED

Resolution:

If necessary, correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0417I job-number job-name INVALID MSGCLASS OPERAND IGNORED

An appropriate default value will be used for jobstream execution.

Resolution:

If necessary, correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0418E job-number job-name INVALID MSGLEVEL OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0419E job-number job-name INVALID PERFORM OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0420E job-number job-name INVALID PRTY OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0421E job-number job-name INVALID RD OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0422I job-number job-name INVALID REGION OPERAND IGNORED

Resolution:

If necessary, correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0423E job-number job-name INVALID STEP NAME

Resolution:

Make sure the name does not exceed eight characters. Make sure the name refers to a valid job step.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0424E job-number job-name INVALID PROCSTEP NAME

Resolution

Make sure the name qualifiers do not each exceed eight characters. Make sure that specification of a procedure step name is valid where used.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0425E job-number job-name INVALID TIME OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0426E job-number job-name INVALID TYPRUN OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0427E job-number job-name CONDITION STATEMENT IMPROPERLY FORMED

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0428E job-number job-name INVALID CONDITION CODE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0439E job-number job-name INVALID LABEL REFERENCE

Resolution:

Make sure the label reference is specified correctly, including stepname or procstepname as applicable.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0440E job-number job-name SYMBOL NOT FOUND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0441E job-number job-name UNKNOWN PROCSTEP NAME

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0442E job-number job-name INVALID OVERRIDE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0443E job-number job-name INVALID POSITIONAL OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0444E job-number job-name INVALID DATASET NAME

Resolution:

Check the data set name to make sure it follows the MVS data set naming rules.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0445E job-number job-name INVALID REFER BACK

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0446E job-number job-name DCBMODEL NAME NOT FOUND

Resolution:

You must catalog model names in the catalog with model DCB characteristics.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0447E job-number job-name INVALID DDNAME

Resolution:

Make sure the DD name is no longer than eight characters.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0448E job-number job-name INVALID DDNAME REFERENCE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0449E job-number job-name MISMATCHED PARENTHESES

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0450E job-number job-name REFERENCED DD DOES NOT REFER TO A PDS MEMBER

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0453E job-number job-name UNKNOWN RESTART STEP NAME

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0454E job-number job-name INVALID ABEND CODE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0455E job-number job-name INVALID BLKSIZE OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0456I job-number job-name BLKSIZE NOT A MULTIPLE OF LRECL

The error has been ignored, but the associated data set may be unusable.

Resolution:

If necessary, correct the error and resubmit the job.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0457E job-number job-name INVALID EXPDT VALUE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0458W job-number job-name INVALID FREE VALUE – DEFAULT OF (END) SUBSTITUTED

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0459E job-number job-name INVALID UCS VALUE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0460E job-number job-name INVALID RECORG VALUE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0461E job-number job-name INVALID DLM VALUE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0462E job-number job-name INVALID AVGREC VALUE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0463E job-number job-name TOO MANY LIBRARIES SPECIFIED

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0464E job-number job-name INCLUDE NOT FOUND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0465E job-number job-name DUPLICATE INSTREAM PROCEDURE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0499S job-number job-name FILE I/O ERROR OR FILE IS EMPTY

Resolution:

Verify that the correlated PC file exists, that it is not empty, and that the attributes specified in the system catalog match the physical characteristics of the file.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0900E job-number job-name User Exit shut down due to a failure

The user exit will not be notified of any future events for this job.

Resolution:

Correct the problems in the user exit and re-run.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0901I job-number job-name Event-job-ready action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0902I job-number job-name Event-job-flushed action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0903I job-number job-name Event-job-started action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0904I job-number job-name Event-job-JCL-error action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0905I job-number job-name Event-job-ended action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0906I job-number job-name Event-TSO-started action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0907I job-number job-name Event-TSO-ended action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0908I job-number job-name Event-step-ready action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0909I job-number job-name Event-step-started action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0910I job-number job-name Event-step-ended action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0911I job-number job-name Event-step-bypassed action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0912I job-number job-name Event-CALL-ready action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0913I job-number job-name Event-CALL-started action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0914I job-number job-name Event-CALL-ended action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0915I job-number job-name Event-RUN-ready action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0916I job-number job-name Event-RUN-started action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0917I job-number job-name Event-RUN-ended action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0918I job-number job-name Event-before-PGM-call action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLCM0919I job-number job-name Event-after-PGM-call action is: explanation

Resolution:

No action is required.

Parent topic: JCLCM0900 - JCLCM0999


JCLGN0001U job-number job-name MISSING SYSUT1

Resolution:

Include a DD statement for SYSUT1 and try again.

Parent topic: JCLGN Error Messages


JCLGN0002U job-number job-name INVALID SYSUT1

Only sequential datasets and members of a PDS dataset can be specified on the SYSUT1DD statement.

Resolution:

Correct the DD statement for SYSUT1 and try again.

Parent topic: JCLGN Error Messages


JCLGN0003U job-number job-name MISSING SYSUT2

Resolution:

Include a DD statement for SYSUT2 and try again.

Parent topic: JCLGN Error Messages


JCLGN0004U job-number job-name INVALID SYSUT2

Resolution:

Correct the DD statement for SYSUT2 and try again.

Parent topic: JCLGN Error Messages


JCLGN0005U job-number job-name I/O ERROR ON SYSUT1

Resolution:

Verify that DCB characteristics specified on the SYSUT1DD statement, if any, and the DCB characteristics in the system catalog for the data set name specified on the SYSUT1DD statement are correct.

Parent topic: JCLGN Error Messages


SORT014U job-number job-name STATUS = FILE STATUS

Resolution:

File I/O errors are often caused by defining improper values for record formats. For example, you might have defined a line sequential data set (LSEQ) as a record sequential data set.

Parent topic: SORT000 - SORT099
Related information
SORT013U job-number job-name I/O ERROR ON DATASET 'DATASET'


SORT015U job-number job-name COMMAND STATEMENT ERROR(S) DETECTED

Resolution:

Correct the errors and try again.

Parent topic: SORT000 - SORT099


SORT016I job-number job-name SORTTEMP DATASET ALLOCATED TO 'FILE'

Temporary work files are allocated to the path name specified in the MFJSORTW environment variable. If MFJSORTW is not specified, the temporary files are allocated to the directory specified in the TEMP environment variable, and to the current drive and directory when neither is specified.

The temporary file name format is hhmmssss.$WK, where hhmmssss is the system time of file allocation.

Parent topic: SORT000 - SORT099


SORT019I job-number job-name KEY LENGTH TRUNCATED TO 4096 BYTES

Resolution:

Check the key field(s) specified for the sort/merge operation.

Parent topic: SORT000 - SORT099


SORT020U job-number job-name SORT(EXTSM) FAILED – SORT ENGINE STATUS = EXTSM STATUS

Resolution:

Make additional real or virtual memory available, or reduce the file size or the number and length of sort/merge fields, and retry the sort/merge operation. Contact SupportLine if the problem persists.

Parent topic: SORT000 - SORT099


SORT033I job-number job-namenumber RECORDS MERGED

Parent topic: SORT000 - SORT099


SORT034I job-number job-namenumber RECORDS COPIED

Parent topic: SORT000 - SORT099


SORT035U job-number job-name SORTIN DSORG OR RECFM MISSING

Resolution:

Correct the catalog entry for the SORTIN data set to include the record format (RECFM).

Parent topic: SORT000 - SORT099


SORT036U job-number job-name SORTIN RECORD LENGTH MISSING OR INVALID

Resolution:

Correct the catalog entry for the SORTIN data set to include the logical record length (LRECL).

Parent topic: SORT000 - SORT099


SORT037U job-number job-name SYSIN RECFM 'FORMAT'' INVALID

Resolution:

Correct the catalog entry for the SYSIN data set to include a valid record format (RECFM).

Parent topic: SORT000 - SORT099


SORT038U job-number job-name SORTIN RECFM 'FORMAT' INVALID

Resolution:

Correct the catalog entry for the SORTIN data set to include a valid record format (RECFM).

Parent topic: SORT000 - SORT099


SORT039U job-number job-name SORTOUT RECFM 'FORMAT' INVALID

Resolution:

Correct the catalog entry for the SORTOUT data set to include a valid record format (RECFM).

Parent topic: SORT000 - SORT099


SORT040U job-number job-name SORT TERMINATED BY E15 'PROGRAM'

Parent topic: SORT000 - SORT099


SORT041U job-number job-name SORT TERMINATED BY E35 'PROGRAM'

Parent topic: SORT000 - SORT099


SORT042U job-number job-name MEMORY ALLOCATION FAILURE

Resolution:

Close down some other active programs and try again.

Parent topic: SORT000 - SORT099


SORT043U job-number job-name TOO MANY OUTFIL FILES SPECIFIED

Resolution:

Reduce the number of OUTFIL files.

Parent topic: SORT000 - SORT099


SORT044U job-number job-name TOO MANY 'USE' FILES SPECIFIED

Resolution:

Reduce the number of USE files.

Parent topic: SORT000 - SORT099


SORT045U job-number job-name TOO MANY 'GIVE' FILES SPECIFIED

Resolution:

Reduce the number of GIVE files.

Parent topic: SORT000 - SORT099


SORT090U job-number job-name SORT TERMINATED - MISSING SYSOUT

Resolution:

Specify a SYSOUT DD statement and try again.

Parent topic: SORT000 - SORT099


SORT091U job-number job-name SORT TERMINATED - MISSING SYSIN

Resolution:

Specify a SYSIN DD statement and try again.

Parent topic: SORT000 - SORT099


SORT092U job-number job-name SORT TERMINATED - MISSING SORTOUT

Resolution:

Specify a SORTOUT DD statement and try again.

Parent topic: SORT000 - SORT099


SORT093U job-number job-name SORT TERMINATED - MISSING SORTIN OR SORTIN01

Resolution:

Specify a SORTIN or SORTIN01 DD statement and try again.

Parent topic: SORT000 - SORT099


SORT094U job-number job-name SORT TERMINATED - MISSING SORTOFnn

Resolution:

Specify a SORTOFnn DD statement and try again.

Parent topic: SORT000 - SORT099


SORT095U job-number job-name SORT TERMINATED – BAD DATA IN 'CHANGE' FIELD

Resolution:

Change the sort request, using the NOMATCH option to specify the action to be taken when input data does not match any of the CHANGE find-constants.

Parent topic: SORT000 - SORT099


SORT096U job-number job-name SORT TERMINATED – MISSING FNAMES DATASET 'DATASET'

Resolution:

Specify a DD statement and try again.

Parent topic: SORT000 - SORT099


SORT110E job-number job-name NON-NUMERIC DATA DETECTED

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT111E job-number job-name 'OPERATOR' OPERATOR ALREADY PROCESSED

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT112E job-number job-name 'EXIT'' EXIT NOT SUPPORTED

Resolution:

Check the exit name. You might have misspelled it.

Parent topic: SORT100 - SORT199


SORT114E job-number job-name EXPECTED '(' NOT FOUND

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT115E job-number job-name BOOLEAN OPERATOR 'OPERATOR' INVALID

Resolution:

Correct the Boolean operator and try again.

Parent topic: SORT100 - SORT199


SORT118E job-number job-name SORT / MERGE CONFLICT

Resolution:

Correct the command statements and try again.

Parent topic: SORT100 - SORT199


SORT119E job-number job-name INCLUDE / OMIT CONFLICT

Resolution:

Correct the command statements and try again.

Parent topic: SORT100 - SORT199


SORT120E job-number job-name SORT STATEMENT MISSING FIELDS OPERAND

Resolution:

Correct the SORT statement and try again.

Parent topic: SORT100 - SORT199


SORT121E job-number job-name MERGE STATEMENT MISSING FIELDS OPERAND

Resolution:

Correct the MERGE statement and try again.

Parent topic: SORT100 - SORT199


SORT122E job-number job-name INCLUDE STATEMENT MISSING COND OPERAND

Resolution:

Correct the INCLUDE statement and try again.

Parent topic: SORT100 - SORT199


SORT123E job-number job-name OMIT STATEMENT MISSING COND OPERAND

Resolution:

Correct the OMIT statement and try again.

Parent topic: SORT100 - SORT199


SORT124E job-number job-name FIELD POSITION 'NUMBER' INVALID

Resolution:

Correct the field position and try again.

Parent topic: SORT100 - SORT199


SORT125E job-number job-name FIELD LENGTH 'NUMBER' INVALID

Resolution:

Correct the field length and try again.

Parent topic: SORT100 - SORT199


SORT126E job-number job-name RECORD LENGTH 'NUMBER'' INVALID

Resolution:

Correct the record length and try again.

Parent topic: SORT100 - SORT199


SORT127E job-number job-name MISSING SORT/MERGE/COPY COMMAND STATEMENT

Resolution:

Include a SORT, MERGE, or COPY command statement and try again.

Parent topic: SORT100 - SORT199


SORT128E job-number job-title EXPECTED ')' NOT FOUND

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT129E job-number job-name EXPECTED '=' NOT FOUND

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT130E job-number job-name EXPECTED 'F' OR 'V' NOT FOUND

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT131E job-number job-name EXPECTED 'IX', 'RL', 'SQ', OR 'LS' NOT FOUND

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT132E job-number job-name PRIME KEY MUST BE SPECIFIED FIRST

Resolution:

Reorder the key definitions so that the prime key is first and try again.

Parent topic: SORT100 - SORT199


SORT133E job-number job-name EXPECTED 'P', 'AD', 'A', OR 'C' NOT FOUND

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT134E job-number job-name KEYWORD/VALUE 'VALUE' INVALID FOR DFSORT EMULATION

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT135E job-number job-name KEYWORD/VALUE 'VALUE' INVALID FOR SYNCSORT EMULATION

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT136E job-number job-name NO GIVE FILE SPECIFIED FOR OUTFIL GROUP

Resolution:

Specify a GIVE file for the group and try again.

Parent topic: SORT100 - SORT199


SORT137E job-number job-name NO USE FILE SPECIFIED

Resolution:

Specify a USE file and try again.

Parent topic: SORT100 - SORT199


SORT138E job-number job-name TARGET LITERAL 'LITERAL' TOO LONG IN CHANGE

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT197E job-number job-name INREC / MERGE CONFLICT

Resolution:

Substitute a SORT command instead of MERGE and try again.

Parent topic: SORT100 - SORT199


SORT198E job-number job-name NON-NUMERIC DATA DETECTED IN 'ZD' SUM FIELD

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT199E job-number job-name TOO MANY OUTFIL STMTS OR TOO MANY FIELDS ON OUTFIL STMT(S)

Resolution:

Reduce the number of SORTOFnn files and try again.

Parent topic: SORT100 - SORT199


SORT205I: job-number job-name INPUT file 'ddname'

Parent topic: SORT200 - SORT399
Related information
MFJSORT Summary Messages


SORT206I: job-number job-name OUTPUT file 'ddname'

Parent topic: SORT200 - SORT399
Related information
MFJSORT Summary Messages


SORT207I: job-number job-name OUTFIL file 'ddname '

Parent topic: SORT200 - SORT399
Related information
MFJSORT Summary Messages


SORT301E: job-number job-name Position/Length bit specification ' byte.bit' must be >= 0 and <= 7.

Resolution:

Correct the error and re-run.

Parent topic: SORT200 - SORT399


SORT399I: job-number job-name End of Micro Focus MFJSORT Utility.

Parent topic: SORT200 - SORT399
Related information
MFJSORT Summary Messages


JCLCM0199I job-number job-name Program program-name is cobol-dialectchar-setbyte-orderamode-type

cobol-dialect
One of:
  • COBOL ANS85
  • COBOL VSC2
  • COBOL OSVS
  • Z/OS HLASM
  • non-COBOL
char-set
One of:
  • ASCII
  • EBCDIC
byte-order
One of:
  • Big-Endian
  • Little-Endian
amode-type
One of:
  • AMODE31
  • AMODE24
  • NOAMODE
Parent topic: JCLCM0000 - JCLCM0199


JCLCM0164A job-number job-name All job numbers in the range lower-job-number:upper-job-number are in use.

The job has been rejected. The range in effect is indicated by lower-job-number and upper-job-number.

Resolution:

The administrator should purge jobs and spool files that are no longer needed. Until more job numbers become available, all future job submissions will be rejected with this message.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0180I job-number job-name Job ready for execution.

Parent topic: JCLCM0000 - JCLCM0199


JCLAM0116S UNEXPECTED RETURN CODE FROM MVSCATIO [return-code]

Resolution:

Note the return code and contact Micro Focus Support.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0149S INVALID QUOTED LITERAL

Resolution:

Make sure any quotation marks within the literal are doubled. For example, This is Jane''s book (two consecutive single quotation marks). If the literal is continued onto a second line make sure the first line has a terminating literal.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0150S ERROR. FILE IS EMPTY

Resolution:

Make sure the sending file is not empty.

Parent topic: JCLAM0140 - JCLAM 0159


JCLAM0164S Left parenthesis missing after "keyword"

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0165S Unrecognizable keyword "keyword"

Resolution:

Check your syntax and spelling.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0166S A required keyword must follow "keyword"

Resolution:

Check your syntax and spelling.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0167S Command "%" is not supported

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0168S Invalid keyword value "value"

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0169I The "command-name" command is not required. Command ignored

The job should function the same without the command.

Resolution:

Remove the command if you wish, or leave it there for mainframe compatibility.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0170I Use host compatible form: "extension-name"

This works in the Micro Focus environment but is not mainframe compatible.

Resolution:

We recommend replacing PCDSN with %PCDSN for mainframe compatibility.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0171S Password is not permitted here "level"

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0000I job-number job-name Interactive AMS Terminated

This does not imply an error. It could occur, for example, if a debugging session is canceled while the utility is in use.

Resolution

No action is required.

Parent topic: JCLAM0000 - JCLAM0119


JCLAM0179S Unable to obtain access to "dataset-name"

It is probably being used by another job or user with exclusive access.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0180S Unexpected return code return-code from jseb-func-enq-ds

Resolution:

Note the return code and contact SupportLine.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0181S Unexpected return code % from jseb-func-deq-ds

Resolution:

Note the return code and contact SupportLine.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0182U Unexpected return code % from jseb-func-info-job

Resolution:

Note the return code and contact SupportLine.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0183S Character set mismatch. Copied without conversion

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0184I OS Copy used to perform this REPRO

Resolution:

No action is required.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0185S OS Copy operation for this REPRO failed with RC=return-code

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0186I Incompatible data set attributes. OSCOPY ignored.

Resolution:

No action is required.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0228I Record n out of key sequence.

Resolution:

No action is required.

Parent topic: JCLAM0180 - JCLAM0230


JCLAM0229E Record n out of key sequence.

Resolution:

Correct the order of the records so that the keys are sequential, and re-run.

Parent topic: JCLAM0180 - JCLAM0230


JCLCM0169I JCL copied

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0196S Resource allocation failed for dd-name<[concat dd seq no]>. Reason=nnn

The meanings of the reason codes are as follows:

  • 001 - invalid mvs dataset name
  • 002 - invalid recfm and dsorg combination
  • 003 - invalid recfm, lrecl and dsorg combination
  • 004 - invalid lrecl
  • 005 - no gdg model present
  • 006 - gdg max < 1 or > 99
  • 007 - gdg roll disp is incorrect
  • 008 - charset is not ascii, ebcdic or unknown
Parent topic: JCLCM0000 - JCLCM0199


JCLCM0198I VSE CONFIG FILE - outcome : config-file

outcome can be LOADED (indicating that the configuration file was read sucessfully), NOT SPECIFIED (no configuration file was specified), or UNAVAILABLE (the specified configuration file could not be read).

Resolution:

No action is required if the outcome is as you expected. Otherwise, make sure the file is specified and available.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0203S ACI option has overridden step abend S422

Resolution:

Investigate the abend. One possible cause is that a data set used by the step does not exist on the host.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0214S Required resources could not be obtained

Resolution:

Try again later.

Parent topic: JCLCM0200 - JCLCM0299


JCLAM0124I job-number job-name GDG LIMIT CHANGED TO 31

Resolution

Reduce the number of entries requested to 31 or fewer and try again. The minimum number is 1.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0125S job-number job-name RELATENAME NOT CATALOGED [ENTRYNAME]

The dataset is not cataloged.

Resolution:

Correct the dataset name or define the dataset and try the operation again.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0126S job-number job-name FILE MISSING OR INVALID TYPE [FILENAME]

Resolution:

Make sure the VSAM file is complete and try the operation again.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0127I job-number job-name ALTERNATE INDEX DEFINED [ENTRYNAME]

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0128I job-number job-nameNUMBER RECORDS INDEXED

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0129S job-number job-name INVALID PRIMARY KEY OR RECORDSIZE

Resolution:

Correct the record length or key position and try again.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0130S job-number job-name DD MISSING [DDNAME]

Resolution:

Add the necessary statement for the DD name or correct the DD name specified in the INFILE or OUTFILE parameter and try again.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0131S job-number job-name INSUFFICIENT DCB [DATASETNAME]

Resolution:

Provide the required DCB parameters in your JCL or update the catalog to include all of the DCB parameters. A valid RECFM and LRECL is required.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0132S job-number job-name I/O ERROR [DATASETNAME]

Resolution

See message JCLAM0133S for information on the I/O operation that caused the error.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0133S job-number job-name I/O STATUS [FILE STATUS]

Resolution:

File I/O errors are generally caused by defining incorrect values for record formats. For example, defining a line sequential dataset (LSEQ) as a record sequential dataset. Correct the values and retry the operation.

Parent topic: JCLAM0120 - JCLAM0139


JCLAM0162S job-number job-name Mutually exclusive keywords specified

Resolution:

Specify only the desired keyword and re-run.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0163S job-number job-name The "*" specification must be surrounded by dots

For example, MFIDSA.PAYROLL.* is invalid since it is not followed by a period.

Resolution:

Correct and re-run.

Parent topic: JCLAM0160 - JCLAM0179


JCLCM0000I job-number job-name JCL PROCESSOR TERMINATED

Resolution:

No action is required.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0001U job-number job-name I/O ERROR ON SYSTEM CATALOG FILE

Resolution:

If running under the IDE, contact SupportLine. If running from a Micro Focus command prompt, correct the setting for the MFSYSCAT environment variable.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0147U job-number job-name NO DATASET NAME SPECIFIED

Resolution:

Ensure that a data set name has been specified and try again. Contact SupportLine if the problem persists.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0158U job-number job-name MVS data set "name" not found

Resolution:

Add the data set to the catalog and re-run.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0159U job-number job-name FILE OPEN ERROR FILENAME

Resolution

Verify that the file exists, that it is not empty, and that it has been correlated properly in the system catalog if it is not a line sequential file.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0160U job-number job-name FILE I/O ERROR FILENAME

Resolution:

Verify that the file exists, that it is not empty, and that it has been correlated properly in the system catalog if it is not a line sequential file.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0161U job-number job-name DATASET TYPE INVALID DATASETNAME

For example, you cannot submit a GDG or PDS model name as a JCL jobstream because the contents of the data set are not recognized as JCL.

Resolution:

Verify that the data set name is correct and that the correct DCB attributes have been specified in the system catalog.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0162U job-number job-name FILE IS EMPTY FILENAME

Resolution:

Verify whether the data set is empty and that the correct DCB attributes have been specified in the system catalog.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0205I job-number job-namePROGRAM FUNC=func/functext RC=rcode/rcodetext

Resolution:

Contact SupportLine.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0206I job-number job-name ALLOCATION DEFERRED UNTIL OPEN - DDNAME

Allocation of any data sets for the DD statement is deferred until data set open time to prevent generation of JCL errors for DD statements which may be associated with IMS databases, as they are not required by the IMS component.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0207I job-number job-name DUPLICATE DD STATEMENT IGNORED - DDNAME

Resolution:

Delete the duplicate DD statement to avoid this message in future.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0208I job-number job-name Host OS may require SPACE for DD "DD-name"

Resolution:

Change the JCL to run on the host if appropriate.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0209S job-number job-name DISP=NEW, UNCATALOGED DUPLICATE EXISTS - DDNAME

Resolution:

This condition can arise when DISP=(NEW,KEEP) or DISP=(,UNCATLG) is specified or implied. Select the Catalog View, check the Show uncataloged datasets check box, and review the entries listed. Delete the duplicate data set entry in the catalog, or correct the disposition or data set name in the JCL as appropriate.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0210U job-number job-name I/O ERROR ON SPOOL FILE

Resolution:

Contact SupportLine.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0211S job-number job-name Dataclass "name" does not exist

Resolution:

Correct the name and retry, or define the data class with this name.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0212S job-number job-name REFDD dataclass "name" does not exist

Resolution:

Correct the name and retry, or define the data class with this name.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0213S job-number job-name Main pgm name did not issue GOBACK or STOP RUN

Resolution:

Correct as appropriate and re-run.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0401U job-number job-name MISSING JOB STATEMENT

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0429E job-number job-name INVALID CONDITION OPERATOR

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0430E job-number job-name INVALID PROGRAM NAME

Specify a program name of 1 to 8 alphanumeric or national characters in the PROGRAM field. The first character must be alphabetic or national.

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0431E job-number job-name INVALID DYNAMNBR OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0432E job-number job-name INVALID BURST OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0433E job-number job-name INVALID CHKPT OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0434E job-number job-name INVALID RECFM OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0435E job-number job-name INVALID LRECL OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0436E job-number job-name INVALID DISP OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0437E job-number job-name UNEXPECTED STATEMENT

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0438E job-number job-name PROCSTEP NOT FOUND

Resolution:

Make sure the name refers to a valid procedure step.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0466U job-number job-name INVALID JOBNAME

Resolution:

Check the job name to make sure it follows the MVS naming rules.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0467E job-number job-name CONFLICTING OR INCOMPATIBLE OPERANDS

For example, you cannot specify DCB= and LIKE= and REFDD= all on the same DD statement.

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0468E job-number job-name INVALID DSORG VALUE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0469I job-number job-name NONUNIQUE REFERENCE RESOLVED TO FIRST OCCURRENCE

The JCL processor has assumed that the use of that stepname refers to the first job step which has that stepname.

Resolution:

Check that the default action is appropriate.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0470I job-number job-name NONUNIQUE REFERENCE RESOLVED TO CURRENT OCCURRENCE

The JCL processor has assumed that the use of that stepname refers to the current job step which has that stepname.

Resolution:

Check that the default action is appropriate.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0471E job-number job-name OPERAND TABLE LIMIT EXCEEDED

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0472E job-number job-name SYMBOL TABLE LIMIT EXCEEDED

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0473E job-number job-name INVALID NULL OPERAND VALUE

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0474E job-number job-name INVALID SYSOUT CLASS OPERAND

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0476E job-number job-name Symbol "name" was not used

Resolution:

Correct the error and resubmit the jobstream.

Parent topic: JCLCM0400 - JCLCM0499


JCLGN0006U job-number job-name I/O ERROR ON SYSUT2

Resolution:

Verify that DCB characteristics specified on the SYSUT2DD statement, if any, and the DCB characteristics in the system catalog for the data set name specified on the SYSUT2DD statement are correct.

Parent topic: JCLGN Error Messages


JCLIM0001U job-number job-name INVALID EXEC STATEMENT PARM

Resolution:

Specify the parameter data and try again. The format of the PARM operand is:
PARM = ' type , programname , psbname '
Parent topic: JCLIM Error Messages


JCLIM0002U job-number job-name INVALID PROGRAM TYPE PARM

Resolution:

Correct the program type in the PARM operand of the EXEC statement and try again.

Parent topic: JCLIM Error Messages


JCLIM0003U job-number job-name MISSING PROGRAM NAME PARM

Resolution:

Specify a program name in the PARM operand of the EXEC statement and try again.

Parent topic: JCLIM Error Messages


JCLIM0004U job-number job-name MFIMS OPTION NOT INSTALLED

Resolution:

If necessary, install the MFIMS component. If it is already installed, contact SupportLine.

Parent topic: JCLIM Error Messages


SORT009U job-number job-name SORT TERMINATED - ERROR ACCESSING MFJSORTM.DAT

Another process might have the file open for exclusive use.

Resolution:

Retry the sort/merge operation.

Parent topic: SORT000 - SORT099


SORT012U job-number job-name SYSIN DATASET 'DATASET' EMPTY

Resolution:

Make certain that the SYSIN data set or instream SYSIN contains data.

Parent topic: SORT000 - SORT099


SORT013U job-number job-name I/O ERROR ON DATASET 'DATASET'

Resolution:

See message SORT014U, which identifies the specific status code encountered.

Parent topic: SORT000 - SORT099
Related information
SORT014Ujob-number job-name STATUS=FILE STATUS


SORT100E job-number job-name MISSING OPERATOR

Resolution:

Correct the SYSIN command statement to include a valid operator.

Parent topic: SORT100 - SORT199


SORT101E job-number job-name MALFORMED OPERATOR

Resolution:

Correct the SYSIN command statement to include a space after the operator.

Parent topic: SORT100 - SORT199


SORT102E job-number job-name EXPECTED OPERAND MISSING

Resolution:

Correct the command statement.

Parent topic: SORT100 - SORT199


SORT103E job-number job-name INVALID OPERATOR 'OPERATOR'

Resolution:

Correct the command statement operator.

Parent topic: SORT100 - SORT199


SORT104E job-number job-name INVALID OPERAND KEYWORD 'OPERAND'

Resolution:

Correct the command statement operand.

Parent topic: SORT100 - SORT199


SORT105E job-number job-name EXPECTED CONTINUATION NOT PRESENT

Resolution:

Check the command statement(s).

Parent topic: SORT100 - SORT199


SORT106E job-number job-name FIELD FORMATS IMPROPERLY SPECIFIED

Resolution:

Specify the field format in one location only and try again.

Parent topic: SORT100 - SORT199


SORT107E job-number job-name FIELD FORMAT 'FORMAT' INVALID

Resolution:

Correct the field format and try again.

Parent topic: SORT100 - SORT199


SORT108E job-number job-name SEQUENCE 'SEQUENCE' INVALID

Resolution:

Correct the sequence operand and try again.

Parent topic: SORT100 - SORT199


SORT109E job-number job-name TOO MANY FIELDS SPECIFIED

Resolution:

Reduce the number of control fields and try again.

Parent topic: SORT100 - SORT199


SORT139E job-number job-name SUBSTRING COMPARISON MUST BE WITH CHARACTER LITERAL

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT140E job-number job-name INVALID BINARY DIGIT DETECTED

Resolution:

Correct the binary literal and try again.

Parent topic: SORT100 - SORT199


SORT141E job-number job-name CANNOT SPECIFY SAVE WITH EITHER INCLUDE OR OMIT

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT142E job-number job-name REPEATED FILES= OR FNAMES=

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT191I job-number job-name OPERATOR 'OPERATOR' IGNORED

Parent topic: SORT100 - SORT199


SORT192I job-number job-name OPERAND 'OPERAND' IGNORED

Parent topic: SORT100 - SORT199


SORT193E job-number job-name INVALID HEX DIGIT DETECTED

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


SORT194I job-number job-name NO ALTSEQ COMMAND SPECIFIED FOR 'AQ' SORT FIELD FORMATS; 'CH' ASSUMED

Parent topic: SORT100 - SORT199


SORT195I job-number job-name SORTWORK DIRECTORY 'DIRECTORY' IS INVALID; USING CURRENT DIRECTORY

Parent topic: SORT100 - SORT199


SORT196E job-number job-name SUM / COPY CONFLICT

Resolution:

Correct the command statement and try again.

Parent topic: SORT100 - SORT199


JCLUT0001E job-number job-name Control statement error explanation

Message

Control statement error "%1$s"

Where the parameter "%1$s" is a syntax hint.

Message information

Syntax Error. There is an error in the syntax of the control statement. The message will also contain a hint of the problem.

Resolution

Correct the syntax and resubmit the job.

Parent topic: JCLUT Error Messages


JCLUT0005E job-number job-name Continuation error

Message

Continuation error.

Message information

Syntax error.

Resolution

Correct the syntax and resubmit the job.

Parent topic: JCLUT Error Messages


JCLAM0172S System Error. Insufficient space in vcat for token

Resolution:

Contact SupportLine.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0173I Excess VOLUME specification "%" ignored

Resolution:

No action is required.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0174E keyword % in the DATA component is invalid

Resolution:

Check your syntax and spelling.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0175E keyword % in the INDEX component is invalid

Resolution:

Check your syntax and spelling.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0176I Data set dataset-name indexed

Resolution:

No action is required.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0177S Unexpected return-code return-code from CALLRB

Resolution:

Note the return code and contact SupportLine.

Parent topic: JCLAM0160 - JCLAM0179


JCLAM0178S Unexpected status-code status-code from CALLRB

Resolution:

Note the status code and contact SupportLine.

Parent topic: JCLAM0160 - JCLAM0179


JCLCM0216S Insufficient storage available to process the job

Resolution:

Contact SupportLine.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0217S Internal system error "internal code"

Resolution:

Contact SupportLine. Please mention the internal code.

Parent topic: JCLCM0200 - JCLCM0299


JCLCM0408I UNKNOWN OUTPUT STMT OPERAND IGNORED

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0475I DD CHANGED TO DUMMY (DDNAME= MISSING)

Resolution:

Add the required DDNAME statement to the JCL.

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0477S More than 255 EXEC statements

Parent topic: JCLCM0400 - JCLCM0499


JCLCM0500E SPACE parameter "value" is invalid or misplaced

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0501E UNIT parameter "value" is invalid or misplaced

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0502E VOLUME parameter "value" is invalid or misplaced

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0503E Invalid USER parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0504E TYPEXEC parameter "value" is invalid

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0505E DSNTYPE parameter "value" is invalid

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0506E account parameter or its length in error

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0507E programmer parameter or its length in error

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0508E Invalid ACCODE parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0509E Invalid CCSID parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0510E Invalid BYTES parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0511E Invalid CARDS parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0512E Invalid GROUP parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0513E Invalid LINES parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0514E Invalid NOTIFY parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0515E Invalid PAGES parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0516E Invalid PASSWORD parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0517E PARM parameter or its length in error

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0518E Invalid RESTART parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0519E Invalid SECLABEL parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0520E Invalid UPLOAD parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0521E Invalid DOWNLOAD parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0522E Invalid MEMBER parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0523E Invalid PCDSN parameter

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0524E COPIES parameter "value" has invalid value or syntax

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0525E Excess COPIES specification "value" rejected

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0526E FCB parameter "value" has invalid value

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0527E FLASH parameter "value" has invalid value

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0528E HOLD parameter "value" has invalid value

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0529E PRTSP parameter "value" has invalid value

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0530E SPIN parameter "value" has invalid value

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0531E TRTCH parameter "value" is invalid

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0532E "value" parameter is invalid

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0533E "value" parameter has invalid value

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0599I Excess VOLUME specification "value" ignored

Parent topic: JCLCM0500 - JCLCM0599


JCLCM0801I Event-job-concluded. Job ended normally

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0802I Event-job-concluded. Job ended abnormally

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0803I Event-job-concluded. Job failed - JCL error

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0804I Event-job-concluded. Job scanned - No Errors

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0805I Event-job-concluded. Job scanned - JCL error

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0806I Event-job-concluded. Job flushed - No JOB stmt

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0807I Event-job-concluded. Job flushed - Bad JOB stmt

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0808I Event-job-concluded. Job flushed by User Exit req

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0809I Event-job-concluded. Job copied

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0810I Event-job-concluded. Job cancelled

Parent topic: JCLCM0800 - JCLCM0899


JCLCM0811I Event-job-concluded. Job authentication failed

Parent topic: JCLCM0800 - JCLCM0899


JCLGN0007U MISSING SYSPRINT

Parent topic: JCLGN Error Messages


JCLGN0008U INVALID SYSPRINT

Parent topic: JCLGN Error Messages


JCLGN0009U MISSING SYSIN

Parent topic: JCLGN Error Messages


JCLGN0010U INVALID SYSIN

Parent topic: JCLGN Error Messages


JCLGN0011U I/O ERROR ON SYSPRINT

Parent topic: JCLGN Error Messages


JCLGN0012U I/O ERROR ON SYSIN

Parent topic: JCLGN Error Messages


JCLGN0100U MISSING DD STATEMENT FOR filename

Parent topic: JCLGN Error Messages


JCLGN0101U INVALID DSORG FOR filename

Parent topic: JCLGN Error Messages


JCLGN0102U I/O ERROR ON filename

Parent topic: JCLGN Error Messages


JCLGN0103U I/O STATUS = file status

Parent topic: JCLGN Error Messages


JCLGN0104U MFJGENER ABENDED system code

Parent topic: JCLGN Error Messages


JCLGN0110I number RECORDS COPIED FROM SYSUT1 TO SYSUT2

Parent topic: JCLGN Error Messages


JCLGN0111I number RECORDS COPIED

Parent topic: JCLGN Error Messages


JCLGN0112I TO MEMBER NAME %

Parent topic: JCLGN Error Messages


JCLGN0200E PARAMETER TOO LONG [value]

Parent topic: JCLGN Error Messages


JCLGN0201E CONTINUATION ERROR [value]

Parent topic: JCLGN Error Messages


JCLGN0202E MISMATCHED QUOTES OR PARENTHESIS [value]

Parent topic: JCLGN Error Messages


JCLGN0210E UNRECOGNIZED OPERATOR KEYWORD [value]

Parent topic: JCLGN Error Messages


JCLGN0211E DUPLICATE CONTROL STATEMENT [value]

Parent topic: JCLGN Error Messages


JCLGN0220E UNRECOGNIZED OPERAND KEYWORD [value]

Parent topic: JCLGN Error Messages


JCLGN0221E DUPLICATE OPERAND KEYWORD [value]

Parent topic: JCLGN Error Messages


JCLGN0222E TOO MANY OPERANDS [value]

Parent topic: JCLGN Error Messages


JCLGN0223E INVALID OPERAND VALUE [restriction]

Parent topic: JCLGN Error Messages


JCLGN0224E UNEXPECTED OPERAND [%]

Parent topic: JCLGN Error Messages


JCLGN0225E EXPECTED OPERAND MISSING [parameter]

Parent topic: JCLGN Error Messages


JCLIM0201U MISSING DDITV02 DD STATEMENT

Parent topic: JCLIM Error Messages


JCLIM0202U INVALID DDITV02 PARM STATEMENT

Parent topic: JCLIM Error Messages


JCLIM0203U INVALID DDITV02 PROGRAM PARM

Parent topic: JCLIM Error Messages


JCLIM0204U I/O ERROR ON DDITV02 DATASET

Parent topic: JCLIM Error Messages


JCLUT0100S MISSING "filename"

Parent topic: JCLUT Error Messages


JCLUT0101S INVALID "filename"

Message

Invalid "%1$s"

Where %1$s is filename.

Message Information

The file attributes are invalid.

Resolution

Correct the file properties so that the operation is valid.

Parent topic: JCLUT Error Messages


JCLUT0102S I/O ERROR ON "PDS member name"

Parent topic: JCLUT Error Messages


JCLUT0103S UTILITY "utility-name" ABENDED

Resolution:

Check preceding messages for the reason.

Parent topic: JCLUT Error Messages


JCLUT0104S DUPLICATE MEMBER "PDS-member-name"

Resolution:

Use a different name.

Parent topic: JCLUT Error Messages


JCLUT0105S CATALOG ERROR ON "dataset-name"

Message

Catalog error on %1$s

Where %1$s is Dataset name.

Message Information

Either you have referenced a data set that has no entry in the catalog, or you have tried to catalog a data set with a name that already exists in the catalog.

Resolution

Check the catalog entry for this dataset.

Parent topic: JCLUT Error Messages


JCLUT0106S RETURN CODE IS "value"

Message

Return code is "%1$s"

Where %1$s is return code.

Message Information

The value of the return code is not as expected.

Parent topic: JCLUT Error Messages


JCLUT0201I MEMBER "PDS-member-name" NOT FOUND

Parent topic: JCLUT Error Messages


JCLUT0202I RECORDS COPIED "number"

Message

Records copied "%1$s"

Where %1$s is Number of records.

Message Information

The number of records copied.

Resolution

No action is required.

Parent topic: JCLUT Error Messages


JCLUT0203I MEMBERS NAME "PDS-member-name"

Message

Members name "%1$s".

Where %1$s is PDS member name.

Message Information

The name of the PDS member.

Resolution

No action is required.

Parent topic: JCLUT Error Messages


JCLUT0204I MEMBERS WRITTEN TO OUTPUT DD "number"

Message

Members written to output DD "%1$s".

Where %1$s is the number of members.

Message Information

The number of members written to output DD.

Resolution

No action is required.

Parent topic: JCLUT Error Messages


JCLUT0205I INDD=OUTDD="filename", COMPRESS IN PLACE IGNORED

Message

INDD=OUTDD="%1$s", compress in place ignored.

Where %1$s is Dataset name.

Message Information

Informational only. "Compress in place" is not meaningful on the PC, so control statements requesting it are ignored.

Resolution:

No action is required.

Parent topic: JCLUT Error Messages


JCLUT0206S Character set mismatch. Copied without conversion

Message

Character set mismatch. Copied without conversion

Message Information

You are trying to copy an ASCII dataset to an EBCDIC one, or vice versa.

Resolution

Convert one of the datasets so that both match.

Parent topic: JCLUT Error Messages


JCLCM0165S Open for joblog "filename" failed. Also see JCLCM0166

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0166S File status code for last file I/O failure was value

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0094I Non-JCL record in the input stream has caused this SYSIN DD statement to be generated.

Example of non-JCL records

//MYJOB JOB
//STEP1 EXEC PGM=IEFBR14
//SYSOUT DD SYSOUT=*
   some data
   some more data
//SYSPRINT DD SYSOUT=*
blank line
//

The above JCL will cause two statements of the form:

//SYSIN DD * ***MFE JCL GENERATED STMT*** For more info, see JCLCM0094I

to appear, one after /SYSOUT DD and the other after //SYSPRINT DD.

Parent topic: JCLCM0000 - JCLCM0199


JCLCM0218S System error "internal code"

Resolution:

Contact SupportLine. Please mention the internal code.

Parent topic: JCLCM0200 - JCLCM0299