How do I know what the purpose of each adapter is? For example - JobPartAdapter - Is there documentation listing all of the BO’s and their purpose?
Next how do I properly use GetByID() - There are a bunch of overloads but I don’t necessarily understand them. Probably the most useful would get GetByID(parameters) - How do I use parameters with the GetByID method?
Ultimately I am trying to find the easiest way to query relevant data from an adapter.
Sadly, Jose is right… If indeed Epicor plumbers take notes, the union isn’t publishing them. It’s easy enough to view them in VS and go to definition and see the parameters, but it can be pretty cryptic. Contextual reference is the best I’ve come up with over time due to tracing or blind luck.
That’s the theoretical part of your request. if however, you are not satisfied by the some times insufficient short description provided, then you should move forward to the next level of research
Go to your Epicor ERP directory and find the BL Tester tool. It should be located under ERP10 > updates folder. Configure it to connect to your e10 TEST or DEV environment, switch company/user if needed, then load the Erp.Contracts.BO.JobPart.dll. You will get the list of methods and you can easily test them.
A more technical approach is to use tools such as ILSpy, JustDecompile, dotPeek or Reflector to look at the disassembled code of the “client BO/Adapter” (…\ERP10\LocalClients\ENV\Erp.Contracts.BO..dll) or “server” BO assembly (…\server\assemblies\Erp.Services.BO..dll) and try to figure it out what the method really does.
@rbucek No doubt the revolution isn’t being televised (an attempt at Election Day humor). I’ve pulled some hair out due to the fact that things don’t seems to be well documented, and when it is, it’s not the easiest to find in the E10 portal. This is especially frustrating when your company pays for a special module - and doesn’t even get documentation to use it
Once thing to note this documentation is for the BO’s the Adapters are an implementation of said BO’s and for the most part the signatures will be similar. But if you are working on a customization you want to use the Adapters and avoid using the BO’s directly.
The adapters are supported by Epicor on upgrades and less likely to break during an upgrade
So for customizations always try to use the adapter
Good information, thanks. I know that one of the unreasonable fears here is that my work will not move forward with upgrades. I am not saying that issues can’t arise but all of the fear here is based on moves in short order from 7 to 9 to 10 - which was brutal. I am fighting on my end to try to instill some confidence in myself, my work and E10 but it’s definitely an uphill battle. On a large scale conference call the other day, someone say “I hope the work that Chris is doing doesn’t get us fined by Epicor”… how do I combat that kind of ignorance?
Fined??? Smells like some rogue consultant or sales guy throwing some FUD to try to land a statement of work.
The handling of partners and customer code in general is a difficult process to manage and way above my pay grade
No place I have worked has handled it well. My son works for Sage, my daughter and son in law run SAP at their place (Yes, ERP is in the blood)… They suffer through the same issues. It’s a topic under discussion this week actually on changes but nothing to announce by any means, just a recognition of the pain folks like you are going through.
We have added a ton of new tooling to monitor breaking APIs that we rolled out internallyin 10.1. Someone breaks a method it gets lit up, emailed to heads of state and the dev gets pulled in front of a panel with hot lights to justify why they broke something a customer may rely upon. It’s a nice change to ensure easier migration for customers. The first target is ensuring safe patch releases (The two week rolling updates). More coming on cross version stability.
Code completion in Epicor doesn’t work LoL… it never has… (and it never will… ok maybe it will some day but its priority Z from what I’ve heard from a few of the Tools Devs)
Though you get REALLY good at knowing Syntax by heart this way hehe!
You can take your BPMs and write them in Visual Studio , and your customizations you can export the code and create a visual studio project with all 30 thousand references to write the code over there (and then paste it back)
But as far as “fixing” the Code Completion in Epicor… that’s not something that can be done without going into the core code of the framework and ripping out that editor / replacing it with a better one … (I did it, once , it was awful and painful and I could never condone it, it wasn’t worth it and it broke a lot of stuff (all the wizards))
I am brand new to ERP myself so I don’t have much to compare but I (despite the general loathing of my company) think Epicor has done a pretty good job with the infrastructure, and especially with the embedded development environment (minus documentation for said development).
@Bart_Elia what’s your take on recompiling external assemblies? I’ve been gun shy to date because I don’t want to have to recompile all those. Not sure if it would be required on those two week point releases or if it’s just major versions, like .500 or something. Either way how does one manage all that?
My disconnect so far with using VS for BPMs has been my lack of access to the server. I’ve really wanted to get setup at a minimum for the remote debugging for BPMs in VS but my IT team/Project Managers keep ignoring my requests.
@josecgomez.trigemco Might you have a project template that would save me the hassle of setting up all of the necessary references in VS?