I’m trying to use UD03 table to store a list of records related to a parent object/record. In this case it’s on the Part application. I’m using the Key1 value to store PartNum for a foreign key. I want to be able to interact with this list just like I would line items on a sales order, with the ability to add/edit/delete. So far I’ve created the view and used the “guided setup” on the grid to set the binding, but when I preview the app it doesn’t load the related rows in the UD03 table. I also am unable to add new rows via the + button.
Has anyone used this approach before? Is there a better way to manage child records and the parent-child relationship with a UD table?
Do you have an event to populate the dataview? If so, is it firing?
How did you create this DataView? if you used the Wizard, it may have created a “get” event for you, but it would have left the trigger blank for you to define… or you can call it in a different event using event-next.
Search your events for one called ProdLineView_Get. I think that’s how the Wizard creates them.
Do you have an event to call the rest-erp Ice.BO.UD03Svc, GetaNewUD03 method? If so, is it firing?
David,
When using the Data View Guided Setup my two options for Source Type are BAQ or BO Service Call. If I choose BO Service Call it doesn’t include the Ice.BO methods, just Erp.BO. So I have to choose BAQ. Am I already at a dead end or do I go with the BAQ route? I do have an updatable BAQ ready to go if needed.
Any recommendations on which event to use? If I use DataView Viewchanged I get an error when the Part loads. I also tried Window OnLoad and the list didn’t populate. Also Event.AfterInitKeyFields and also returned an empty list.
If I use the following settings in provider model then it populates the list…
But I’m thinking if I can get the event to work that it’s probably the stronger approach?
Watching the events fire this morning, you might try After - AfterGetByID. That seems to be the last major event after a PartNum is entered.
You need the Part to be loaded so your UD03 table can use the Part.PartNum (or, probably KeyFields.PartNum) as its Key01 (based on what you said earlier).
See if that works. If it does, you may also want to test whether your UD03 dataview repopulates correctly when you change the PartNum on the main form (pull up a second, different part). It looks like if you used After-AfterGetByID, you would still capture the Key Field Change events as they occur before the AfterGetByID.
I tried Trigger → Event → After → AfterInitialize and I get an error when the list loads.
I noticed that with any of the events I choose, if I go back to the part list, then pick another part then the grid loads all the columns of the UD03 Dataview, but no rows of data. Maybe I’ll just stick with the Provider Model solution for loading the rows?
Once I get this part done it feels like I’m only 30% of the way there. Still need to be able to add/modify/delete from this list and it appears that’s all very customized as well.
I hate to waste more of your time. It’s frustrating that customizations like this can’t be more intuitive and straightforward like they are in other ERP systems. I guess I need to find a Kinetic consultant somewhere that can walk me through the customization over the phone so I can get this done and move on.
I’m assuming your Part Entry is already customized (most are). When I look at my list… I see AfterGetByID as an option… but I DON’T see AfterDelete as an option (which is included in your above screen capture).
The reason (I think) is because I already have a custom event in my system that is using the After-AfterDelete combination.
Oh right! Yes that’s why it’s missing. I’m using it with some other custom code.
And now I’m stuck just trying to think through the best way to design a new custom event that registers the AfterGetByID trigger and can be used for multiple other custom events. I’m not convinced there’s a great way to do this right now. The best solution would be to allow multiple registrations of the same trigger/event.
I’ve contacted an independent consulting firm and will see if they can help me.
David,
An update…it appears there is a bug in 2023.1 with this functionality. I connected with a company that has many Epicor clients and we went through these customization steps in 2023.1 and 2024.1 in parallel and the exact same customization in 2024.1 works. The tech also tested in another 2023.1 environment in case there was something special about ours and he reproduced the issue in the other environment. Next I’m looking into whether or not the issue is resolved in 2023.2. I’d consider updating directly to 2024.1 but I hear there are some significant client-side changes that will require some conversation internally before we move to that version.