I have been trying to find a good solution to this request I have and still coming up blank on ideas. I am surprised there is not another article online covering this - or perhaps my searches have not been phrased correctly.
Purchasing is doing a lot with the Commodity Code (ID/Description fields) from the Part Entry menu. In short, they want to see these fields on the two lists in New PO Suggestions.
So far I have brought in the Commodity Code Description field as shown in the screen shot 1 to the main Detail tab. This works easily enough like any other FKV. Sadly adding the FKV does not also add it to the system data view for the Material List and Subcontract List tabs.
I found an article on another site which walked me through how to add new fields to the list as the other screen shots show. The one line of code brings in additional fields to the epiDataView system query and displays them correctly into the bound list (MtlSug).
What I really need help with is getting this new field to populate the right Commodity Code ID/Description values just like my FKV does on the Detail tab. As of now I see no way to do this other than a BPM that pulls in and writes the value to my new added field, but for that I have no idea where to begin.
Could really use some help in walking me through this. I really am surprised there is not an easier way to add fields to list views in Epicor.
@geofmcguire Maybe I am just lucky, but I have a ton of fields I added to SugPoDtl and they all appear in the list view of suggestions without me doing anything. I see this in all of my list views that UD fields are added based on the view.
I populate them in post process of POSugg.GetRowsPlant and then the data is part of the suggestion.
Hey thank you for getting back to me. So if I am following, you added UD fields somehow to the list views and they show up? How can you add UD fields to PO Suggestions if this is a data view and not pulling from the database? My understanding is that the list is based off the MtlSug data view - not the database.
Can you please walk me through how you did this - adding UD fields to the list views? That seems to be phase 1. Phase 2 would be as you mentioned creating a post processing BPM that pulls the data I need - Commodity Code ID/Description. I have not done this before either and would need to figure that out too.
Jose’s article reads to me like creating a new data view yourself based on the existing one and swapping them out. I do not want to do this. The checkbox fields, BPM logic, trying to clone the behind the scenes things that happen to provide New PO Suggestions and then create PO’s based on those selected rows sounds like a nightmare!
It should be a straight forward process to include additional fields into a list view. Locking them down and not letting users edit the query is rather restricting. As of now I see no way to do this without breaking New PO Suggestions entirely.
When the datasource is a collection… it’s always a pain.
I have used variations on all of the approaches below to skin this cat.
Or there is an old fashioned way of manually adding the column(s) to the datagrid when the form loads, and then populate values ONE ROW AT A TIME whenever the dataview initializes/changes.
Realtively easy to build and works BUT, if you have a lot of suggestions, refresh times can be pretty noticeable.
Here is a really old example from V8 - adding a column to a TimePhas grid ( VB instead of C# ) TimePhas - Collection Grid - Add related columns.doc (226 KB)
@geofmcguire Most data collections are still based on a table or view. I added the fields to SugPoDtl table. Regened the schema and the fields are in the list view. Most of these fields are from 9, but I added one recently and it appeared without any extra work needed.
Thank you both for the feedback. Will do a little testing and post findings. Jose’s statement about a BPM to query and return values one row at a time seems like it would drastically increase loading time for results.
Greg with your suggestion, assuming I can go in and add two new UD fields to the SugPODtl table in the database, regen the schema just like you do with any new fields created, and the fields show up how do you populate the values? In my case, I would be returning the Commodity Code ID/Description fields from Part Entry and populate the UD fields with those values. Would this not also be a BPM get data from table or something similar?