Kinetic Dashboard with Parameters

You can accomplish this if you really need it.

It will be cumbersome.

Here is one way:

Design your BAQ with parameters and get it working the way you would like.
When it is final, copy your BAQ and gut it down to just the top level. It doesn’t
even need to work at all, just must compile/save.
(No parameters in this BAQ)

Use Advanced BPM Update to override the GetList.

In the GetList BPM, pull your where clauses ( “Parameters” ) out of the

executionParams.ExecutionSetting and use the dynamic query adapter to call your original BAQ
with the parameters you parsed from the where fields.

Replace the rows in the called BAQ with the ones from the real BAQ and Bob’s your uncle.

Kinda Hokey, but if you need this functionality now, it can be finagled.

Interesting workaround but yeah very cumbersome.

It grabs a certain number of records for paging (looks to be about 300 based on Dev Tools).
When you scroll past that, the parameter window comes up again (with no previous value) and you have to enter the same value to get the next 300 results.

Something I just noticed too… you lose the first 300 results after entering the parameter again… Neat. Nevermind. That was just a glitch, I guess. Shocking.

There has to be an easier workaround where I make a REST call to the BAQ service which I do all the time outside of Epicor…

Just a struggle trying to piece everything together with minimal documentation

Imagine if it has to be updatable… :rofl:

Lemme play with it. I’ve messed with the execution settings before in dynamic query REST calls, so I’m sure there’s a way to pass in the ExecutionParameter field.

1 Like

FYI:

Well–I have a half working option.
Only issue is it does not let me do virtual paging; still working that bit out.
You could set a larger page size if you know what kind of results you’re expecting, though.

Here’s the setup:

Make a placeholder view. Don’t make it an actual BAQ view or it will pull the params slide out.

Remove all bindings on the native grid and add your own reference to the new view you made (BAQView in my instance).

Create an event to populate that view:

I made my parameter a dropdown on the front page. Bind that to something and after the form loads, initialize it for the first call. I guess, strictly speaking, you probably don’t have to initialize it?

Create an event that fires on change of your parameter field.

ParamWorkaround

#CloseEnough lol

5 Likes

OMG Thank you this works really well, I just set my page size to 100,000 not sure if this will cause any issues. The query explodes all BoMs for a customer or product category, so it can be pretty hefty.

I have it working just statically right now plugging in a string in the executions parameters. I am a bit confused on how to get it to bind with my textbox.

These are all the parameters the BAQ has(Currently just using a textbox for Ordernum just for testing):

mother of god danger GIF

Just change this out for each parameter based on what your textbox is bound to.

1 Like

So I made a dataview for my parameter, and bound the textbox to it, but now it is coming up grey and I cant enter anything.

I might have forgotten the initialize bit. After form load, use row-update to set it to “” (empty string).

Took a bit of digging to get it right… Not sure if it is just a matter that I am in Cloud Kinetic, but Form_Onload is just window

@hmwillett Thanks for the help! The solution does have a couple limitations on the user end. They can’t personalize the column layout, and the data can’t be exported to excel or even copied to excel.

Why not?
Are they grayed out? If so, click the grid in App Studio, go to properties > advanced and enable them. Or possibly properties > grid model > advanced.
I’m pretty sure in there somewhere are checkboxes to allow those.

All of it is enabled… The data just doesn’t pull through.

It copies a single column of empty rows which corresponds to the number of rows the grid has.

Does it work in the example you made?

Looks like you need to add them to the Grid Model > Columns.

I’ve actually experienced this on some of my other, production grids. Still have yet to find a root cause.

I have been placing parameters into a UD table that I set aside for this purpose. .
@hmwillett @Camren360 - I don’t know how to do all of the programming.

Steps are:

  1. Create an updatable BAQ using UD11.
  2. Filter the table so Key1 is equal to current user ID
  3. Setup update to populate Key1 with UserID when you add a record
  4. Make all other fields updateable execpt for Key2 thru Key5

In the BAQ(s) you want to use parameters on - pull in UD11 as a datafilter

  1. create InnerSubquery with UD11 filter to Key1 equals Current UserID
  2. Using a suquery filter or pull in UD11 into the query so OrderHed.Order is between UD11.Date01 and UD11.Date02

The added benefit is you can have multiple BAQs on a dashboard, all filtered by UD11.Date01 and UD11.date02

1 Like