Yeah Brad,
I agree but we have no control over this.
I know I have see that exact issue discussed here but do you think I can
find it ... Arrgghhh!!!
Don Brown
Senior Consultant
[1]OneTeam IT Pty Ltd
P: 1300 088 400
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Brad
Stone
Sent: Wednesday, 8 October 2025 10:35 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Data-INTO with double array fails but is valid JSON
I hope you figure it out. That error details array is foobar. It may be
valid but it's not "normal".
On Wed, Oct 8, 2025 at 1:1 AM Don Brown via MIDRANGE-L <
midrange-l@xxxxxxxxxxxxxxxxxx> wrote:
> Hi
>
> I am sure I have seen someone else with this error but searching the
> archives has not found the incident.
>
> The JSON has a double [[ ]] indicating two arrays. If I remove one set
> (leaving [ ] ) it processes correctly with the data structure below.
>
> So, we have an unnamed array inside an array, how do we build the data
> structure for that ?
>
> We have this JSON
> {"error_details":[
> ["34515897: meter_off_time 2025-10-06 01:57:06+00:00 is equal to or
> before meter_on_time '2025-10-06 02:45:04+00:00'"] ],
> "errored_booking_numbers":["34515897"],
> "ignored_booking_numbers":[],
> "saved_booking_numbers":["34527032","34526927","34526855","34521442"],
> "summary":{"error":1,"ignored_duplicate":0,"saved":4}}
>
> I have checked and the JSON is valid.
>
> This is the data structure.
>
> We did originally have the "error_detail" in the structure but had the
> same problem and removed thinking it may work.
>
> dcl-ds SATSSData_rUploadData qualified template inz;
> dcl-ds rData likeds(DKT_GeneralReturnData);
> dcl-ds summary;
> saved zoned(5) inz(*zeros);
> ignored zoned(5) inz(*zeros);
> ignored_duplicate zoned(5) inz(*zeros);
> error zoned(5) inz(*zeros);
> end-ds summary;
> count_saved_booking_numbers zoned(5) inz(*zeros);
> saved_booking_numbers varchar(20) inz('')
> dim(C_SATSS_MAXDATA);
> count_ignored_booking_numbers zoned(5) inz(*zeros);
> ignored_booking_numbers varchar(20) inz('')
> dim(C_SATSS_MAXDATA);
> count_errored_booking_numbers zoned(5) inz(*zeros);
> errored_booking_numbers varchar(20) inz('')
> dim(C_SATSS_MAXDATA); end-ds;
>
> RPG Code
>
> d rtnData DS likeds(SATSSData_rUploadData)
>
> MONITOR;
> Data-into rtnData %Data( %trim(rData.File) :
> 'doc=file case=convert allowmissing=yes allowextra=yes +
> countprefix=count_ trim=all')
> %Parser( 'YAJLINTO' );
> on-error;
> wrkMessage = 'Fail to Convert ' + %trim(rData.File);
> UpdateLog(wrkMessage);
> exsr Return;
> endmon;
>
> Error Message
>
> Data-Into Error message:
>
> Message ID . . . . . . : RNX0356
> Date sent . . . . . . : 08/10/25 Time sent . . . . . . :
> 14:33:00
>
> Message . . . . : The document for the DATA-INTO operation does not
match
> the RPG variable; reason code 5.
>
> Cause . . . . . : While parsing a document for the DATA-INTO operation,
> the
> parser found that the document does not correspond to RPG variable
> "rtndata"
> and the options do not allow for this. The reason code is 5. The exact
> subfield for which the error was detected is "rtndata". The options are
> "doc=file case=convert allowmissing=yes allowextra=yes
countprefix=count_
> trim=all". The document name is
> /HOME/SATSS/DOWNLOAD/AIT_20251008_001644918_SATSS_UPLOADDATA.json; *N
> indicates that the document is not an external file. The parser is
> 'YAJLINTO'. *N indicates that the parser is a procedure pointer.
> Recovery . . . : Contact the person responsible for program maintenance
> to
> determine the cause of the problem.
> Technical description . . . . . . . . : Reason codes and their meanings
> are
> as follows:
> 1. The specified path to the name was not found in the document.
> 2. The document contains too few array elements for array subfields of a
> data structure.
> 3. The document contains too many array elements for array subfields of
a
> data structure.
> 4. The document is missing information to match subfields.
> 5. The document contains extra names that do not match subfields.
> 6. The document contains text content within the content for the
> subfields
> of a data structure.
> 7. The document contains subfield items for RPG scalar fields,
> subfields or
>
> Any assistance appreciated.
>
> Thanks
> Don
>
>
> Brisbane - Sydney - Melbourne
>
>
> Don Brown
>
> Senior Consultant
>
>
>
>
> P: 1300 088 400
>
>
>
>
> DISCLAIMER. Before opening any attachments, check them for viruses and
> defects. This email and its attachments may contain confidential
> information. If you are not the intended recipient, please do not
> read, distribute or copy this email or its attachments but notify
> sender and delete it. Any views expressed in this email are those of
> the individual sender
> --
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
> list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To
> subscribe, unsubscribe, or change list options,
> visit: [2]
https://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
> Before posting, please take a moment to review the archives at
> [3]
https://archive.midrange.com/midrange-l.
>
> Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
> related questions.
>
>
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: [4]
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
[5]
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx 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://lists.midrange.com/mailman/listinfo/midrange-l
3.
https://archive.midrange.com/midrange-l.
4.
https://lists.midrange.com/mailman/listinfo/midrange-l
5.
https://archive.midrange.com/midrange-l.
6.
https://www.mailguard.com.au/
As an Amazon Associate we earn from qualifying purchases.