Function level activation control enhancement

In IMS 15 with APAR/PTF PI83839/UI52153, you can dynamically enable or disable new IMS functions that are delivered as PTFs under the IMS continuous delivery model without causing an IMS system outage. After you install a new IMS function, you control when to enable and disable the function by using the UPDATE IMSFUNC command.

You can continue to enable or disable IMS functions statically by using IMS PROCLIB data set members as with earlier versions of IMS.

This enhancement also provides the following features to support the continuous delivery of IMS functions:
Function level
A number that identifies a PTF containing one or more IMS functions regardless of whether the function is enabled or not in the IMS system.
Function table
Contains information about significant new or changed IMS functions delivered by IMS henceforth, including the current IMS function level and an entry for each function to provide more information about the function.
IMS functions enabled bitmap
For IMS functions that are delivered disabled, a bit for every IMS function that becomes enabled. The functions enabled bitmap also contains the current IMS function level.
QUERY IMSFUNC command
Displays one or more or all of the IMS functions that are defined in the IMS function table and information about the functions. You can also use the QUERY IMSFUNC command to see the current IMS function level.

This enhancement, delivered with APAR/PTF PI83839/UI52153, is the first IMS function, and has a function name of FUNCTIONLEVEL and a function level of 00000001.

Some IMS functions, due to either technical or strategic requirements or because it has no impact until you choose to use it, are enabled by default after you install the PTF. For functions that are enabled by default, you do not need to issue the UPDATE IMSFUNC command to start using the enhancement. This function, delivered with APAR/PTF PI83839/UI52153, is enabled by default.

Log record changes

The following log records are new or changed by this enhancement:
X'42'
Enhanced to include the IMS function level at offset X'104'.
X'4500'
Enhanced to include the IMS function level at offset X'C0'.
X'4050'
Newly added to log the following information:
  • The IMS functions that are enabled so that the function enablement value can be retrieved at IMS restart.
  • The current IMS function level.
X'45FF'
Enhanced to include the following information:
  • At offset X'50', the current IMS function level.
  • At offset X'54', the offset to the IMS functions enabled bitmap from the start of the X'45FF' log record.
  • At offset X'30', some reserved space.

Changes to defining and administering IMS

With this enhancement, after you install a PTF that contains a new continuous delivery IMS function, you decide when to enable and disable IMS functions that are not enabled by default. You can change the function enablement value dynamically by using the UPDATE IMSFUNC command. Alternatively, you can enable the new function statically by defining the parameter for the function in the DFSDFxxx member of the IMS PROCLIB data set and cold starting IMS.

Start of change
Tip: If you enable or disable an IMS function by using the UPDATE IMSFUNC command, specify the same enablement value in the parameter that defines the function in the IMS PROCLIB data set member. This ensures that the enablement value for the function is retrieved at IMS cold start.
End of change
If you change a function enablement value by using the UPDATE IMSFUNC command and IMS is cold started, one of the following situations occurs:
  • For local functions, the enablement value is retrieved from the DFSDFxxx PROCLIB member during cold start. In this case, the UPDATE IMSFUNC command might need to be issued following the cold start to return the enablement value to a previous state.
  • For global functions, if you use RM, CQS, and a resource structure, the enablement value is retrieved from the resource structure during cold start.
  • For catalog functions, the enablement value is retrieved from the catalog during cold start.

Changes that you make by using the UPDATE IMSFUNC command are logged in the x'22' map byte x'31' log record and are recoverable across an IMS restart. For example, if a function is enabled in the DFSDFxxx member and later disabled by using the UPDATE IMSFUNC, the disabled value is recovered if IMS restarts.

Changes to troubleshooting for IMS

For a list of the messages and codes that are new or changed for this enhancement, see the IMS messages and codes row in the table in Documentation changes.

For a complete list of all of the new, changed, and deleted messages, and abend codes in IMS 15, see Message and code changes in IMS 15.

Changes to commands

The UPDATE IMSFUNC command is added to allow you to dynamically enable or disable an IMS function, if the function is not enabled by default, whilst IMS remains online.

The QUERY IMSFUNC command is added to allow you to display one or more or all of the IMS functions that are defined in the IMS function table and information about the functions. You can also use the QUERY IMSFUNC command to see the current IMS function level.

For a list of the commands that are new or changed for this enhancement, see the IMS commands row in the table in Documentation changes.

Changes to exit routines

The sample IMS initialization and termination user exit DFSITRX0 is enhanced to show how to access the current IMS function level from the system contents directory (SCD) field SCDFNCE.

Documentation changes

The following table lists the publications that contain new or changed topics for the function level activation control enhancement. Publications that are not impacted by this enhancement are not included in the table.

Table 1. Links to topics that have new or changed content for this enhancement
Publication Links to topics
Release planning
System definition
Communications and connections
Operations and automation
System administration
IMS messages and codes DFS messages
IMS commands