I would declare

dcl-s retDecoded varchar(1000) ccsid(*utf8);

And the procedure return value as

dcl-pi *n varchar(1000) ccsid(*jobrun);
...

This should automatically convert the value on return.

Or you just leave the procedure as it is (with like(retDecoded)) and let the receiving procedures do the *UTF8 to whatever conversion.

The conversion is done automatically if you assign a value in one CCSID to a variable in another CCSID - and it works with *UTF8 too.

HTH
Daniel


Am 01.04.2026 um 18:11 schrieb Justin Taylor <jtaylor.0ab@xxxxxxxxx>:

I'm trying to decode a base64 string. It's giving me the results as *UTF-8
when I need *JOB CCSID. Can someone point out what I'm missing?

Thanks

Dcl-proc DecodeTest ;
Dcl-pi *n like(retDecoded) ;
encoded varchar(1000) ccsid(*UTF8) const ;
End-pi ;

Dcl-s retDecoded varChar(1000) ;

EXEC SQL
set :retDecoded = QSYS2.BASE64_DECODE(:encoded);

Return retDecoded;
End-proc ;
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.