How Can I Add Change Log to Kinetic UI?

How can we add a change log viewer to the Kinetic UI? Our folks are looking to see Price List Part changes, and it’s not available on the Price List Inquiry screen.

Here’s how for classic E10 (thanks @hkeric.wci!): Change Log Viewer - Manual Add?

Thanks!

If you can’t get the actual tool added to the screen, you should be able to create a BAQ for the change log data and bring it in as a BAQDataview.

1 Like

@zwilli526 - Thanks. That’s a good idea.

@hmwillett - As the resident Kinetic guru, have you come across this need yet?

Are you ready for this?

image

First step is to create a DataView to hold the change log data.

Next, on the screen that holds the title, click the title bar and go to the properties.
At the bottom, there will be a blue “Add Tool” button. Clicky de button and create your tool.

Next, create a slide-out panel to show the grid.

Add a panel card grid and bind the grid model to the DataView you made (I called mine ChgLog).
Show whatever you columns you need (I highly suggest this or you’ll get a ton of columns squished together).


Next, create a new event to populate the grid. This will be “OnClick” for your Change Log Tool.

Configure the rest-erp widget.





Finally, add the slider-open widget to open your new change log.

Annnnnnnnnnnnnnnnnnnd voila.

So, natively, Epicor made the DateStampedOn a link which, when clicked, opens yet another slide-out panel that holds a multi-row text box to show the log text. You could add another grid below to subscribe to the main panel to do something similar OR, if you’re lazy like me, I just added the log text to a column.

4 Likes

Hot damn! Thanks Hannah!

I was going through the Insights workbook course ‘Converting Popular Classic Customizations to the new Epicor Kinetic UX using Functions, BPMs and Application Studio’ which was about attaching a BAQ to a Kinetic screen, so this is very similar. I had created a BAQ to drive my DataView, but if this can do it on the fly, it seems even better. Your version is way better with real screen shots (compared to the Insights book).

If I want to (uhh, need to? It takes 10 minutes to load 55k change log records in Price List Entry, hello Epicor!) filter out the change log results to the part number contained in the Key2 field (%PartNum% for example), do I do that in the DataView tab with Parent Child Relationships? Is that the Kinetic version of Publish and Subscribe?

I just grabbed the top one, ignore the KeyFieldParams name, I haven’t created my ChangeLog dataview yet:

Thanks!

1 Like

Alright, so I felt uncomplete.
Here’s some steps to add the link to open the details…

Add a slide-out panel for the details.

Add a panel card with a single column container and a multi-area text box.
Bind that text box to your DataView.LogText and make it read-only.

In the original slide out with the Change Log header info, go to the columns of the grid, select one, then mark Is Link.

Create an event with a trigger of Grid > On click. Set the Target to your Change Log dataview and the column to the one you made a link.

Add a slide-out widget and pass it the Change Log Details slide-out you just created.

And, by George, it does stuff! (I didn’t set the read-only property when I took the screenshot)

3 Likes

Yeah–that’s an issue. @josecgomez was just explaining this to me since I had the same issue loading the results of UD103.
So, the rest widget is looking for a SysRowID which… it ignores. :rofl:
It’s, instead, only looking at Key1, which may not be unique.

My recommendation would be to change up my steps a bit. Create a BAQ that loads the Change Log info, create a BAQ View in App Studio for it, and then use the erp-baq widget to populate your view by passing in Keys 1-5 or whatever is needed. The rest should be the same.

2 Likes

I’m always thrilled when @hmwillett has already written a complete example for the exact thing I am trying to do! Well almost the exact same thing - in our case, we only want to display change log entries related to a specific field in the table, so there is a BAQ to parse that out of the change log, but otherwise the same goal.

I tried to set it up with a BAQ view and call the erp-baq widget when clicking on the tool to load the data. When I did it that way, it took 15+ seconds for a single record to load. The only key value is orderhed_ordernum.

Then I redid my grid binding it directly to the BAQ with a where clause, and it loads in about 2 seconds.

I’m curious why? Did you ever get around to trying your own recommendation and did it work for you?

Of course binding the grid directly to the baq isn’t a solution, because you can’t bind a text area to the baq, so you do still have to have a baq view to get the actual log entry into a viewable area.

You can call a BAQ to get data and populate a dataview and then bind that to a text box. It’s just a DataView. You can also return the last n change log records into BPMCallContext if you wanted and bind to that. However, we should have a simpler way to enable change log in the apps.

1 Like

Great work Hannah!

1 Like

Right that’s what I did- that took 15+ seconds to load the data view from the BAQ vs 2 seconds to bind the grid directly to the BAQ. I can’t figure out why. And binding directly to the BAQ isn’t a solution because I can’t do that in the text area, only in the grid. I need the text area because you can’t see the full log text in the grid itself.

Finally figured this out. If I put the criteria in the data view itself it takes for.ev.er to load. But if I don’t define a parent-child relationship in the data view, and instead put the criteria in the BAQ execution options in the baq-erp widget, it takes a normal amount of time to run.

1 Like