I need to create a customization in Kinetic to automatically open Memo Entry in PO Entry if there is already a memo. I cannot find any events or buttons in App Studio related to Memo Entry or any menu items with the Kinetic application for memo entry. Does anyone have any ideas how I can accomplish this?
I would take a look at the methods that load the PO when you first open one (use tracing). If you can find a method there, like GetDataset, or something, then you can trigger your BPM based on that event.
Inside your BPM create a condition on number of rows in query. Then setup the query to lookup the memos linked to the PO. You will have to open the memo table separately in a BAQ and study existing PO memos to make sure you submit the correct data to the correct fields for the query filter. For example, Memo.RelatedToFile, is usually the name of the form the memo was created on, and the Keys are elements that link back to the original PO.
Place a Show Message on the true side of the condition and test it until you get it working.
The next step is opening Memo entry with the memo loaded. I am not sure on this, but I think you can accomplish it with custom code. Something like ProcessCaller.LaunchForm(), but you will need some parameters for that I am not sure about. This is a bit of customization code in C# That I use to open the Engineering Workbench.
private void epiButtonC3_Click(object sender, System.EventArgs args)
{
oTrans.PushStatusText("Opening Engineering Workbench...", false);
LaunchFormOptions lfo = new LaunchFormOptions();
EpiDataView edv = (EpiDataView)this.oTrans.EpiDataViews["CallContextClientData"];
string myUserString = edv.dataView[0]["CurrentUserId"].ToString();
lfo.ValueIn = myUserString;
ProcessCaller.LaunchForm(oTrans, "SEGO6000", lfo);
oTrans.PushStatusText("Done!", false);
}
Good luck!
Got me curious as Memo Entry remains a mystery for me in Kinetic.
I was NOT able to “open” Memo Entry via App Studio. When you do it (from POHeader, for example), a slider opens with a kinetic version of Memo Entry… but there is not currently a MENU for this (in the Kinetic UI).
If you have edge agent installed, you could call the Classic version via an app-open widget in an event, but I couldn’t figure out how to get the Kinetic version to fire.
The best I could do, which may or may not work for you, is to prompt the user with a pop-up if Memo(s) exist for a particular PO. This would prompt them to click the little Memo icon and review them.
First, I created a DataView to hold the rows I request in my GetList rest call. That rest call will check to see if any memos exist for a given PONum.
Here’s the event I set up:
I set my trigger to be DataTable > ColumnChanged > KeyFields.PONum. That way it will trigger each time the user moves to a different PO within the UI.
I added a data-clear to wipe the MemoList dataview each time there is a PONum change, then made my rest-kinetic call.
Here’s the “Field Value” you will need for the whereClause:
RelatedToSchemaName = 'Erp' and RelatedToFile = 'POHeader' and Key1 = '{POHeader.PONum}'
No Request Parameters.
Below are the Response Parameters:
On Success of that rest call, I created a condition to see if any rows were returned (meaning that there were existing memos on the target POHeader).
So, if the row count == 0 … (true) do nothing. But on the FALSE side, I just added a message handler:
Results:
If I open a PO with no pre-existing memos… nothing happens.
If I open a PO with pre-existing memos… I get the below pop-up:
I asked Epicor about this a few months ago as we were upgrading to Kinetic and moving to all-Kinetic screens.
They told me that the memo slide-out panel comes from the framework and is therefore un-customizable in its Kinetic form.
Not the only example I’ve found of features being removed between the “upgrade” from 10.2.700 and 2024.2
Thank you! This is a great alternative