Function level 502 (activation enabled by APAR PI95511 - May 2018)

Function level 502 (V12R1M502) introduces management of key labels for z/OS® DFSMS data set encryption and explicit casting of numeric values to GRAPHIC or VARGRAPHIC.

Contents

Finding function level 502 changes: To find the new and changed content for this function level, try searching for "FL 502" from any page. You'll see a list of new and changed topics for function level 502.

Throughout the Db2 12 information, when you see the link FL 502 , the adjacent content was changed for function level 502, and you can click the link to see the page that you are currently reading.

Key label management for z/OS DFSMS data set encryption

Function level 502 introduces management of key labels for z/OS DFSMS data set encryption to transparently encrypt Db2 data sets. DFSMS can be used to encrypt various types of Db2 data sets including Db2-managed table space and index space data sets, data sets that are used by Db2 utilities, and sequential input and output data sets.

APAR PI90288 delivered the functional code to support key label management for z/OS DFSMS data set encryption.

Explicit casting of numeric values to GRAPHIC or VARGRAPHIC

Function level 502 introduces casting an explicit numeric value to a graphic string value. All of the numeric data types (SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE, FLOAT, and DECFLOAT) are supported. You can use the GRAPHIC or VARGRAPHIC built-in functions and the CAST specification for the explicit cast.

When the GRAPHIC or VARGRAPHIC functions are used to explicitly cast a decimal value to graphic, an optional decimal separator character can be specified as a single-byte character constant for the second argument. The extended support for the GRAPHIC and VARGRAPHIC built-in functions to allow numeric input data is similar to the existing support for numeric input to the CHAR and VARCHAR built-in functions.

Whether the CAST specification or the GRAPHIC or VARGAPHIC functions are used, the result is Unicode (UTF-16), and the context must support Unicode data.

APAR PI88790 delivered the functional code to support explicit casting of numeric values to GRAPHIC or VARGRAPHIC.

Db2 12 migration process changes

The Db2 12 migration process is modified to facilitate activation of function level 502 from function level 100, or as part of migration from Db2 11 (with z/OSMF only). Function level 502 requires catalog level 502, and tailoring the catalog for level 502 requires function level 500 or 501. To help manage these requirements, function level 502 introduces the following changes to the Db2 12 migration process:
  • Job DSNTIJA1 is added for the intermediate activation of function level 501. DSNTIJA1 consists of a single job step that activates function level 501. It is generated by the installation CLIST only in the following circumstances:
    • In non-z/OSMF ACTIVATE mode, when activating function level 502 or higher from function level 100. In non-z/OSMF MIGRATE mode, DSNTIJA1 is not generated because activating function level 500 or higher is not built into that process. Function level 500 or higher is always activated later, by running the CLIST in ACTIVATE mode.
    • In z/OSMF MIGRATE mode, when migrating a Db2 subsystem or the first member only of a data sharing group to function level 502. In z/OSMF ACTIVATE mode, DSNTIJA1 is not generated because activating function level 500 or higher is built into the z/OSMF migration process.
  • In ACTIVATE mode, the CLIST is enhanced to compare the current Db2 function level to the specified target function level, which are specified on panel DSNTIP00, and generates the required job set.
  • On panel DSNTIP00:
    • A new field CURRENT FUNCTION LEVEL is added. It is only used in ACTIVATE mode. It is initially set to the input DSNTIDxx FUNCLVL parameter and can be changed. In other modes, this field is always blank and protected.
    • The existing DB2 FUNCTION LEVEL field is renamed to TARGET FUNCTION LEVEL.
  • On panel DSNTIPMN, a new step is added to activate function level 501 (DSNTIJA1) before the step for tailoring the Db2 catalog (DSNTIJTC).
  • In the z/OSMF workflow DSNTIWMN, a new step is added to activate function level 501 (DSNTIJA1) before the step for tailoring the catalog (DSNTIJTC).

Activation details for function level 502

Table 1. Function level 502 activation details
Enabling APAR: PI95511
Minimum Db2 catalog level: V12R1M502
Catalog level V12R1M502 changes: The KEYLABEL column is added in the following catalog tables:
  • SYSIBM.SYSINDEXES
  • SYSIBM.SYSSTOGROUP
  • SYSIBM.SYSTABLESPACE
  • SYSIBM.SYSTABLES
Restriction: Before you can run CATMAINT to tailor the Db2 catalog for function level 502 or higher, you must first activate function level 500 or 501. That is, the DISPLAY GROUP command output must indicate HIGHEST ACTIVATED FUNCTION LEVEL (V12R1M500) or higher. This restriction prevents tailoring the Db2 catalog for function levels higher than 500 while fallback to Db2 11 remains possible. However, later activating a lower function level such as function level 100* does not restrict the CATMAINT operation.

For a summary of changes in Db2 12, see Catalog changes in Db2 12.

Application compatibility control: Applications must run at application compatibility level V12R1M502 or higher to use the following new capabilities:
  • CREATE or ALTER statements that specify the KEYLABEL option. However, applications that already reference encrypted data can continue to run at their current application compatibility levels.
  • Explicit casting of numeric data types to fixed or variable length graphic strings, with the GRAPHIC or VARGRAPHIC built-in functions or the CAST specification.

How to activate function level 502

The following steps summarize the process for activating this function level. To learn more about how to activate and control the adoption of new capabilities available for use in your Db2 12 environment and continuous delivery in general, see Adopting new capabilities in Db2 12 continuous delivery.

To activate Db2 12 function level 502, complete the following steps:
  1. If Db2 12 is still at function level 100, activate function level 500 or 501 first. For more information, see Activating Db2 12 new function at migration.
  2. Verify that any incompatible changes are resolved, including for any lower function levels not yet activated. See Incompatible changes summary for function levels 501 and higher.
  3. Check that Db2 is at a sufficient code level by issuing a DISPLAY GROUP command, as described in Determining the Db2 code level, catalog level, and function level. The DSN7100I message indicates the Db2 code level for under DB2 LVL in the member details. If DB2 LVL for any member is lower than 121502, apply the PTF for APAR PI95511 and any other required maintenance, so that all members indicate 121502.
    Tip: You can apply any PTF at any function level, and it is best to run Db2 at this code level or higher for a period of time before proceeding with activation of the function level. Db2 cannot run at any lower code level after you activate a function level, so you cannot remove any of the required PTFs after activating a function level.
  4. Tailor the CATMAINT and function level activation jobs by running the installation CLIST:
    1. In panel DSNTIPA1, specify INSTALL TYPE ===> ACTIVATE. Then specify the name of the output member from the previous function level activation (or migration) in the INPUT MEMBER field, and specify a new member name in the OUTPUT MEMBER field.
    2. In panel DSNTIP00, specify TARGET FUNCTION LEVEL ===> V12R1M502. The CLIST uses this value when it tailors the ACTIVATE command in the DSNTIJAF job and the CATMAINT utility control statement in the DSNTIJTC job.
    3. Proceed through the remaining CLIST panels, and wait for the CLIST to tailor the jobs for the activation process. The output data set contains the tailored jobs for the activation process.
  5. Run the DSNTIJIC job to take an image copy of the Db2 catalog and directory.
  6. Run the DSNTIJTC job, or run the CATMAINT utility with LEVEL V12R1M502, to update the to the appropriate catalog level. If multiple catalog updates are required, the CATMAINT job processes each update in sequential order. If a later update in the sequence fails, the previous successful updates do not roll back, and the catalog level remains at the highest level reached. If that occurs, you can correct the reason for the failure and resubmit the same CATMAINT job.
  7. Optionally, check that Db2 is ready for function level activation by issuing the following ACTIVATE command with the TEST option:
    -ACTIVATE FUNCTION LEVEL (V12R1M502) TEST
    Message DSNU757I indicates the results. For more information, see Testing Db2 function level activation.
  8. Run the tailored DSNTIJAF job, or issue the following ACTIVATE command:
    -ACTIVATE FUNCTION LEVEL (V12R1M502)
  9. If you are ready for applications to use new capabilities in this function level, rebind them at the corresponding application compatibility level. For more information, see Controlling Db2 application compatibility.
    Optionally, when you are ready for all applications to use the new capabilities of the target function level, you can run the following jobs:
    1. Run DSNTIJUZ to modify the subsystem parameter module with the APPLCOMPAT value that was specified on panel DSNTIP00.
    2. Run DSNTIJOZ job to issue SET SYSPARM command to bring the APPLCOMPAT subsystem parameter change online.
    3. Run DSNTIJUA job to modify the Db2 data-only application defaults module with the SQLLEVEL value that was specified on panel DSNITP00.

Function level 502 incompatible changes

Function level 502 introduces no incompatible changes.

However, if your environment contains existing user-defined functions named GRAPHIC or VARGRAPHIC, applications with unqualified references to the existing user-defined functions might start invoking the built-in function instead of the user-defined function in certain situations. For information about avoiding such situations, see Ensuring that Db2 executes the intended user-defined function.

For all incompatible changes in Db2 12, see Incompatible changes in Db2 12