Start of change

Managing application incompatibilities

Before you move an application to a new application compatibility level, you need to find application incompatibilities, adjust your applications for those incompatibilities, and verify that the incompatibilities no longer exist.

Procedure

  1. Start a trace that includes IFCID 0239 to capture package information.
    For example, issue the following START TRACE command:Begin general-use programming interface information.
    -START TRACE(ACCTG) CLASS(7,8,10)
    End general-use programming interface information.
  2. Examine the trace output.
    Begin program-specific programming interface information.IFCID 0239 field QPACFLGS contains a bit that is on if a package contains incompatibilities. If this bit is off, no incompatibilities were detected, and you can skip the rest of the steps. If this bit is on, proceed to step 3.End program-specific programming interface information.
  3. Start a trace for IFCID 0376 to report incompatibility information about the packages.
    For example, issue the following START TRACE command:Begin general-use programming interface information.
    -START TRACE(PERFM) CLASS(32) IFCID(376)
    End general-use programming interface information.
  4. Run the application.
  5. Examine the trace output.
    Begin program-specific programming interface information.IFCID 0376 fields contain information about the incompatibilities. Db2 writes a single trace record for each SQL statement that is incompatible with the subsequent Db2 function level. See file prefix.SDSNIVPD(DSNWMSGS) for listings of the IFCID 0239 and 0376 trace records.End program-specific programming interface information.
  6. Revise the application to avoid any application incompatibilities.
  7. Prepare the application for execution. When you bind the packages for the application, use the old APPLCOMPAT value.
  8. Run the application.
  9. Examine the trace output again to verify that the incompatibilities no longer exist.

What to do next

When the application runs at the old level with no application incompatibilities, rebind the package with the APPLCOMPAT value for the new function level.
End of change