I'm using a handler due to the size of the incoming JSON. Here is my DS:
Code: Select all
dcl-ds REPAIRINGOUTLETRECORD_t qualified template;
REPAIRINGOUTLETBUSINESSPARTNERCODE varchar(10) inz('');
REPAIRINGOUTLETNAME varchar(30) inz('');
REPAIRINGOUTLETADDRESSLINE1 varchar(30) inz('');
REPAIRINGOUTLETCITY varchar(18) inz('');
REPAIRINGOUTLETSTATE varchar(2) inz('');
REPAIRINGOUTLETCOUNTRY varchar(2) inz('');
REPAIRINGOUTLETPOSTALCODE varchar(10) inz('');
KILOMETERINDICATOR varchar(2) inz('');
CURRENTLABORRATE packed(9:2) inz(0);
CURRENTLABORRATEEFFECTIVEDATE varchar(10) inz('');
CURRENTTRAVELDISTANCEREIMBURSEMENTRATE packed(9:2) inz(0);
CURRENTTRAVELDISTANCEREIMBURSEMENTRATEEFFECTIVEDATE varchar(10)
INZ(' ');
CURRENTLANDEDCOSTMARKUP packed(9:2) inz(0);
CURRENTLANDEDCOSTMARKUPEFFECTIVEDATE varchar(10) inz('');
num_CLAIMPROCESSEDRECORD int(10) inz(0);
dcl-ds CLAIMPROCESSEDRECORD dim(100);
TRACKINGNUMBER varchar(10) inz('');
REPAIRORDERNUMBER varchar(8) inz('');
PRODUCTSERIALNUMBER varchar(20) inz('');
CLAIMNUMBER varchar(20) inz('');
MODELNUMBER varchar(15) inz('');
REPAIRORDEROPENDATE varchar(10) inz('');
DELIVERYDATE varchar(10) inz('');
PRIMARYFAILEDPARTNAME varchar(25) inz('');
PRIMARYFAILEDPARTNUMBER varchar(20) inz('');
CLAIMSTATUSCODE varchar(3) inz('');
CLAIMSTATUSCODEDESCRIPTION varchar(20) inz('');
CLAIMTYPE varchar(2) inz('');
EXCHANGERATE varchar(10) inz('');
PREVIOUSCREDITAMOUNT packed(10:2) inz(0);
PARTCREDITTOTAL packed(9:2) inz(0);
PARTMARKUPTOTAL packed(9:2) inz(0);
LABORCREDITTOTAL packed(10:2) inz(0);
NETITEMCREDITTOTAL packed(9:2) inz(0);
NETTOTALCREDITDOLLARS packed(9: 2) inz(0);
REQUESTEDTOTALDOLLARS packed(9: 2) inz(0);
DIFFERENCETOTALDOLLARS packed(9: 2) inz(0);
DOCUMENTNUMBER varchar(20) inz('');
num_CLAIMLINEDETAILRECORD int(10) inz(0);
dcl-ds CLAIMLINEDETAILRECORD dim(150);
TRACKINGNUMBER varchar(10) inz('');
CLAIMNUMBER varchar(20) inz('');
APPROVEDQUANTITY packed(5:1) inz(0);
REPLACEDPARTNUMBER varchar(15) inz('');
PARTNAME varchar(1) inz('');
LABOROPERATIONCODE varchar(8) inz('');
PARTLANDEDMARKUP packed(9:2) inz(0);
NETITEMCODE varchar(10) inz('');
PRORATE packed(9:2) inz(0);
TYPE varchar(10) inz('');
GROSSCREDIT packed(9:2) inz(0);
TOTALCREDIT packed(9:2) inz(0);
PROCESSCODE varchar(10) inz('');
PROCESSMESSAGE varchar(80) inz('');
end-ds;
end-ds;
end-ds;
Code: Select all
options = 'doc=file case=convert countprefix=num_ allowextra=yes ' +
'path=jsonDoc/CREDITADVICEHEADER/REPAIRINGOUTLETRECORD';
data-into %Handler( processRepairOutletRecord : totalItems )
%DATA( ifsPathname : options )
%PARSER( 'YAJLINTO'
: '{ "document_name": "jsonDoc", +
"number_prefix": "YAJL_" }');
repairingoutletbusinesspartnercode of 0322400401. Then it will give me the error below (shown after the JSON) when it hits 0322400600 partner code:
Code: Select all
{
"creditAdviceHeader": {
"creditAdviceNumber": "202202",
"distributorCode": "03224",
"creditAdvicePreparationDate": "2022-01-11T15:47:02.122Z",
"repairingOutletRecord": [
{
"repairingOutletBusinessPartnerCode": "0322400400",
"repairingOutletName": "Freightliner of Philadelphia",
"repairingOutletAddressline1": "11 Runway Road",
"repairingOutletCity": "Philadelphia",
"repairingOutletState": "PA",
"repairingOutletCountry": "US",
"repairingOutletPostalcode": "19057",
"kilometerIndicator": "Mi",
"currentLaborRate": "155.0",
"currentLaborRateEffectiveDate": "2020-01-06",
"currentTravelDistanceReimbursementRate": "1.0",
"currentTravelDistanceReimbursementRateEffectiveDate": "2011-08-30",
"currentLandedCostMarkup": 0,
"currentLandedCostMarkupEffectiveDate": "2020-01-06",
"workInProgressClaimsRecord": [
],
"workInProgressETCRecord": [
],
"etcRegistrationRecord": [
],
"claimProcessedRecord": [
]
},
{
"repairingOutletBusinessPartnerCode": "0322400401",
"repairingOutletName": "Freightliner of Lancaster",
"repairingOutletAddressline1": "1675 Rohrerstown Road",
"repairingOutletCity": "Lancaster",
"repairingOutletState": "PA",
"repairingOutletCountry": "US",
"repairingOutletPostalcode": "17601",
"kilometerIndicator": "Mi",
"currentLaborRate": "135.0",
"currentLaborRateEffectiveDate": "2017-08-08",
"currentTravelDistanceReimbursementRate": "1.0",
"currentTravelDistanceReimbursementRateEffectiveDate": "2011-11-27",
"currentLandedCostMarkup": 0,
"currentLandedCostMarkupEffectiveDate": "2018-05-17",
"workInProgressClaimsRecord": [
{
"trackingNumber": "225704",
"repairOrderNumber": "225704",
"claimType": "01",
"productSerialNumber": "6511643920",
"claimNumber": "AT0493763",
"dispositionCode": "",
"dispositionCodeDescription": "",
"requestedDollars": 271.74
},
{
"trackingNumber": "226159",
"repairOrderNumber": "226158",
"claimType": "01",
"productSerialNumber": "6511403589",
"claimNumber": "AT0494714",
"dispositionCode": "",
"dispositionCodeDescription": "",
"requestedDollars": 288.16
},
{
"trackingNumber": "102623",
"repairOrderNumber": "102623",
"claimType": "01",
"productSerialNumber": "9630047747",
"claimNumber": "AT0494295",
"dispositionCode": "",
"dispositionCodeDescription": "",
"requestedDollars": 4008.31
},
{
"trackingNumber": "821627",
"repairOrderNumber": "821627",
"claimType": "01",
"productSerialNumber": "6311963167",
"claimNumber": "AT0494321",
"dispositionCode": "",
"dispositionCodeDescription": "",
"requestedDollars": 692.17
}
],
"workInProgressETCRecord": [
],
"etcRegistrationRecord": [
],
"claimProcessedRecord": [
{
"trackingNumber": "226464",
"repairOrderNumber": "226464",
"productSerialNumber": "6311819179",
"claimNumber": "AT0492161",
"modelNumber": "2100HS",
"repairOrderOpenDate": "2021-11-22",
"deliveryDate": "2020-11-12",
"primaryFailedPartName": "Unable to Determine Caus",
"primaryFailedPartNumber": "86",
"claimStatusCode": "40",
"claimStatusCodeDescription": "Approved",
"claimType": "01",
"exchangeRate": "1.0",
"previousCreditAmount": 0,
"partCreditTotal": 2620.01,
"partMarkupTotal": 524,
"laborCreditTotal": 769.5,
"netItemCreditTotal": 108.06,
"netTotalCreditDollars": 4021.57,
"requestedTotalDollars": 4025.04,
"differenceTotalDollars": 3.47,
"documentNumber": "9900195648",
"claimLineDetailRecord": [
{
"trackingNumber": "226464",
"claimNumber": "AT0492161",
"approvedQuantity": 3.8,
"replacedPartNumber": "",
"partName": "",
"laborOperationCode": "00094000",
"partLandedMarkup": 0,
"netItemCode": "",
"proRate": 100,
"type": "Labor",
"grossCredit": 513,
"totalCredit": 513,
"processCode": "",
"processMessage": ""
},
{
"trackingNumber": "226464",
"claimNumber": "AT0492161",
"approvedQuantity": 0.5,
"replacedPartNumber": "",
"partName": "",
"laborOperationCode": "00094006",
"partLandedMarkup": 0,
"netItemCode": "",
"proRate": 100,
"type": "Labor",
"grossCredit": 67.5,
"totalCredit": 67.5,
"processCode": "",
"processMessage": ""
},
{
"trackingNumber": "226464",
"claimNumber": "AT0492161",
"approvedQuantity": 0.5,
"replacedPartNumber": "",
"partName": "",
"laborOperationCode": "00096901",
"partLandedMarkup": 0,
"netItemCode": "",
"proRate": 100,
"type": "Labor",
"grossCredit": 67.5,
"totalCredit": 67.5,
"processCode": "",
"processMessage": ""
},
{
"trackingNumber": "226464",
"claimNumber": "AT0492161",
"approvedQuantity": 0.5,
"replacedPartNumber": "",
"partName": "",
"laborOperationCode": "00096400",
"partLandedMarkup": 0,
"netItemCode": "",
"proRate": 100,
"type": "Labor",
"grossCredit": 67.5,
"totalCredit": 67.5,
"processCode": "",
"processMessage": ""
},
{
"trackingNumber": "226464",
"claimNumber": "AT0492161",
"approvedQuantity": 0.4,
"replacedPartNumber": "",
"partName": "",
"laborOperationCode": "00094100",
"partLandedMarkup": 0,
"netItemCode": "",
"proRate": 100,
"type": "Labor",
"grossCredit": 54,
"totalCredit": 54,
"processCode": "",
"processMessage": ""
},
{
"trackingNumber": "226464",
"claimNumber": "AT0492161",
"approvedQuantity": 3,
"replacedPartNumber": "",
"partName": "",
"laborOperationCode": "",
"partLandedMarkup": 0,
"netItemCode": "Parts",
"proRate": 100,
"type": "Other",
"grossCredit": 108.06,
"totalCredit": 108.06,
"processCode": "",
"processMessage": ""
},
{
"trackingNumber": "226464",
"claimNumber": "AT0492161",
"approvedQuantity": 0,
"replacedPartNumber": "",
"partName": "",
"laborOperationCode": "",
"partLandedMarkup": 0,
"netItemCode": "Parts",
"proRate": 100,
"type": "Other",
"grossCredit": 0,
"totalCredit": 0,
"processCode": "981",
"processMessage": "Shop supplies not allowed"
},
{
"trackingNumber": "226464",
"claimNumber": "AT0492161",
"approvedQuantity": 1,
"replacedPartNumber": "29563096",
"partName": "1000RM RETRAN ASSEMBLY",
"laborOperationCode": "",
"partLandedMarkup": 524,
"netItemCode": "",
"proRate": 100,
"type": "Part",
"grossCredit": 3144.01,
"totalCredit": 3144.01,
"processCode": "",
"processMessage": ""
}
]
}
]
},
{
"repairingOutletBusinessPartnerCode": "0322400600",
"repairingOutletName": "Faulkner GMC",
"repairingOutletAddressline1": "705 Auto Park Boulevard",
"repairingOutletCity": "Chester",
"repairingOutletState": "PA",
"repairingOutletCountry": "United States",
"repairingOutletPostalcode": "19382",
"kilometerIndicator": "",
"currentLaborRate": "",
"currentLaborRateEffectiveDate": "",
"currentTravelDistanceReimbursementRate": "",
"currentTravelDistanceReimbursementRateEffectiveDate": "",
"currentLandedCostMarkup": "",
"currentLandedCostMarkupEffectiveDate": "",
"workInProgressClaimsRecord": [
],
"workInProgressETCRecord": [
],
"etcRegistrationRecord": [
],
"claimProcessedRecord": [
]
},
{
"repairingOutletBusinessPartnerCode": "0322400602",
"repairingOutletName": "Mohawk Valley Freightliner",
"repairingOutletAddressline1": "703 Oriskany Boulevard",
"repairingOutletCity": "Yorkville",
"repairingOutletState": "NY",
"repairingOutletCountry": "United States",
"repairingOutletPostalcode": "13495-0201",
"kilometerIndicator": "",
"currentLaborRate": "",
"currentLaborRateEffectiveDate": "",
"currentTravelDistanceReimbursementRate": "",
"currentTravelDistanceReimbursementRateEffectiveDate": "",
"currentLandedCostMarkup": "",
"currentLandedCostMarkupEffectiveDate": "",
"workInProgressClaimsRecord": [
],
"workInProgressETCRecord": [
],
"etcRegistrationRecord": [
],
"claimProcessedRecord": [
]
},
{
"repairingOutletBusinessPartnerCode": "0322400604",
"repairingOutletName": "Bentley Truck Services Inc.",
"repairingOutletAddressline1": "7777 Essington Avenue",
"repairingOutletCity": "Philadelphia",
"repairingOutletState": "PA",
"repairingOutletCountry": "United States",
"repairingOutletPostalcode": "19153",
"kilometerIndicator": "",
"currentLaborRate": "",
"currentLaborRateEffectiveDate": "",
"currentTravelDistanceReimbursementRate": "",
"currentTravelDistanceReimbursementRateEffectiveDate": "",
"currentLandedCostMarkup": "",
"currentLandedCostMarkupEffectiveDate": "",
"workInProgressClaimsRecord": [
],
"workInProgressETCRecord": [
],
"etcRegistrationRecord": [
],
"claimProcessedRecord": [
]
}
]
}
}
Code: Select all
Additional Message Information
Message ID . . . . . . : RNX0356 Severity . . . . . . . : 50
Message type . . . . . : Escape
Date sent . . . . . . : 03/10/22 Time sent . . . . . . : 12:50:10
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 "PARM"
and the options do not allow for this. The reason code is 5. The exact
subfield for which the error was detected is "PARM(1)". The options are
"doc=file case=convert countprefix=num_ allowextra=yes
path=jsonDoc/CREDITADVICEHEADER/REPAIRINGOUTLETRECORD". The document name is
/Allison/4Ward/Credit Advice Response Example.json; *N indicates that the
document is not an external file. The parser is 'YAJLINTO'. *N indicates
that the parser is a procedure pointer.
Code: Select all
dcl-proc processRepairOutletRecord;
dcl-pi *n int(10);
count int(10);
item likeDS(REPAIRINGOUTLETRECORD_T) Dim(1) Const;
items int(10) Value;
end-pi;
Any suggestions? If you need any more information, please let me know.
Thanks in advance!