If it is not the cached local RPT as Greg and Jeff mentioned, it could be dictionary is off for this table OR dict is correct but the physical file needs to be updated because it's not matching the dict. One way to do that is switch into test company first (where I presume issue still occurs), File / Run / SYZCON and at prompt type the following:
` tablename$=""AP_InvoicePaymentListingWrk"" `
` CALL ""*dict/dd_updt;Update_Physical"",tablename$,$$,$$,error$ `
` print error$ `
If it worked successfully then error$ will be blank. Now trying the listing. If it works, switch into live company, and re-reun. Also as an alternative to this method, in past I've mentioned doing this below as resolution for other issues. It does above commands for you but updates every A/P table and thus requires everyone to be out of A/P.
` o = new(""SY_Activation_bus"", %sys_ss) `
` print o'Activate(""A/P"",""ABC"") ! substitute ABC with your company `
If successful it will return a 1