RE: CCSID - RPG issues

Don Brown via RPG400-L <[email protected]> Tue, 24 Feb 2026 23:03:50 +0000
Newsgroups gmane.comp.lang.as400.rpg
Message-ID <SYBP282MB3558063B32EA476BDAC5CB04E974A@SYBP282MB3558.AUSP282.PROD.OUTLOOK.COM>
   Hi Barbara,

   If you do get the opportunity to update that doc, could you please post as
   I am most interested.

   Thanks
   Don

    

   Don Brown

   Senior Consultant
    
   [1]OneTeam IT Pty Ltd
   P: 1300 088 400

   -----Original Message-----
   From: RPG400-L <rpg400-l-bounces-+hD5IHI5Xscn3HwCXmMcX9BPR1lH4CV8@public.gmane.org> On Behalf Of Barbara
   Morris
   Sent: Wednesday, 25 February 2026 12:29 AM
   To: [email protected]
   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.

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

   [3]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

   --
   This is the RPG programming on IBM i (RPG400-L) mailing list To post a
   message email: [email protected] To subscribe, unsubscribe, or
   change list options,
   visit: [4]https://lists.midrange.com/mailman/listinfo/rpg400-l
   or email: RPG400-L-request-+hD5IHI5Xscn3HwCXmMcX9BPR1lH4CV8@public.gmane.org
   Before posting, please take a moment to review the archives at
   [5]https://archive.midrange.com/rpg400-l.

   Please contact support-FMtJrHiV//lnDLsaKlm4mFaTQe2KTcn/@public.gmane.org for any subscription related
   questions.

   --
   Message protected by MailGuard: e-mail anti-virus, anti-spam and content
   filtering.
   [6]https://www.mailguard.com.au

References

   Visible links
   1. https://www.oneteamit.com.au/
   2. https://www.ibm.com/docs/en/i/7.5.0?topic=functions-subst-get-substring
   3. https://www.ibm.com/docs/en/i/7.5.0?topic=cdt-processing-string-data-by-natural-size-each-character
   4. https://lists.midrange.com/mailman/listinfo/rpg400-l
   5. https://archive.midrange.com/rpg400-l.
   6. https://www.mailguard.com.au/

-- 
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request-+hD5IHI5Xscn3HwCXmMcX9BPR1lH4CV8@public.gmane.org
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support-FMtJrHiV//lnDLsaKlm4mFaTQe2KTcn/@public.gmane.org for any subscription related questions.