Does anyone have an example of getting a base64 BLOB element, over 153,000, from a json using SQL?
Once I have the field I can decode it.
Just not figuring out the secret decoder structure to use.
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of (WalzCraft) Jerry Forss
Sent: Friday, January 19, 2024 1:49 PM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: External RE: Base64Decode
I have it working now with everyone's help!!
Now working on gettingbase64 PDF from web service. WAY over the 4096 limit.
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Hiebert, Chris
Sent: Thursday, January 18, 2024 10:01 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: External RE: Base64Decode
This code works, but it requires that you fetch into a HEX CCSID field.
This works with both QSYS2.BASE64_DECODE() and systools.base64decode().
DecodedLabel = DecodeLabel( Labelresponse.base64data ) ; If DecodedLabel = *Blank;
//error
Endif;
dcl-proc DecodeLabel;
Dcl-Pi *N Varchar(4096) CCSID(1208);
base64dataLabel Varchar(4096) CCSID(1208);
End-pi;
Dcl-S DecodedHex VarChar(4096) CCSID(*HEX);
Dcl-S DecodedLabel VarChar(4096) CCSID(1208);
// exec sql set :DecodedHex = BASE64_DECODE(:base64dataLabel );
exec sql set :DecodedHex = systools.base64decode( :base64dataLabel );
if sqlcode < 0;
// error
clear DecodedLabel;
return DecodedLabel;
Endif;
// set UTF8 field to value of HEX field
DecodedLabel = DecodedHex;
Return DecodedLabel;
End-proc;
Subject to Change Notice:
WalzCraft reserves the right to improve designs, and to change specifications without notice.
Confidentiality Notice:
This message and any attachments may contain confidential and privileged information that is protected by law. The information contained herein is transmitted for the sole use of the intended recipient(s) and should "only" pertain to "WalzCraft" company matters. If you are not the intended recipient or designated agent of the recipient of such information, you are hereby notified that any use, dissemination, copying or retention of this email or the information contained herein is strictly prohibited and may subject you to penalties under federal and/or state law. If you received this email in error, please notify the sender immediately and permanently delete this email. Thank You
WalzCraft PO Box 1748 La Crosse, WI, 54602-1748
www.walzcraft.com<
http://www.walzcraft.com> Phone: 1-800-237-1326
As an Amazon Associate we earn from qualifying purchases.