Search found 884 matches

by Scott Klement
Fri Jun 27, 2025 11:16 pm
Forum: RPG IV
Topic: Trimming prototype/interface variables only works with certain lengths
Replies: 4
Views: 997

Re: Trimming prototype/interface variables only works with certain lengths

Yes, this has always been the case from day 1. The CALL command when used from the command-line ALWAYS defines character fields as CHAR(32) and ALWAYS defines numeric fields as PACKED(15, 5)

Nothing new about this. Its been this way since the AS/400 was originally introduced in 1988.

If you ...
by Scott Klement
Fri Jun 27, 2025 11:09 pm
Forum: RPG IV
Topic: Red x on display file
Replies: 3
Views: 37287

Re: Red x on display file

There are commercial tools that provide a full 5250 emulator (including all the 5250 buttons like error reset) for touch displays. You'll either need to get one of those, or... stop using 5250 and make a better UI for a touch display.
by Scott Klement
Fri Jun 27, 2025 11:07 pm
Forum: HTTPAPI
Topic: Invoke google api using JWT oauth2 with RSASHA256 encryption
Replies: 1
Views: 1411

Re: Invoke google api using JWT oauth2 with RSASHA256 encryption

Hello,

Yes, its possible.

Midrange Dynamics has a product called MDRest4i that has routines to generate JWT tokens using RSASHA-256 that are written in RPG and are aimed at RPG programmers. So that might work, assuming your OAuth2 is using JWT tokens (This is commonplace.)

You could also write it ...
by Scott Klement
Wed Jun 25, 2025 5:10 pm
Forum: HTTPAPI
Topic: Web service & content-type application/x-www-form-urlencoded
Replies: 2
Views: 1300

Re: Web service & content-type application/x-www-form-urlencoded

Please don't convert the debug log to a Word document or PDF, just send the original document unaltered. Changing it to these document formats can change the way blank lines are handled, the way characters are translated, etc. Just send the original document unchanged so I can see the details as ...
by Scott Klement
Wed Jun 25, 2025 5:17 am
Forum: HTTPAPI
Topic: HTTPAPI 1.51 minor errors
Replies: 2
Views: 1881

Re: HTTPAPI 1.51 minor errors

Thanks. I don't currently have an IBM i that I have FTP access to, so its hard to test that.

There's no good way to preserve the member text with FTP. I recommend using the save file or install via Git if the member text is important to you.

I've updated the website to 1.52 and hopefully the other ...
by Scott Klement
Tue Jun 17, 2025 3:30 pm
Forum: YAJL-ILE
Topic: YAJLINTO handling varying number of array records
Replies: 9
Views: 22335

Re: YAJLINTO handling varying number of array records


My JSON response has a data item called __Metadata which luckily I don't need so have ignored.


DATA-INTO has an option case=convert. This converts the JSON name into a valid RPG variable name.


data-into Root
%data(%trim(ifsfile)
: 'doc=file case=convert allowextra=yes allowmissing=yes ...
by Scott Klement
Mon Jun 09, 2025 4:24 pm
Forum: YAJL-ILE
Topic: YAJLINTO handling varying number of array records
Replies: 9
Views: 22335

Re: YAJLINTO handling varying number of array records


I have implemented a temporary work around on this one (in case it helps anyone else in the future).

The program/API will only get called once per day so +nanoseconds extra run time is irrelevant.

I have reverted back to the code from my original post, but just before executing the data-into ...
by Scott Klement
Mon Jun 09, 2025 4:14 pm
Forum: YAJL-ILE
Topic: YAJLINTO handling varying number of array records
Replies: 9
Views: 22335

Re: YAJLINTO handling varying number of array records

Hello,

First of all, please initialize your data structures. RPG has a "bad old feature" where it initializes everything in a data structure to *BLANKS unless you have the INZ keyword. Blanks in EBCDIC are hex x'40' or decimal 64. That is why you are getting a result of 64 in your INT(3) fields ...
by Scott Klement
Sat Jun 07, 2025 12:14 am
Forum: YAJL-ILE
Topic: yajl_genStartMap
Replies: 1
Views: 8671

Re: yajl_genStartMap

Can you explain this better, please?

Where do you see these routines? What are you trying to do?
by Scott Klement
Sat Jun 07, 2025 12:11 am
Forum: YAJL-ILE
Topic: parse error: premature EOF
Replies: 8
Views: 40819

Re: parse error: premature EOF



dcl-s jsonInput varchar(1000);
dcl-s docNode pointer;

jsonInput = '{ "nombre": "Juan", "edad": 30, "activo": true }';

docNode =
yajl_buf_load_tree(
%addr(jsonInput):
%len(%trimr(jsonInput)):
errMsg);



change %ADDR(jsonInput) to %ADDR(jsonInput:*data).

I would also remove the %trimr ...