I am creating my own Blazor application that can be used out in the field for our techs. Long story short, they select a job and then clock in and out which then gets approved the next day. Once its approved, the approvee basically hits send to epicor. I have the UI functionality all working so my last piece is sending the data to epicor. I am messing with the LaborSvc endpoints at the moment hoping someone here can tell me the minimum fields for sending clock in/out data to the laborsvc.
I do have the trace tool and I see the endpoints being called. For example GetNewLaborDtlHed, however that is not in the odata side for LaborSvc of the documentation but the RPC side. RPC from what I understand, you have to supply everything where odata you can supply only a few fields if you can. It’s fine I will figure it out like I did with Parts. Thanks.
the OData Endpoint uses something called UpdateExt on the RPC side. This BO Function call is not always (I would say seldom) Enough for Most complex Bunsiness Objects.
Doing a trace and following it is the safest bet, you can (and I have) accidentally end up with an incomplete, half broken, and or deleted entitiy if you are unlucky enough to be on the receiving end of a half implemented UpdateExt
For something basic like UDXX, or even Part that might be ok, but for complex BOs like Shipping, Quoting, or Labor… I would stick to the trace.
Note that Epicor itself in both the classic and the new Kinetic Client is still using the RPC Endpoints because there is a TON of business logic within them.
PS: Don’t forget the Before Image that one is gnarly in the Labor BO
As @Mark_Wonsil mentioned before your best be is to write a Server Side function that takes the minimum data you have and then builds the records and calls the proper RCP methods server side.
You get to send minimum data on the front end
You call the proper BOs and don’t hit a wall
You save time by doing most / all the processing server side.