Epicor Function - Response Parameters

Gabe! Thank you so much! This has taken so much of my time!!!
I owe you a beer if I ever see you in person!

The same way you just did, but lots of searching and reading over many days, reading other people’s questions, I was a very shy poster my first 2 years here and only absorbed information and didn’t post :wink:

You can check my “DevTools” dashboard, it integrates into functions in this way in many ways, there are lots of examples there you can draw from.

Many thanks again!

And yes I do a ton of search as well before I post, even using AI search… Problem with Kinetic is we have multiple different versions out there and each one is slightly different…

Very challenging!

Cheers!

I know I’ve said the same thing, @GabeFranco is going to be drunk the whole time he’s at Insights.

He’ll be in good company…

I was going to tag you and say that haha, but I was gonna see first if you were going to respond haha

:crossed_fingers: you get to stay the whole time this year

I have a good dozen Gemini Gems that i’m using, populated with markdown that is tightly scoped and some detailed prompt engineering.

(example: one for writing BAQs, another for writing functions/bpms, another for queries about mrp functionality vis a vis techref vs. user guide, etc)

I’ve supplied it a full working model of Epicor and taught it the nuances of the SQL-to-BAQ Converter so that it can directly output functional BAQs from prompts.

I’ve not tied it in at the API level yet because I don’t write that many queries. But i’ve considered leapfrogging that and allowing it to write and execute custom code, which would include LINQ queries against the Db object as a subset. lol

Ran into a similar issue and came across this thread. This was also for 2026.1 I spent a lot of time trying to get this to work and eventually came across this post with @GabeFranco post about the response parameters, which fixed my problem. Everything was correct, it was just my response parameters were setup for previous versions of kinetic.

A quick AI summarized run down from my notes in case anyone else runs into this:

Scenario: Customizing the Summarized BOM Requirements Report to let users edit ProdQty and AltMethod before submitting. The native widget only allowed selecting Part and Revision, so a local Application Studio DataView (ProdQtyGrid) with dataset ProdQtyGridDS and table ProdQtyGridTable was built as an editable grid.

Function: ProdQtyBOMRptUpdate takes partList and revList strings, returns a DataSet (outProdQtyDS) containing a DataTable named ProdQtyGridTable. The function executed correctly and returned valid JSON, but the DataView stayed empty. Trace Console showed a misleading warning about epBinding only accepting number, string, or bool values.

Root cause: incorrect Response Parameter configuration. Configurations tried and failed included using outProdQtyDS alone, outProdQtyDS.ProdQtyGridTable, and outProdQtyDS/ProdQtyGridTable as the Parse From Response Path.

Working configuration:
Parameter Path: blank
Parameter Name: ProdQtyGridTable (the table name)
View Name: ProdQtyGrid
Parse From Response Path: outProdQtyDS only (dataset name, no table appended)
Merge Behavior: Replace

Key takeaway: Parse From Response Path must reference only the DataSet response parameter name. The table name belongs in Parameter Name, not appended to the path. This matches the note already in your standing memory (Parameter Name = table name, Parse From Response Path = dataset name only, no slash combining them).

Additional notes: The function code and JSON were never the problem, the DataSet name itself didn’t matter, but the DataTable name did, and this mapping behavior differs from older Kinetic examples.