Epicor Functions and BAQs

I’m so happy you’ve decided to provide such beverages.

And yes, I am.

i’ll get you a “free” drink while playing the tables… lol

So, I am not testing this or anything, but this is the magic step, right? Problem is that it supplies only 1 parameter?

So… I know it’s “Fill table by query,” but can you not just

  1. Do a query with one result row
  2. Ignore all of the results (not bind them to anything)
  3. Do expressions for all of the bindings and manually code in the first parameter
  4. Do it all over again for the second one (and third, etc.) to add more rows?

I guess where I am lost is, where are you getting the parameter values in the first place? Is it not from the function inputs?

Edit: OK, I see, iEmail is the input. The trick is getting the list of the parameter IDs and ValueTypes, etc.

But still, I’ll ask, is it possible to build the table one row at a time manually?

Or, very possibly, am I missing the mark here? Or missing the @Mark_Wonsil

1 Like

I may have it…

Got it!

After The GetBAQ process

I used InvokeBOMethod again, to Invoke

Ice.DynamicQuerySvc.GetQueryExecutionParametersByID

with the queryID

That gives me back the QueryExecutionTableset, with both rows

Parm1, Parm2

I used the set by query widget twice, one for each parameter,

qeTS.ExecutionParameter where ParameterID = “Parm1”

  • then set to a value

qeTS.ExecutionParameter where ParameterID = “Parm2”

  • then set to a value

Then did an execute and a message box

mpr

Y’all can keep your widgets, but it was fun :rofl:

1 Like

@josecgomez Get this man a hero badge.

1 Like

Jose, you are a legend. If you had a nickel for every time that was said. I never found a way to loop with widgets… what’s the overhead on this…

Yo for real!

Just don’t do it its hateful and ugly and gross.

Close your yes @JasonMcD

stop using widgets they generate so much extraneous code :nauseated_face:

1 Like

I got it down to three widgets:

It DOESN’T work for me on 2021.2 but I sent it to @klincecum and he got it work on 2022.11.

The trick is in the Fill Table by Query. When executing the BAQ, one of the parameters is the Execution Dataset. This dataset holds the parameters and their values. So, how can we fill that table? Well, the query itself has a list of all the parameters, so I use that as the source to fill the Execution dataset. The mapping is straightforward:

To set the parameter value, I use an expression that changes value for each parameter:

image

Here I am assigning the function parameters (P1, P2) to the BAQ Parameters (Parm1, Parm2) but they could be Function Variables or maybe even BPMData.

You have to have an expression for each parameter, and nest them. In 2021.2. this hasn’t worked for me. Any variables I tried return null. Maybe it’s a known bug :person_shrugging: but as I said, Kevin was kind enough to try it on his system, and he was able to get it to work.

Yes @JasonMcD, widgets can be fun!

DEMO.efxb (183.0 KB)
DEV-ABC.baq (13.3 KB)

5 Likes

When AI takes over, this is how multiple personalities will arise.
We can use these vulnerabilities to our advantage to survive.

terminator GIF

2 Likes

Can’t see the code from my backyard!

I wish that was true for me, I dream in code.

And also last night I dreamed I had an old yellow Toyota 4wd that ran away
from me while I was taking a piss, and I thought a bus full of kids was gonna
roll up on me.

I almost peed myself.