12-Changes-IBMi-Impact-Your-Existing-Applications

IBM i 7.5 Upgrade: 12 Changes That Can Impact Your Existing Applications

Introduction

Upgrading to IBM i 7.5 brings new capabilities, improved standards compliance, and platform enhancements. While many changes are seamless, there are a few that can affect existing applications, SQL statements, RPG programs, and database objects. Some issues appear during compilation, while others only surface when a program is running, making them harder to identify.

This blog walks through the key changes introduced in IBM i 7.5, explains their impact, and highlights practical ways to identify affected applications before and after the upgrade

Understanding the Types of Changes

Not every change affects applications in the same way. Broadly, these changes fall into three categories:

• Compile-Time Changes

These issues appear when a program is recompiled.

Examples:

  • %FIELDS on a subfile UPDATE
  • KEY reserved word enforcement

• Runtime Changes

Programs compile successfully but fail or behave differently when executed.

Examples:

  • Numeric field compared to blank values
  • CTE result changes
  • Authority-related failures

• Recommended Maintenance

Programs continue to run, but IBM recommends recompilation or validation.

Examples:

  • Embedded SQL programs
  • CLI-based applications

Key Changes That Could Impact Your Applications

1. Comparing Numeric Fields to Blank or Empty Strings

Many older applications rely on implicit conversion where blank values are treated as zero. IBM i 7.5 no longer allows this behaviour.

Example: These comparisons can now fail with runtime SQL errors instead of automatically converting blanks to numeric values.

 

Check For

  • Numeric columns compared to ”
  • Numeric columns compared to ‘ ‘
  • Blank character host variables passed into numeric comparisons

Important Note

This behaviour was also introduced through PTFs on IBM i 7.3 and 7.4. Some environments may already be exposed to this issue before moving to IBM i 7.5. IBM i 7.5 removes the previous workaround available through the QIBM_QUERY_CONVERT_BLANK_TO_0 environment variable.

Recommended Action

  • Scan SQL source code
  • Review embedded SQL programs
  • Execute regression testing on critical applications

2. KEY Reserved Word Enforcement

The word KEY has long been considered a reserved SQL keyword. Earlier releases allowed its use in many situations, but IBM i 7.5 now enforces the restriction more strictly.

Example:

May Fail:

Works because the identifier is quoted. 

Check For

  • Tables named KEY
  • Columns named KEY
  • SQL aliases named KEY
  • DDS and DDL objects using KEY

Recommended Action

  • Quote object names
  • Rename affected columns or aliases
  • Scan database objects before upgrading

3. %FIELDS No Longer Supported with Subfile UPDATE

RPG developers should carefully review applications that use %FIELDS together with subfile updates. IBM i 7.5 treats this as a compile-time error.

Example:

This statement no longer compiles on IBM i 7.5. 

IBM-Supported Options

  • Compile using TGTRLS(V7R4M0) or lower
  • Use environment variable QIBM_RPG_DISALLOW_SUBFILE_BIF_FIELDS

Check For

  • %FIELDS usage in RPG
  • Subfile update operations
  • Programs scheduled for recompilation

4. Common Table Expressions (CTEs) Can Produce Different Results

IBM i 7.5 changes how Common Table Expressions (CTEs) are processed when referenced multiple times within a query. Instead of repeatedly executing the CTE logic, the system now materializes the result and shares it across references. This aligns with SQL standards.

Why It Matters

The result set may differ from earlier releases if underlying tables are modified while the query is running.

Check For

  • Queries using WITH
  • Reports referencing the same CTE multiple times
  • Applications processing frequently changing data

Recommended Action

  • Identify CTE-heavy queries
  • Compare outputs before and after upgrade
  • Regression-test business reports

5. Embedded SQL and CLI Programs

IBM i maintains excellent program compatibility, so embedded SQL programs typically continue to run after an upgrade. However, IBM recommends recompiling programs to take advantage of updates introduced in the SQL precompiler.

Changes include support for newer SQL capabilities such as:

  • BOOLEAN data type enhancements
  • TRY_CAST
  • SQL CLI include changes

Recommended Action

  • Create an inventory of embedded SQL programs
  • Identify applications using SQL CLI APIs
  • Schedule recompilation as part of upgrade planning

6. Authority Requirement Changes

IBM i 7.5 introduces modified authority requirements for certain SQL operations. Activities that previously succeeded may now generate authorization errors.

Areas to Review

  • CREATE OR REPLACE statements
  • CREATE VIEW operations
  • Deployment and automation jobs
  • User profiles running DDL

Recommended Action

Review security settings and validate permissions before moving into production.

7. Trigger-Related Changes

Several trigger-related changes were introduced in IBM i 7.5.

What’s Changed?

  • MIRROR YES is no longer supported in CREATE TRIGGER and ALTER TRIGGER statements.
  • BEFORE triggers are no longer supported on:
    • SQL_ERRORT
    • SYSIXADV

Recommended Action

  • Inventory existing triggers
  • Validate trigger definitions
  • Test critical trigger-based processes

8. LISTAGG Behaviour Changes

IBM documents changes related to LISTAGG error handling and overflow processing. Applications relying on existing LISTAGG behaviour should be reviewed carefully.

Recommended Action

  • Locate LISTAGG usage
  • Execute regression testing
  • Validate expected outputs

9. JSON Store Technology Preview Removed

The Db2 for i JSON Document Store technology preview is no longer available in IBM i 7.5. Applications relying on this feature must be updated.

Recommended Alternative

Use standard QSYS2 SQL/JSON functions supported by Db2 for i.

Medium-Risk Changes

These changes may not affect every environment but should still be reviewed.

10. UCS-2 CCSID Changes in RPG

Initialization of UCS-2 fields using:

  • INZ
  • CTDATA

Now uses the source file CCSID instead of the job CCSID. Applications supporting multilingual data should validate behaviour after upgrade.

Recommended Action

Review RPG programs using:

  • UCS-2 fields
  • CTDATA
  • INZ initialization

11. Changes in QSYS2 Views

IBM modified several QSYS2 catalogues views and system information interfaces. Monitoring and reporting solutions that depend on these views may require adjustments.

Impacted Objects

  • USER_INFO
  • USER_INFO_BASIC
  • SYSTEM_STATUS
  • SYSTEM_STATUS table functions

Examples of Changes

  • Additional MFA and TOTP information
  • ATTENTION_LIGHT updates
  • USER_STORAGE behaviour updates

Recommended Action

Validate all monitoring dashboards and custom reports.

12. Query Optimizer and Parallelism Changes

IBM i 7.5 introduces optimizer and SMP parallelism enhancements. While many workloads may benefit, execution plans can change.

Potential Impact

  • Faster execution for some workloads
  • Slower performance for others
  • Different access plans

Recommended Action

  • Benchmark critical workloads
  • Compare execution plans
  • Monitor production performance after upgrade

How to Scan Your Environment

One of the most effective ways to prepare for IBM i 7.5 is to scan your libraries and source code before upgrading. The original assessment recommends searching for:

Database Objects

  • Columns named KEY
  • Tables named KEY
  • Views
  • Triggers

Program Objects

  • Embedded SQL programs
  • SQL CLI programs

Source Code Patterns

  • %FIELDS
  • =”
  • <>”
  • USER_INFO references
  • SYSTEM_STATUS references
  • SYSIXADV references

Running these scans provides a clear list of objects that require review before the migration.

A Real-World Perspective

In one production environment containing approximately 3,400 programs, upgrade scans identified:

  • 33 RPGLE members using %FIELDS
  • Around 590 embedded SQL programs requiring review
  • Zero columns named KEY

The purpose of these scans is not just to find issues—it is to create a measurable upgrade plan and eliminate surprises later in the project.

Conclusion

IBM i 7.5 brings several enhancements, but it also introduces changes that can impact existing applications if not reviewed beforehand. From SQL behaviour updates to RPG and database-related changes, understanding these areas early can help avoid unexpected issues during or after the upgrade.

By reviewing affected objects, running impact assessments, and thoroughly testing critical applications, organizations can ensure a smoother upgrade experience. A little preparation before the move can go a long way in reducing risks and helping teams take full advantage of everything IBM i 7.5 has to offer.

SHARE: