MES - Indirect Activity, Resource Group ID problem

Epicor version - 9.05.701

Open MES,
Start an indirect activity and select an indirect code a resource group…when you select a resource group, you can “seemingly” search for a Resource Group ID too…However, my problem occurs here, it will always only return the top ResourceGroupID from the list of the ResourceGroup setup

So, If in Resource Group Setup i have a resource named MILLING, and there are 5 ResourceGroupIDs within it, MES will only ever return the first one in the list, you can see the others in MES, but it won’t actually select it.

Selecting the correct resourcegroupID would be actually really useful for us, we use the IDs as machines, so we would be able to see all sorts of data if we could get this part of MES working.

How do other companies get around this?
Is there a fix?
Has anybody done a customisation? If so, could anybody walk me through it? I have never customised MES before, only the front end of epicor itself.

Many thanks in advance.

Indirect labor doesn’t use the resource group or resource for anything we need, so I made them generic and hide that search button because floor users were trying to match them up.

Depending on what you want to capture you can make different indirect codes that are an activity and a machine.

Below are some snipits from code I use pre-processing on Labor.Update to change an employee’s department based on the indirect code. You can do this without any customization.

You could also add your own drop down or search using UDCodes and pick your machines from there and then use the bpm to put them into the labordtl record.

Attached is a customizing mes document I got from the vantage site. Also AnswerBook #: 6035MPS also covers this.


For each ttLaborDtl where ttLaborDtl.Company = cur-comp and (ttLaborDtl.Rowmod = ‘A’ or ttLaborDtl.rowmod = ‘U’) and ttLaborDtl.ActiveTrans = true no-lock.

            If ttLaborDtl.LaborType = "I" and              Integer(ttLaborDtl.IndirectCode) < 20 Then Do:

                            Find  First ResourceGroup NO-LOCK WHERE ResourceGroup.Company=EmpBasic.Company and ResourceGroup.JCDept = EmpBasic.JCDept no-error.

                            If Available ResourceGroup Then Do:

                                                            ASSIGN ttLaborDtl.ResourceGrpID = ResourceGroup.ResourceGrpID
                                                                            ttLaborDtl.ResourceGrpDescription = ResourceGroup.Description.

                                            ASSIGN ttLaborDtl.ResourceGrpID = "OEM"
                                                            ttLaborDtl.ResourceGrpDescription = "OEM JS".


                            /*this is a start transaction*/
                            If ttLaborDtl.RowMod = 'A' then do:

                                                            For First Indirect fields ( shortChar01) where Indirect.Company = cur-comp  and Indirect.IndirectCode = ttLaborDtl.IndirectCode no-lock.

                                                                                            If Indirect.ShortChar01 <> '' Then
                                                                                                                            Assign IndirectJC = substring(Indirect.ShortChar01,1,5) + EmpShift.
                                                                                                                            Assign IndirectJC = EmpBasic.JCDept.



customization of MES.docx (149 KB)

Thank you, i’ll take a read through and come back to you if i may if i get stuck

Just ran into this on E10. I added a UD field to the Indirect table to store the actual Resource ID (machine#) in our case. Every Indirect code/description will belong to a specific Resource ID (machine). When the code is selected in MES it can be tied to the actual resource ID. The machines each will have a barcoded/laminated doc of the Indirect codes to be used on that machine. I also created a simple query to report the data. This was an easy solution and works for us!