       ctl-opt dftactgrp(*no);

       readTheJson();
       *inlr = *on;

       // FIXME:
       //   - The field lengths (varchar/packed) are guesses
       //       and should be adjusted based on your business rules.
       //   - The array lengths (dim keywords) are also guesses
       //       and should be adjusted based on your business rules

       dcl-proc readTheJson;

         dcl-ds jsonDoc qualified;
           AUTOCOMPLETE ind;
           CONSENT varchar(15) inz('');
           DESCRIPTION varchar(1) inz('');
           num_DOCUMENTS int(10) inz(0);
           dcl-ds DOCUMENTS dim(2);
             STATUS varchar(1) inz('');
             EXTERNALSIGNED ind;
             DESCRIPTION varchar(67) inz('');
             ID varchar(15) inz('');
             num_PAGES int(10) inz(0);
             dcl-ds PAGES dim(1);
               ID varchar(1) inz('');
               TOP packed(1) inz(0);
               WIDTH packed(3) inz(0);
               HEIGHT packed(4) inz(0);
               LEFT packed(1) inz(0);
               VERSION packed(1) inz(0);
               INDEX packed(1) inz(0);
             end-ds;
             num_APPROVALS int(10) inz(0);
             APPROVALS varchar(1) dim(1); // empty;
             SIGNEDHASH varchar(1) inz('');
             SIGNERVERIFICATIONTOKEN varchar(1) inz('');
             dcl-ds DATA;
               ESE_DOCUMENT_TEXTTAG_EXTRACT_NEEDED varchar(5) inz('');
             end-ds;
             EXTRACT ind;
             num_EXTRACTIONTYPES int(10) inz(0);
             EXTRACTIONTYPES varchar(1) dim(1); // empty;
             TAGGED ind;
             num_IMPRINTFIELDS int(10) inz(0);
             IMPRINTFIELDS varchar(1) dim(1); // empty;
             EXTERNAL varchar(1) inz('');
             INDEX packed(1) inz(0);
             num_FIELDS int(10) inz(0);
             FIELDS varchar(1) dim(1); // empty;
             NAME varchar(45) inz('');
             SIZE packed(6) inz(0);
           end-ds;
           DUE varchar(1) inz('');
           EMAILMESSAGE varchar(1) inz('');
           LANGUAGE varchar(2) inz('');
           LIMITS varchar(1) inz('');
           num_MESSAGES int(10) inz(0);
           MESSAGES varchar(1) dim(1); // empty;
           NOTARIZED ind;
           NOTARYROLEID varchar(1) inz('');
           num_ROLES int(10) inz(0);
           dcl-ds ROLES dim(2);
             ID varchar(7) inz('');
             DATA varchar(1) inz('');
             REASSIGN ind;
             DELIVERDOCUMENTSBYEMAIL ind;
             dcl-ds EMAILMESSAGE;
               CONTENT varchar(1) inz('');
             end-ds;
             num_ATTACHMENTREQUIREMENTS int(10) inz(0);
             ATTACHMENTREQUIREMENTS varchar(1) dim(1); // empty;
             LOCKED ind;
             num_SPECIALTYPES int(10) inz(0);
             SPECIALTYPES varchar(1) dim(1); // empty;
             TYPE varchar(6) inz('');
             INDEX packed(1) inz(0);
             num_SIGNERS int(10) inz(0);
             dcl-ds SIGNERS dim(1);
               ADDRESS varchar(1) inz('');
               COMPANY varchar(10) inz('');
               TIMEZONEID varchar(1) inz('');
               CREATED varchar(20) inz('');
               EMAIL varchar(19) inz('');
               EXTERNAL varchar(1) inz('');
               FIRSTNAME varchar(5) inz('');
               LANGUAGE varchar(2) inz('');
               LASTNAME varchar(6) inz('');
               PHONE varchar(1) inz('');
               num_PROFESSIONALIDENTITYFIELDS int(10) inz(0);
               PROFESSIONALIDENTITYFIELDS varchar(1) dim(1); // empty;
               SIGNATURE varchar(1) inz('');
               TITLE varchar(1) inz('');
               UPDATED varchar(20) inz('');
               num_USERCUSTOMFIELDS int(10) inz(0);
               USERCUSTOMFIELDS varchar(1) dim(1); // empty;
               num_SPECIALTYPES int(10) inz(0);
               SPECIALTYPES varchar(1) dim(1); // empty;
               PASSWORDTIMESTAMP varchar(1) inz('');
               IDVAUTHENTICATION varchar(1) inz('');
               DIGIPASSAUTHENTICATION ind;
               GROUP varchar(1) inz('');
               ID varchar(36) inz('');
               dcl-ds AUTH;
                 SCHEME varchar(4) inz('');
                 num_CHALLENGES int(10) inz(0);
                 CHALLENGES varchar(1) dim(1); // empty;
                 IDVWORKFLOW varchar(1) inz('');
               end-ds;
               DATA varchar(1) inz('');
               KNOWLEDGEBASEDAUTHENTICATION varchar(1) inz('');
               dcl-ds DELIVERY;
                 PROVIDER ind;
                 EMAIL ind;
                 DOWNLOAD ind;
               end-ds;
               SIGNERTYPE varchar(14) inz('');
               SSOCONFIGURED ind;
               NAME varchar(1) inz('');
             end-ds;
             NAME varchar(5) inz('');
           end-ds;
           dcl-ds SENDER;
             dcl-ds ADDRESS;
               ADDRESS1 varchar(1) inz('');
               ADDRESS2 varchar(1) inz('');
               CITY varchar(1) inz('');
               COUNTRY varchar(1) inz('');
               ZIPCODE varchar(1) inz('');
               STATE varchar(1) inz('');
             end-ds;
             COMPANY varchar(10) inz('');
             TIMEZONEID varchar(3) inz('');
             CREATED varchar(20) inz('');
             EMAIL varchar(19) inz('');
             EXTERNAL varchar(1) inz('');
             FIRSTNAME varchar(5) inz('');
             LANGUAGE varchar(2) inz('');
             LASTNAME varchar(6) inz('');
             PHONE varchar(1) inz('');
             num_PROFESSIONALIDENTITYFIELDS int(10) inz(0);
             PROFESSIONALIDENTITYFIELDS varchar(1) dim(1); // empty;
             SIGNATURE varchar(1) inz('');
             TITLE varchar(1) inz('');
             UPDATED varchar(20) inz('');
             num_USERCUSTOMFIELDS int(10) inz(0);
             USERCUSTOMFIELDS varchar(1) dim(1); // empty;
             num_SPECIALTYPES int(10) inz(0);
             SPECIALTYPES varchar(1) dim(1); // empty;
             PASSWORDTIMESTAMP varchar(1) inz('');
             STATUS varchar(6) inz('');
             ID varchar(12) inz('');
             dcl-ds DATA;
               HASNOTARYPRIVILEGES ind;
               SERVICECREDENTIALS varchar(2) inz('');
               SHOWINTRO ind;
             end-ds;
             dcl-ds ACCOUNT;
               DEFAULTVIRTUALROOMSESSIONTIMEOUT packed(7) inz(0);
               LANGUAGE varchar(2) inz('');
               ID varchar(12) inz('');
               num_LICENSES int(10) inz(0);
               dcl-ds LICENSES dim(1);
                 PAIDUNTIL varchar(20) inz('');
                 STATUS varchar(6) inz('');
                 dcl-ds PLAN;
                   FEATURES varchar(1) inz('');
                   DESCRIPTION varchar(53) inz('');
                   GROUP varchar(6) inz('');
                   ID varchar(6) inz('');
                   num_QUOTAS int(10) inz(0);
                   dcl-ds QUOTAS dim(1);
                     CYCLE varchar(1) inz('');
                     SCOPE varchar(7) inz('');
                     LIMIT packed(5) inz(0);
                     TARGET varchar(6) inz('');
                   end-ds;
                   FREECYCLES varchar(1) inz('');
                   CYCLE varchar(4) inz('');
                   CONTRACT varchar(5) inz('');
                   ORIGINAL varchar(1) inz('');
                   DATA varchar(1) inz('');
                   dcl-ds PRICE;
                     AMOUNT packed(3) inz(0);
                     dcl-ds CURRENCY;
                       ID varchar(3) inz('');
                       DATA varchar(1) inz('');
                       NAME varchar(9) inz('');
                     end-ds;
                   end-ds;
                   NAME varchar(8) inz('');
                 end-ds;
                 num_TRANSACTIONS int(10) inz(0);
                 TRANSACTIONS varchar(1) dim(1); // empty;
                 CREATED varchar(20) inz('');
               end-ds;
               num_CUSTOMFIELDS int(10) inz(0);
               CUSTOMFIELDS varchar(1) dim(1); // empty;
               LOGOURL varchar(1) inz('');
               PROVIDERS varchar(1) inz('');
               DATA varchar(1) inz('');
               CREATED varchar(20) inz('');
               LOGOALTTEXTKEY varchar(1) inz('');
               dcl-ds COMPANY;
                 ID varchar(12) inz('');
                 DATA varchar(1) inz('');
                 dcl-ds ADDRESS;
                   ADDRESS1 varchar(1) inz('');
                   ADDRESS2 varchar(1) inz('');
                   CITY varchar(1) inz('');
                   COUNTRY varchar(1) inz('');
                   ZIPCODE varchar(1) inz('');
                   STATE varchar(1) inz('');
                 end-ds;
                 NAME varchar(10) inz('');
               end-ds;
               UPDATED varchar(20) inz('');
               TIMEZONEID varchar(3) inz('');
               OWNER varchar(12) inz('');
               NAME varchar(10) inz('');
             end-ds;
             ACTIVATED varchar(1) inz('');
             LOCKED varchar(1) inz('');
             num_MEMBERSHIPS int(10) inz(0);
             MEMBERSHIPS varchar(1) dim(1); // empty;
             TYPE varchar(7) inz('');
             NAME varchar(1) inz('');
             HASDELEGATES ind;
           end-ds;
           dcl-ds SETTINGS;
             dcl-ds CEREMONY;
               DECLINEBUTTON ind;
               num_DECLINEREASONS int(10) inz(0);
               DECLINEREASONS varchar(1) dim(1); // empty;
               DISABLEDECLINEOTHER ind;
               DISABLEDOWNLOADFORUNCOMPLETEDPACKAGE ind;
               DISABLEFIRSTINPERSONAFFIDAVIT ind;
               DISABLEINPERSONAFFIDAVIT ind;
               DISABLEOPTOUTOTHER ind;
               DISABLESECONDINPERSONAFFIDAVIT ind;
               DOCUMENTTOOLBAROPTIONS varchar(1) inz('');
               dcl-ds EVENTS;
                 dcl-ds COMPLETE;
                   DIALOG ind;
                   REDIRECT varchar(3) inz('');
                 end-ds;
               end-ds;
               dcl-ds HANDOVER;
                 HREF varchar(25) inz('');
                 TEXT varchar(4) inz('');
                 TITLE varchar(18) inz('');
                 AUTOREDIRECT ind;
                 num_PARAMETERS int(10) inz(0);
                 PARAMETERS varchar(6) inz('') dim(3);
               end-ds;
               HIDECAPTURETEXT ind;
               HIDELANGUAGEDROPDOWN ind;
               HIDEPACKAGEOWNERINPERSON ind;
               HIDEWATERMARK ind;
               INPERSON ind;
               REMOTEONLINENOTARIZATION ind;
               MAXAUTHFAILSALLOWED packed(1) inz(0);
               OPTOUTBUTTON ind;
               num_OPTOUTREASONS int(10) inz(0);
               OPTOUTREASONS varchar(1) dim(1); // empty;
               LEFTMENUEXPAND ind;
               ENFORCECAPTURESIGNATURE ind;
               EXTRACTACROFIELDS ind;
               EXTRACTTEXTTAGS ind;
               ADA ind;
               FONTSIZE packed(2) inz(0);
               DEFAULTTIMEBASEDEXPIRY ind;
               REMAININGDAYS packed(1) inz(0);
               MAXIMUMREMAININGDAYS packed(1) inz(0);
               MAXATTACHMENTFILES packed(1) inz(0);
               SHOWNSEHELP ind;
               SHOWNSEOVERVIEW ind;
               OPTIONALNAVIGATION ind;
               SHOWNSELOGOINIFRAME ind;
               GEOLOCATION ind;
               ADHOCCOBROWSINGSIGNER ind;
               TIMESTAMPONSIGNATURE ind;
               SIGNNOTARYJOURNAL ind;
               dcl-ds LAYOUT;
                 dcl-ds BRANDINGBAR;
                   dcl-ds LOGO;
                     LINK varchar(1) inz('');
                     SRC varchar(7) inz('');
                     LOGOALTTEXTKEY varchar(1) inz('');
                   end-ds;
                 end-ds;
                 IFRAME ind;
                 dcl-ds HEADER;
                   FEEDBACK ind;
                   BREADCRUMBS ind;
                   dcl-ds GLOBALACTIONS;
                     CONFIRM ind;
                     HIDEEVIDENCESUMMARY ind;
                     SAVEASLAYOUT ind;
                     DOWNLOAD ind;
                   end-ds;
                   GLOBALNAVIGATION ind;
                   SESSIONBAR ind;
                   TITLEBAR varchar(1) inz('');
                 end-ds;
                 NAVIGATOR ind;
                 FOOTER varchar(1) inz('');
               end-ds;
               STYLE varchar(1) inz('');
             end-ds;
             TRANSACTIONATTRIBUTES varchar(1) inz('');
           end-ds;
           SIGNEDDOCUMENTDELIVERY varchar(1) inz('');
           STATUS varchar(5) inz('');
           TYPE varchar(7) inz('');
           UPDATED varchar(20) inz('');
           VISIBILITY varchar(7) inz('');
           BULKSENDABLE ind;
           CREATED varchar(20) inz('');
           TIMEZONEID varchar(3) inz('');
           num_CONDITIONS int(10) inz(0);
           CONDITIONS varchar(1) dim(1); // empty;
           VIRTUALROOM varchar(1) inz('');
           VIRTUALROOMHOSTUID varchar(1) inz('');
           VIRTUALROOMSESSIONSTATUS varchar(1) inz('');
           ADHOCCOBROWSING varchar(1) inz('');
           HASNOTARYJOURNAL ind;
           RETAINUNTIL varchar(20) inz('');
           RETAINFOR varchar(1) inz('');
           SIGNINGCOMPLETED ind;
           ID varchar(28) inz('');
           COMPLETED varchar(1) inz('');
           TRASHED ind;
           dcl-ds DATA;
             ORIGIN varchar(3) inz('');
             dcl-ds CURRENTSIGNERPROGRESS;
               DOCUMENTSTOCONFIRMCOUNT varchar(1) inz('');
               DOCUMENTSCONFIRMEDCOUNT varchar(1) inz('');
               APPROVALSTOCONFIRMCOUNT varchar(1) inz('');
               APPROVALSCONFIRMEDCOUNT varchar(1) inz('');
               DOCUMENTSPARTIALLYCOMPLETEDCOUNT varchar(1) inz('');
               APPROVALSTOSIGNNOWCOUNT varchar(1) inz('');
             end-ds;
             dcl-ds OVERALLPROGRESS;
               DOCUMENTSTOCOMPLETECOUNT varchar(1) inz('');
               DOCUMENTSCOMPLETEDCOUNT varchar(1) inz('');
               DOCUMENTSTOCONFIRMCOUNT varchar(1) inz('');
               DOCUMENTSCONFIRMEDCOUNT varchar(1) inz('');
               DOCUMENTSPARTIALLYCOMPLETEDCOUNT varchar(1) inz('');
             end-ds;
           end-ds;
           NAME varchar(18) inz('');
           TYPEASSTRING varchar(7) inz('');
         end-ds;

         dcl-s ifsPathName varchar(5000);

         ifsPathName = '/home/DRIMA/CYB_JVA8/JSON4.JSON';

         data-into jsonDoc %DATA( ifsPathname
                                : 'doc=file case=convert countprefix=num_')
                         %PARSER( 'YAJLINTO'
                                : '{ "document_name": "jsonDoc", +
                                     "number_prefix": "YAJL_" }');

       end-proc;