Change Log Viewer - Manual Add?

Greetings All.
Working on E10, version User wants to manually add to change log. I have BPM to collect data, so the viewer is accurate. The “New” icon does not work in Viewer, so I am wondering if that is even an available option. Any of you folks know if it is a rights issue or a somethin’ somethin’?

1 Like

What Screen / Table?

You should be able to add this to your Initialization - Example for UD100 to make the ChgLog Icon available.

new ChangeLogHelper(this.UD100Form).AddViewToWatch(this.oTrans.Factory("UD100"));
baseToolbarsManager.Tools["ChangeLogTool"].SharedProps.Enabled = true;

If you already have it available and are actually trying to manually add a ChgLog Row; not sure if that is supported. You should look more for the Memo or Audit type of icons.


it was in part tracker. used to be able to add in E9. thank you for the code and quick response! I will check for the memo icons.

@hasokeric - Would I be able to do something similar to add Memo capability to the AP Payment Entry module? Our finance team would like a place to record notes about the payment.

When you mention ‘add to your Initialization’ - Is that just pasting the code into the Script tab when customizing the UI? I’m a noob (and learning!).

Here’s details from a memo attached to a sales order:

Update - Found this link: Add memo for a UD Table. A little over my head at the moment, but will squirrel this away for after our 10.2 upgrade is complete.


1 Like

Theres several ways to Launch the Memo Form. You can give it a try:

To your Form_Load event you add:

// Enable MemoTool
new CustomMemoHelper(this.UD100Form).AddViewToWatch(this.oTrans.Factory("UD100"));
baseToolbarsManager.Tools["MemoTool"].SharedProps.Enabled = true;
baseToolbarsManager.Tools["MemoTool"].SharedProps.Visible = true;

OUTSIDE of class Script {} (after or before) you create a new Class:

public class CustomMemoHelper : MemoHelper
	public CustomMemoHelper(EpiBaseForm form) : base(form)

	protected override void LaunchMemoEditor()
		EpiTransaction transaction = (EpiTransaction)this.Transaction;
		EpiDataView dv = ((EpiDataView)(transaction.EpiDataViews["UD100"]));
		DataRow dr = dv.CurrentDataRow;
		//this.LaunchMemoEditor(dr["Key1"].ToString(), dr["Key2"].ToString(), dr["Key3"].ToString(), "", "", "");
		this.LaunchMemoEditor(dr["Key1"].ToString(), "UD100:");
		//this.LaunchMemoEditor(Key1, Key2, Key3, Key1_Description, Key2_Description, Key3_Description);

Now the problem described for UD100 tables which may not be a problem for APInvHead IS that when you hit Add New Memo Epicor Checks ZDataTable to see if the Description looks like this

If it does then it checks permissions to see if it can run


Not sure what else you have to do for a UD100 table! But you might have no issues doing it for APInvHead since I see

APInvHed	<MemoMethod:APInvoice>         Accounts Payable Invoice Header. DELETE: Not allowed if Posted.

Here is how I have forced change log entries:

  1. create a new UD Field on your data record that holds the “last” entry in the change log
  2. create a BPM Form and a bpm that forces user to enter something into the form on save… the contents of the form poulate the UDField above.
  3. AND track changes to this field.
    This will force a “reason” for each time the record is saved, and you get a history of changes.

@hasokeric - Fantastic! Can’t wait to try this. Thank you.

@timshuwy - Another good one to bookmark when someone asks for a new change log field. Thanks.