IBM Support

RPGLE %size() and %elem() Do Not Accept Complex Qualified Name as Arguments

Troubleshooting


Problem

The built-in functions %size() and %elem() do not accept a complex qualified name as their argument. If a complex qualified name is used, the compile will fail with an RNF0623.

Resolving The Problem

The built-in functions %size() and %elem() do not accept a complex qualified name as their argument. If a complex qualified name is used, the compile will fail with an RNF0623 as illustrated below:

Example

D DS1 ds qualified
D DS2 likeds(DS3)

D DS3 ds qualified
D CharString 10A inz('HELLO')

D Length s 10I 0

/free
Length = %size(DS1.DS2.CharString);
RNF7030: The name or indicator DS1.DS2... is not defined.
RNF7451: Built-in function %SIZE(DS1.DS2.CHA... is not defined; built-in function is ignored.
RNF0623: The simple qualified name is not specified correctly.
Length = %size(DS3.CharString);
*inlr = *on;
return;
/end-free

These two functions are limited to simple field names and simple qualified names of the format "DSName.Field".

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CHtAAM","label":"Programming ILE Languages"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"and future releases;7.1.0"}]

Historical Number

587126116

Document Information

Modified date:
14 May 2025

UID

nas8N1011767