Symptom
A GI, GIFILTER, GILOOKUP, or GILOOKUPF formula returns an error, even though the generic inquiry (GI) exists in Acumatica, Expose via OData is selected for it, and your connection works.
Velixo Classic shows one of the following errors:
Generic inquiry 'Sales&Orders' not found. Check spelling and ensure that Expose via OData checkbox is checked for this inquiry.
An error occurred while refreshing data from …
For example, this formula fails because the inquiry name contains an ampersand:
=GI(
"Acumatica",
"Sales&Orders"
)
The issue can likely appear after an Acumatica upgrade. An inquiry that worked before the upgrade can return the not-found error afterwards, because some Acumatica versions handle certain characters differently.
Cause
Velixo reads generic inquiries through OData, the interface Acumatica uses to share inquiry data with external tools. Velixo looks up the name you enter in the list of inquiry names that Acumatica publishes through OData, ignoring case. It then requests the inquiry's data under that name. Special characters break this in two ways.
Acumatica removes some characters from the name
When Acumatica publishes an inquiry through OData, it drops some characters from the name. Velixo can't match the name you entered, so you get the not-found error.
Some characters break the request
Other characters stay in the published name but make the request address invalid. For example, # cuts off the address, so the rest of the inquiry name never reaches Acumatica. The web server that hosts Acumatica also rejects some characters, such as +. In these cases, Acumatica can't return the inquiry, and Velixo shows an error.
Workaround
Rename the generic inquiry so that its name contains only letters, numbers, spaces, hyphens (-), and underscores (_).
-
In Acumatica, open the Generic Inquiry form and select the inquiry.
-
In the Inquiry Title box, replace or remove the special characters, then save the inquiry. For example, change
Sales&OrderstoSales and Orders, orSales History v1.3toSales History v1-3. Choose a name that no other generic inquiry uses. -
In Excel, update the inquiry name in every GI, GIFILTER, GILOOKUP, and GILOOKUPF formula that references it. To find all occurrences, press Ctrl+H, set Look in to Formulas, and replace the old name with the new one.
-
If you set Generic Inquiries Options for this inquiry, set them again for the new name. These options include key fields, the smart refresh field, and the refresh mode. The entry for the old name stays in the list, and you can remove it. For details, see Generic Inquiries Options.
-
Refresh the workbook.
The formulas now return the inquiry's data.
Caution! Other tools that read the inquiry through OData, such as Power BI, also use its name, so further adjustments may be necessary.