Hello Barbara

The (source) ds_NMMLIMP2.ITEMNAME looks OK - I'll check again though

Does %sbst function "knows" how to deal with a VARLEN data?

I'll check the CHARCOUNT thing.

THANKS
Gad











date: Tue, 24 Feb 2026 09:29:25 -0500
from: Barbara Morris <bmorris@xxxxxxxxxx>
subject: Re: CCSID - RPG issues

On 2026-02-24 8:56 a.m., Gad Miron wrote:
...
// take first 128 chars of Item Description
ds_NMWRKR.ITEMNAME8 = %subst(ds_NMMLIMP2.ITEMNAME :1 : 128) ;

// Update map file - target
update NMWRKR ds_NMWRKR ;

C eval *INLR = *ON

The update works but the value placed in ITEMNAME8 is erroneous
...
In debug, does ds_NMMLIMP2.ITEMNAME look correct before the %subst? Does
it have UTF8 data? (look at the hex value of the field in the debugger)

Does ds_NMWRKR.ITEMNAME8 look correct after the %subst?

Is it always incorrect? Or does the problem only happen with some values?

Using %subst with UTF8 data has the potential to only pick up the first
byte of a 2-byte character unless you are using the new CHARCOUNT
NATURAL support.

https://www.ibm.com/docs/en/i/7.5.0?topic=functions-subst-get-substring


https://www.ibm.com/docs/en/i/7.5.0?topic=cdt-processing-string-data-by-natural-size-each-character

(I should update that pdf document to talk about the CHARCOUNT support
that was added in 7.4 and 7.5 with PTFs.)

--
Barbara






As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.