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.