IF TYPE("cPX_PRODUCTS.Reference") = "C" REPLACE cPX_PRODUCTS.REFERENCE WITH ALIAS.REFERENCE ENDIFNow this cursor is ALWAYS created ReadWrite, and, unfortunately, in several places, in several sets of circumstances and slightly differently, in the form code, typically
SELECT cPX_PRODUCTS.*,; IIF(!EMPTY(cPX_PRODUCTS.CatID),cPX_PRODUCTS.CatSellPrice,0000000000.0000) as SellPrice, ; !EMPTY(cPX_PRODUCTS.CatID)as SellCalculated,; IIF(EMPTY(cPX_PRODUCTS.CatID),ThisFOrmset.SellingPriceLstInclusive,cPX_PRODUCTS.CatInclusive) as SellInclusive ; FROM cPX_PRODUCTS ; INTO CURSOR cPX_PRODUCTS READWRITEand I can't be sure without exhaustive tracking which is used in these cases, as it's hard to predict exactly what the cust did just prior to this error.
Replace TableName.FieldName with ...as used above (and frequently throughout the system).