Im stumped BPM started to work only after recompile

Hey Friends!

We have an issue in 2024.1.10 where users cannot update a supplier in supplier entry (updating an address). After asking support to look up the correlation ID for us we see the following error:

<Exception><![CDATA[System.TypeLoadException: Method 'GetSelfBillingVendorList' in type 'Epicor.Customization.Bpm.BO.VendorSvcCustomization' from assembly 'Erp.BO.Vendor.Update, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
   at Epicor.Customization.Bpm.BO.VendorSvcCustomizationFactory.CreateImplementationCore(ErpContext context, IFunctionsCatalog functionsCatalog, Object defaultImplementation)
   at Epicor.Customization.Bpm.SvcFacadeBase`3.GetImplementation(String methodName) in C:\_releases\ICE\ICE4.3.100.0\Source\Server\Customization\Epicor.Customization.Bpm\SvcFacadeBase.Generic.cs:line 105
   at Erp.Services.BO.VendorSvcFacade.Update(VendorTableset& ds) in C:\_releases\ERP\ERP11.3.100.10\Source\Server\Services\BO\Vendor\Resources\Strings.Designer.cs:line 47
   at InvokeStub_VendorSvcFacade.Update(Object, Object, IntPtr*)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

We have the same bpms in pilot and do not observe this issue.

You tried disabling the BPMs in production just to make sure that was the cause?

Looks like it’s missing. Import from pilot, or if it is there, open it up, edit it and save to force a recompile.

4 Likes

Re saving the bpms resolved the issue. Woohoo. Wonder why the upgrade corrupted them.

Heart Love GIF by The Bachelorette

1 Like

Every upgrade/update, I always rebuild all the directives. Every. Single. Time.

Schitts Creek Thank You GIF by CBC

9 Likes

Hey Jeff - as a reminder, System Admins are now able to retrieve the Server Logs (and view the Correlation ID error messages) by downloading the Server log via the Server File Download UI. For System Admins, the Log files can be found under the “Admin” folder option.

6 Likes

Does the cloud team run the BPM recompile as part of the upgrade process, @Rich ? As @Mark_Wonsil pointed out, I also have always ran that after upgrades on prem. Is the Cloud team running this process?

TLDR: Immediately after running the BPM recompile process ourselves after the SAAS upgrade, the issue was fixed.

1 Like

We usually recompile it on-prem ourselves. If I had to guess your BPM may have been broken because Epicor did change the XAML structure and you can via server .config files revert back to the old XAML. However the Conversion Workbench should have ran an Upgrade XAML process when it upgrades all the BPMs, EFXs, BAQs…

Thats my only assumption why your BPM may have been broken. But then again the new XAML structure isn’t brand new, unless they made more changes in .patch level to it, maybe to resolve some RDD issues or something.

1 Like