For a discussion of these and other Unicode issues, visit the IBM DB2 support Website.
Some customers may want to remain in this mode for a while before implementing NFM. They may believe they must resolve the issues mentioned previously before migrating to NFM. Some customers may have chosen to migrate to V8 for the benefits already achieved in CM, such as new utility function and some virtual storage constraint relief.
Don’t stay in this mode too long. IBM and third-party vendors are likely devoting their resources to exploiting new V8 functions rather than debugging problems that might occur in ENFM or NNFNFM. Since the expected, stable platform is DB2 V8 in NFM, you should move there as soon as possible after running the ENFM jobs.
New Function Mode
Running job DSNTIJNF enables NFM. All new functions are available. Apart from concerns regarding use and implementation of new functions, there are several issues that arise only in NFM:
- Plans and packages that reference catalog tables
- Vendor packages
- New SQLCODES.
Referencing Catalog Tables
Many of the catalog tables were changed by job DSNTIJNF. As a result, some SQL in applications that reference these catalog tables may need to be revisited. For example, any applications that select column values from rows in one of these tables will need new host variable definitions, since the column data types have changed to VARCHAR(128). Also, any queries containing an ORDER BY specification on any column converted to Unicode will use the Unicode collating sequence, not EBCDIC.
Some shops have experienced complicated symptoms because vendor packages weren’t updated to the correct service level. Ensure that all third-party software packages used in the DB2 V8 NFM environment will either tolerate or exploit the features you need.
There are new SQLCODES that relate to potential errors in string conversions. It’s possible that applications (particularly distributed applications or those using dynamic SQL) will now encounter new exceptions.
One new complexity involves multirow processing. It’s now possible to catch an array of SQLCODES. For example, if an application opens a cursor defined as FOR UPDATE OF, fetches a group of 10 rows, and then updates five of the rows, it’s possible the application will have to deal with 10 or more SQLCODES. These won’t be available in the SQL Communications Area (SQLCA); instead, the application must use the new GET DIAGNOSTICS statement.
IBM has gathered a wealth of V8 migration information that’s available on the DB2 support Website, including presentations, white papers, Redbooks, and other migration recommendations. Shops contemplating V8 migration should gather and take advantage of those resources pertinent to their environments. Especially valuable is the DB2 UDB for z/OS V8: Everything You Ever Wanted to Know and More Redbook. Good luck with your migration!