Introducing: The Function Executioner 🪓 (A Testing Tool)

Inspired by Insights and this gem from @klincecum

I decided it was time to finally get off my derriere and really learn how to use Application Studio. Like actually use it. Not just click around, move a label, and feel accomplished. I’ve been lucky to have the Queen of Kinetic herself, @hmwillett, on my team, so I’ve been coasting, clutching my beloved Classic screens like a security blanket. But alas, the time has come…

“The time has come for all good men (and women) to come to the aid of their crappy quasy finished ERP Ux experiment?.”

…that ERP being Kinetic, of course. The one we know, love, and roast daily.

So, for my first real Kinetic project, I decided to truly test my patience (and my will to live) by building a Dynamic Function Tester UX in App Studio.

And thus was born:
:drum: THE FUNCTION EXECUTIONER :axe:

(No, the name has nothing to do with the existential crises triggered by the tooling and my urge / desire to get a bit stabby…erm I mean cough…. Nothing at all. :neutral_face::zipper_mouth_face:)

After much weeping, gnashing of teeth, and gentle screaming into the void, I’m proud to say it works! And dare I say… works just as well as the Classic version we wrote a while back. Sure, I had to bend a few rules, maybe summon a few demons… but I made it through.

Kinetic and I aren’t friends yet. But we’re at least nodding acquaintances.

It should be able to run any function in your system (published or not) and it will generate a Parameter Entry Form via a Dynamic Panel regardless of the Parameter Types.

This was written in 2025.1 but if you need it for an older-version, I might be persuaded to try and back port it to 2024 (see below for 2024.1> compatible version)

Function Library (Required)
EFXRunner.efxb (7.2 KB) >= 2025.1
EFXRunner_2024.efxb (7.2 KB) >= 2024.1

Make sure that you give your Company Acccess to the Functions (after import) and that you promote it

(App and Layer)
The App is Called: Ice.UIDbd.FunctionTester (This was named before App Studio took all my will to live away)
FunctionExecutionerAppAndLayers.zip (6.4 KB) >= 2024.1

How to Import:
ImportLayers

Solution Workbench
If you have issues importing the Layer (After you try the above zip) try using this cab in solution workbench
FunctionExec_Customer Solution_4.3.100.0.cab (5.5 KB) >= 2024.1

If you play with it, enhance it, or have issues with it let me know!

31 Likes

Proud Of You Hero GIF by PBS KIDS

8 Likes

So…yeah.

Or, if it’s all in a single or few C# code block(s), could you share that?

The EFX is C# so that’s easy, the layers… welll that’s a different story. But… let me see if I can get it converted.

1 Like

Thanks! THIS is the part that interests me ATM, but if you do the layers, that would be cool too!!!

Here is the EFX for 2024.1>
EFXRunner_2024.efxb (7.2 KB)

The Layers Import Fine :slight_smile:

2 Likes

Thanks @josecgomez!

Chadd you are in 2023? or is that old? I don’t have a version that far back to back port :cry:

Only for a little while longer. Finishing up testing on 2024.

1 Like

Well done!
Let’s hope Epicor adds something similar in the “power tools”. Directly in functions maintenance would be great

We did a Customization for that Earlier that works great

3 Likes

I modified it a bit to be completely generic and can show you how to install it properly.
I’ll see if I can post that update today.

It’s fantastic.

2 Likes

I could tell y’all the real reason, but then I’d have to kill you.

Selena Gomez Death GIF by HULU

1 Like

One Generic Comment about something I ran into which I thought was interesting.

There is no built in tooling in the Epicor Back end to run a Generic Function. You can run specific imported functions (which give you very nice typed objects).

But there is no mechanism I could find to just run any arbitrary function back there. I had to get creative and go the REST route which isn’t great but it did allow me to stretch my creative muscle regarding authentication and API keys but… it works!

1 Like

That’s why I made one called Function Runner lol.

I’ve got one tiny bit of reflection to remove, but you can run whatever, whenever.

2 Likes

53 posts were split to a new topic: Function Executioner Debug Thread lol

Cleaned up the mess, if you want to go down the debug rabbit hole, go here:

https://www.epiusers.help/t/function-executioner-debug-thread-lol/125957

Back to praising Jose for his awesomeness.

flowers in the dirt yes GIF by Paul McCartney

4 Likes

This reply has Wings.

:wing: :wing: :wing: :wing:

EDIT: For the youngsters, “Paul McCartney and …”

4 Likes

I got it later lol

1 Like

That’s awesome can’t wait to try it out!